<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit/parsing.c, branch ch/dynamic-aging</title>
<subtitle>A hyperfast web frontend for git repositories written in C.</subtitle>
<id>http://git.cetero.st/cgit/atom/parsing.c?h=ch%2Fdynamic-aging</id>
<link rel='self' href='http://git.cetero.st/cgit/atom/parsing.c?h=ch%2Fdynamic-aging'/>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/'/>
<updated>2020-10-20T21:57:12Z</updated>
<entry>
<title>global: replace hard coded hash length</title>
<updated>2020-10-20T21:57:12Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2020-10-20T21:46:09Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=a4de0e810b69710c3b32f6d253d80d16dec09f36'/>
<id>urn:sha1:a4de0e810b69710c3b32f6d253d80d16dec09f36</id>
<content type='text'>
With sha1 we had a guaranteed length of 40 hex chars. This changes now
that we have to support sha256 with 64 hex chars... Support both.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>global: replace references to 'sha1' with 'oid'</title>
<updated>2020-10-20T21:57:12Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2020-10-20T21:32:45Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=779631c6dc23c15bbbf45a7c7ab9fffb619037b7'/>
<id>urn:sha1:779631c6dc23c15bbbf45a7c7ab9fffb619037b7</id>
<content type='text'>
For some time now sha1 is considered broken and upstream is working to
replace it with sha256. Replace all references to 'sha1' with 'oid',
just as upstream does.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.24.0</title>
<updated>2019-11-08T21:55:58Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2019-10-23T21:21:54Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=bfabd4519c80f39eedba3dd5d522563899e364c9'/>
<id>urn:sha1:bfabd4519c80f39eedba3dd5d522563899e364c9</id>
<content type='text'>
Update to git version v2.24.0.

Never use get_cached_commit_buffer() directly, use repo_get_commit_buffer()
instead. The latter calls the former anyway. This fixes segmentation fault
when commit-graph is enabled and get_cached_commit_buffer() does not return
the expected result.

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>git: update to v2.19.1</title>
<updated>2018-10-12T21:06:02Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-08-28T16:27:00Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=2c9f56f3e1c754f60ccffbc6c745b9d5a81ea005'/>
<id>urn:sha1:2c9f56f3e1c754f60ccffbc6c745b9d5a81ea005</id>
<content type='text'>
Update to git version v2.19.1. Required changes follow upstream commits:

* commit: add repository argument to get_cached_commit_buffer
  (3ce85f7e5a41116145179f0fae2ce6d86558d099)

* commit: add repository argument to lookup_commit_reference
  (2122f6754c93be8f02bfb5704ed96c88fc9837a8)

* object: add repository argument to parse_object
  (109cd76dd3467bd05f8d2145b857006649741d5c)

* tag: add repository argument to deref_tag
  (a74093da5ed601a09fa158e5ba6f6f14c1142a3e)

* tag: add repository argument to lookup_tag
  (ce71efb713f97f476a2d2ab541a0c73f684a5db3)

* tree: add repository argument to lookup_tree
  (f86bcc7b2ce6cad68ba1a48a528e380c6126705e)

* archive.c: avoid access to the_index
  (b612ee202a48f129f81f8f6a5af6cf71d1a9caef)

* for_each_*_object: move declarations to object-store.h
  (0889aae1cd18c1804ba01c1a4229e516dfb9fe9b)

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>parsing: ban sprintf()</title>
<updated>2018-09-11T06:47:12Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-08-28T16:14:32Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=60a930044d57faae4fcb84cba9d85310b0c767a7'/>
<id>urn:sha1:60a930044d57faae4fcb84cba9d85310b0c767a7</id>
<content type='text'>
Git upstream bans sprintf() with commit:

  banned.h: mark sprintf() as banned
  cc8fdaee1eeaf05d8dd55ff11f111b815f673c58

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<entry>
<title>parsing: ban strncpy()</title>
<updated>2018-09-11T06:47:12Z</updated>
<author>
<name>Christian Hesse</name>
<email>mail@eworm.de</email>
</author>
<published>2018-08-28T16:11:50Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=7cde5885d8ce53359ee665bb930b1da956e8369a'/>
<id>urn:sha1:7cde5885d8ce53359ee665bb930b1da956e8369a</id>
<content type='text'>
Git upstream bans strncpy() with commit:

  banned.h: mark strncpy() as banned
  e488b7aba743d23b830d239dcc33d9ca0745a9ad

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;
</content>
</entry>
<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>
</feed>
