<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/bin/1sh/tests/set-e/Makefile, branch master</title>
<subtitle>dontfiles
</subtitle>
<id>https://git.causal.agency/src/atom?h=master</id>
<link rel='self' href='https://git.causal.agency/src/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.causal.agency/src/'/>
<updated>2020-03-09T08:03:18+00:00</updated>
<entry>
<title>Remove extraneous files from sh sources</title>
<updated>2020-03-09T08:03:18+00:00</updated>
<author>
<name>June McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2020-03-09T08:03:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/src/commit/?id=91f06c38c1dd8fd7c8f71637128faf6dbc9b460e'/>
<id>urn:sha1:91f06c38c1dd8fd7c8f71637128faf6dbc9b460e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Import /usr/src/bin/sh from FreeBSD 12.1-RELEASE</title>
<updated>2020-03-09T08:00:31+00:00</updated>
<author>
<name>June McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2020-03-09T08:00:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/src/commit/?id=40b33b6b04d81d2c6ca52175a83c31fa1bc91621'/>
<id>urn:sha1:40b33b6b04d81d2c6ca52175a83c31fa1bc91621</id>
<content type='text'>
</content>
</entry>
</feed>
> <a href='/cgit-pink/'>summary</a> <a href='/cgit-pink/refs/?id=0c4d76755b98bb597279a1930bf4c69eca7dde62'>refs</a> <a class='active' href='/cgit-pink/log/ui-tree.h?showmsg=1&amp;follow=1'>log</a> <a href='/cgit-pink/tree/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62'>tree</a> <a href='/cgit-pink/commit/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;follow=1'>commit</a> <a href='/cgit-pink/diff/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;follow=1'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit-pink/log/ui-tree.h'>
<input type='hidden' name='id' value='0c4d76755b98bb597279a1930bf4c69eca7dde62'/><input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit-pink/log/?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;showmsg=1&amp;follow=1'>root</a>/<a href='/cgit-pink/log/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;showmsg=1&amp;follow=1'>ui-tree.h</a> (<a href='/cgit-pink/log/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;showmsg=1'>unfollow</a>)</div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/cgit-pink/log/ui-tree.h?id=0c4d76755b98bb597279a1930bf4c69eca7dde62&amp;follow=1'>Collapse</a>)</th><th class='left'>Author</th></tr>
<tr class='logheader'><td><span title='2015-08-13 15:38:35 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-tree.c?id=7105a78b17b118866aee77735e26cffcd1fd08fd&amp;follow=1'>ui-tree: use "sane" isgraph()</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Git's git-compat-util.h defines a "sane ctype" that does not use locale
information and works with signed chars, but it does not include
isgraph() so we have included ctype.h ourselves.

However, this means we have to include a system header before
git-compat-util.h which may lead to the system defining some macros
(e.g. _FILE_OFFSET_BITS on Solaris) before git-compat-util.h redefines
them with a different value.  We cannot include ctype.h after
git-compat-util.h because we have defined many of its functions as
macros which causes a stream of compilation errors.

Defining our own "sane" isgraph() using Git's sane isprint() and
isspace() avoids all of these problems.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:38:03 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.h?id=e09574bdf6cfbd21ff0a58a18f34d4a11db824d7&amp;follow=1'>cgit.h: move stdbool.h from ui-shared.h</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Follow the Git policy of including system headers in only one place.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:37:42 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/cache.c?id=43620cf6aa62decaf319d00c28297e3b87a4da78&amp;follow=1'>cache.c: fix header order</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
git-compat-util.h may define values that affect how system headers are
interpreted, so move sys/sendfile.h after cgit.h (which includes
git-compat-util.h).

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:37:28 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/configfile.c?id=f2e8ca806d43acbfd9bef53f1a3ee5ce95ff32e7&amp;follow=1'>configfile.c: don't include system headers directly</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
git-compat-util.h may define various values that affect the
interpretation of system headers.  In most places we include cgit.h
first, which pulls in git-compat-util.h, but this file does not depend
on anything else in CGit, so use git-compat-util.h directly.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:36:53 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-summary.c?id=157f544ac2149a985b0f62e9381a759c0ae252ec&amp;follow=1'>Remove redundant includes</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
These are all included in git-compat-util.h (when necessary), which we
include in cgit.h.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:36:37 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/Makefile?id=0393102249c30f62c8f061062bc4a9ba962b6910&amp;follow=1'>Makefile: include Git's config.mak.uname</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
This pulls in the correct value of $(INSTALL) on a wide variety of
systems.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 15:36:18 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/tests/Makefile?id=2ef4edee19c3f935dfffc3e0f4a56f5e2f183fa4&amp;follow=1'>tests: allow shell to be overridden</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
On some systems (e.g. Solaris), /bin/sh is not a POSIX shell.  Git
already provides suitable overrides in its config.mak.uname file and we
provide cgit.conf to allow the user to further change this.

The code for this is taken from Git's t/Makefile, meaning that we now
invoke the tests in the same way that Git does.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-13 11:39:23 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.c?id=c0b59823035efc136a82a96094d164a979d9b2e9&amp;follow=1'>redirect: cleanliness</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2015-08-13 11:39:20 +0200'>2015-08-13</span></td><td class='logsubject'><a href='/cgit-pink/commit/cmd.c?id=622e64d5f2c56543f56438cb7a705c9023bec269&amp;follow=1'>redirect: be more careful for different cgi setups</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2015-08-12 17:43:08 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-log.c?id=da1d4c77760ff6a0eb5cbfbaf6956930089d1963&amp;follow=1'>ui-log: fix double counting</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
This crept in while rebasing the previous commit onto an updated
upstream.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 16:57:46 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-tree.c?id=30304d8156a72ffc95e45e1aa9407319b81bd253&amp;follow=1'>log: allow users to follow a file</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Teach the "log" UI to behave in the same way as "git log --follow", when
given a suitable instruction by the user.  The default behaviour remains
to show the log without following renames, but the follow behaviour can
be activated by following a link in the page header.

Follow is not the default because outputting merges in follow mode is
tricky ("git log --follow" will not show merges).  We also disable the
graph in follow mode because the commit graph is not simplified so we
end up with frequent gaps in the graph and many lines that do not
connect with any commits we're actually showing.

We also teach the "diff" and "commit" UIs to respect the follow flag on
URLs, causing the single-file version of these UIs to detect renames.
This feature is needed only for commits that rename the path we're
interested in.

For commits before the file has been renamed (i.e. that appear later in
the log list) we change the file path in the links from the log to point
to the old name; this means that links to commits always limit by the
path known to that commit.  If we didn't do this we would need to walk
down the log diff'ing every commit whenever we want to show a commit.
The drawback is that the "Log" link in the top bar of such a page links
to the log limited by the old name, so it will only show pre-rename
commits.  I consider this a reasonable trade-off since the "Back" button
still works and the log matches the path displayed in the top bar.

Since following renames requires running diff on every commit we
consider, I've added a knob to the configuration file to globally
enable/disable this feature.  Note that we may consider a large number
of commits the revision walking machinery no longer performs any path
limitation so we have to examine every commit until we find a page full
of commits that affect the target path or something related to it.

Suggested-by: René Neumann &lt;necoro@necoro.eu&gt;
Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 16:57:30 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/shared.c?id=044e2d26da4f8b4f9ff25e4a729ab4e393073b5e&amp;follow=1'>shared: make cgit_diff_tree_cb public</a></td><td>John Keeping</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
This will allow us to use this nice wrapper function elsewhere, avoiding
dealing with the diff queue when we only need to inspect a filepair.

Signed-off-by: John Keeping &lt;john@keeping.me.uk&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 15:16:05 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/tests/t0110-rawdiff.sh?id=2d386e227e0b75474efcfe82e9fec7d0f21c6df4&amp;follow=1'>t0110: Chain together using &amp;&amp;</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2015-08-12 15:03:32 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.h?id=d7034806a4b1279f62d606501f831dcad31798e6&amp;follow=1'>about: always ensure page has a trailing slash</a></td><td>Jason A. Donenfeld</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Otherwise we can't easily embed links to other /about/ pages.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 14:13:44 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/filters/html-converters/txt2html?id=13c2d3df0440ce04273de3149631a9bd97490c6e&amp;follow=1'>filters: apply HTML escaping</a></td><td>Lazaros Koromilas</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
http://www.w3.org/International/questions/qa-escapes#use


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 14:09:05 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/ui-shared.c?id=de83de276bef7509ab8255682595ad4521f3a193&amp;follow=1'>git: update to v2.5.0</a></td><td>Christian Hesse</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Update to git version v2.5.0.

* Upstream commit 5455ee0573a22bb793a7083d593ae1ace909cd4c (Merge branch
  'bc/object-id') changed API:

  for_each_ref() callback functions were taught to name the objects
  not with "unsigned char sha1[20]" but with "struct object_id".

* Upstream commit dcf692625ac569fefbe52269061230f4fde10e47 (path.c: make
  get_pathname() call sites return const char *)

Signed-off-by: Christian Hesse &lt;mail@eworm.de&gt;


</td></tr>
<tr class='logheader'><td><span title='2015-08-12 14:08:15 +0200'>2015-08-12</span></td><td class='logsubject'><a href='/cgit-pink/commit/cgit.c?id=dc41a0018058c81ee9a0a2dc6e89f737d7c1c966&amp;follow=1'>Fix processing of repo.hide and repo.ignore</a></td><td>Daniel Reichelt