<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit/parsing.c, branch jd/render-filter</title>
<subtitle>A hyperfast web frontend for git repositories written in C.</subtitle>
<id>http://git.cetero.st/cgit/atom/parsing.c?h=jd%2Frender-filter</id>
<link rel='self' href='http://git.cetero.st/cgit/atom/parsing.c?h=jd%2Frender-filter'/>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/'/>
<updated>2018-06-27T16:13:03Z</updated>
<entry>
<title>git: update to v2.18.0</title>
<updated>2018-06-27T16:13:03Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-06-04T16:49:28Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=255b78ff5291cef79978b025c9872f801de89e23'/>
<id>urn:sha1:255b78ff5291cef79978b025c9872f801de89e23</id>
<content type='text'>
Update to git version v2.18.0. Required changes follow upstream commits:

* Convert find_unique_abbrev* to struct object_id
  (aab9583f7b5ea5463eb3f653a0b4ecac7539dc94)
* sha1_file: convert read_sha1_file to struct object_id
  (b4f5aca40e6f77cbabcbf4ff003c3cf30a1830c8)
* sha1_file: convert sha1_object_info* to object_id
  (abef9020e3df87c441c9a3a95f592fce5fa49bb9)
* object-store: move packed_git and packed_git_mru to object store
  (a80d72db2a73174b3f22142eb2014b33696fd795)
* treewide: rename tree to maybe_tree
  (891435d55da80ca3654b19834481205be6bdfe33)

The changed data types required some of our own functions to be converted
to struct object_id:

  ls_item
  print_dir
  print_dir_entry
  print_object
  single_tree_cb
  walk_tree
  write_tree_link

And finally we use new upstream functions that were added for
struct object_id:

  hashcpy     -&gt; oidcpy
  sha1_to_hex -&gt; oid_to_hex

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
Reviewed-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
<entry>
<title>parsing: don't clear existing state with empty input</title>
<updated>2017-10-14T12:31:18Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2017-10-14T12:02:53Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=9d751e7eec4f4bc7292be46f2af774fe1adf336a'/>
<id>urn:sha1:9d751e7eec4f4bc7292be46f2af774fe1adf336a</id>
<content type='text'>
Since commit c699866 (parsing: clear query path before starting,
2017-02-19), we clear the "page" variable simply by calling
cgit_parse_url() even if the URL is empty.  This breaks a URL like:

	.../cgit?p=about

which is generated when using the "root-readme" configuration option.

This happens because "page" is set to "about" when parsing the query
string before we handle the path (which is empty, but non-null).

It turns out that this is not the only case which is broken, but
specifying repository and page via query options has been broken since
before the commit mentioned above, for example:

	.../cgit?r=git&amp;p=log

Fix both of these by allowing the previous state to persist if PATH_INFO
is empty, falling back to the query parameters if no path has been
requested.

Reported-by: Tom Ryder &lt;tom@sanctum.geek.nz&gt;
Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
<entry>
<title>parsing: clear query path before starting</title>
<updated>2017-08-10T14:05:07Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2017-02-19T12:17:05Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=c699866699411346c5dba406457581013f85a873'/>
<id>urn:sha1:c699866699411346c5dba406457581013f85a873</id>
<content type='text'>
By specifying the "url" query parameter multiple times it is possible to
end up with ctx.qry.vpath set while ctx.repo is null, which triggers an
invalid code path from cgit_print_pageheader() while printing path
crumbs, resulting in a null dereference.

The previous patch fixed this segfault, but it makes no sense for us to
clear ctx.repo while leaving ctx.qry.path set to the previous value, so
let's just clear it here so that the last "url" parameter given takes
full effect rather than partially overriding the effect of the previous
value.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
<entry>
<title>parsing: add timezone to ident structures</title>
<updated>2016-02-08T13:20:08Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2016-01-19T19:33:02Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=45c87ca1c32dcd5ffd4a681fadf05627d9ce7770'/>
<id>urn:sha1:45c87ca1c32dcd5ffd4a681fadf05627d9ce7770</id>
<content type='text'>
This will allow us to mimic Git's behaviour of showing times in the
originator's timezone when displaying commits and tags.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
<entry>
<title>git: update to v2.7.0</title>
<updated>2016-01-13T16:12:17Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2016-01-05T06:38:53Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=559ab5ecc4445c8477ecf62c9fc97efa412dd562'/>
<id>urn:sha1:559ab5ecc4445c8477ecf62c9fc97efa412dd562</id>
<content type='text'>
Update to git version v2.7.0.

* Upstream commit ed1c9977cb1b63e4270ad8bdf967a2d02580aa08 (Remove
  get_object_hash.) changed API:

  Convert all instances of get_object_hash to use an appropriate
  reference to the hash member of the oid member of struct object.
  This provides no functional change, as it is essentially a macro
  substitution.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>Drop return value from parse_user()</title>
<updated>2015-03-05T14:54:47Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2015-03-05T11:58:12Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=3cb8e762780cb4bd8dc9d330d549e36d65ad4335'/>
<id>urn:sha1:3cb8e762780cb4bd8dc9d330d549e36d65ad4335</id>
<content type='text'>
In commit 936295c (Simplify commit and tag parsing, 2015-03-03), the
commit and tag parsing code was refactored. This broke tag messages in
ui-tag since the line after the tagger header was erroneously skipped.
Rework parse_user() and skip the line manually outside parse_user().

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>Remove leading newline characters from tag messages</title>
<updated>2015-03-05T14:54:34Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2015-03-05T11:58:11Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=4d8ed337cb07121cdd6d0041565cf741a9be526a'/>
<id>urn:sha1:4d8ed337cb07121cdd6d0041565cf741a9be526a</id>
<content type='text'>
Fixes a regression introduced in commit 936295c (Simplify commit and tag
parsing, 2015-03-03).

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>Simplify commit and tag parsing</title>
<updated>2015-03-03T15:47:30Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2015-03-03T12:00:07Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=936295c4e4de8da83701c67377a911a0aefbcbd6'/>
<id>urn:sha1:936295c4e4de8da83701c67377a911a0aefbcbd6</id>
<content type='text'>
* Use skip_prefix to avoid magic numbers in the code.
* Use xcalloc() instead of xmalloc(), followed by manual initialization.
* Split out line splitting.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>Use split_ident_line() in parse_user()</title>
<updated>2014-12-24T08:38:28Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2014-12-24T07:50:11Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=6f9e8a9659996281248c9002497148d489003bce'/>
<id>urn:sha1:6f9e8a9659996281248c9002497148d489003bce</id>
<content type='text'>
Use Git's built-in ident line splitting algorithm instead of
reimplementing it. This does not only simplify the code but also makes
sure that cgit is consistent with Git when it comes to author parsing.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.0.3</title>
<updated>2014-07-28T00:01:35Z</updated>
<author>
<name>John Keeping</name>
<email>john@keeping.me.uk</email>
</author>
<published>2014-07-27T10:56:19Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=865afe0eb1b5e6485fe0f65472e6635266e393b1'/>
<id>urn:sha1:865afe0eb1b5e6485fe0f65472e6635266e393b1</id>
<content type='text'>
This is slightly more involved than just bumping the version number
because it pulls in a change to convert the commit buffer to a slab,
removing the "buffer" field from "struct commit".  All sites that access
"commit-&gt;buffer" have been changed to use the new functions provided for
this purpose.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;
</content>
</entry>
</feed>
