<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cgit/shared.c, branch v0.9.1</title>
<subtitle>A hyperfast web frontend for git repositories written in C.</subtitle>
<id>http://git.cetero.st/cgit/atom/shared.c?h=v0.9.1</id>
<link rel='self' href='http://git.cetero.st/cgit/atom/shared.c?h=v0.9.1'/>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/'/>
<updated>2012-10-17T14:30:29Z</updated>
<entry>
<title>ui-log: Add "commit-sort" option for controlling commit ordering</title>
<updated>2012-10-17T14:30:29Z</updated>
<author>
<name>Tobias Bieniek</name>
<email>Tobias.Bieniek@gmx.de</email>
</author>
<published>2012-10-13T14:10:30Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=792f813d342013124ce40142fef4afee3ff00df3'/>
<id>urn:sha1:792f813d342013124ce40142fef4afee3ff00df3</id>
<content type='text'>
This makes it possible to use strict commit date ordering or strict
topological ordering by passing the corresponding flags to "git log".

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>scan-tree: Unify gitweb.* and cgit.* settings into one config option.</title>
<updated>2012-10-17T14:30:09Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2012-10-09T10:56:14Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=521e10c884055c800078e6dada97ccf6c5193aad'/>
<id>urn:sha1:521e10c884055c800078e6dada97ccf6c5193aad</id>
<content type='text'>
After some back and forth with Jamie and René, it looks like the git
config semantics are going to be like this:

- gitweb.category maps to the cgit repo config key "section"
- gitweb.description maps to the cgit repo config key "desc"
- gitweb.owner maps to the cgit repo config key "owner"
- cgit.* maps to all cgit repo config keys

This option can be enabled with "enable-git-config=1", and replaces
all previous "enable-gitweb-*" config keys.

The order of operations is as follows:

- git config settings are applied in the order that they exist in
  the git config file
- if the owner is not set from git config, get the owner using the
  usual getpwuid call
- if the description is not set from git config, look inside the
  static $path/description file
- if section-from-path=1, override whatever previous settings were
  inside of git config using the section-from-path logic
- parse $path/cgitrc for local repo.* settings, that override all
  previous settings
</content>
</entry>
<entry>
<title>Merge branch 'jp/defbranch'</title>
<updated>2012-03-18T21:00:18Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2012-03-18T21:00:18Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=181b6e789b79fc385e5ec75b2b83f01192d54051'/>
<id>urn:sha1:181b6e789b79fc385e5ec75b2b83f01192d54051</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'lh/module-links'</title>
<updated>2012-03-18T20:59:36Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2012-03-18T20:59:36Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=2b9fab8d30420d935745c4d84ea22412ab2485e5'/>
<id>urn:sha1:2b9fab8d30420d935745c4d84ea22412ab2485e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shared.c: Only setenv() if value is non-null</title>
<updated>2012-01-03T14:59:36Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2011-09-14T09:52:43Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=d96d2c98ebc4c2d3765f5b35c4142e0e828a421b'/>
<id>urn:sha1:d96d2c98ebc4c2d3765f5b35c4142e0e828a421b</id>
<content type='text'>
Some setenv() implementations (e.g. the one in OpenBSD's stdlib)
segfault if we pass a NULL value. Only set environment variables if the
corresponding settings are defined to avoid this.

Note that this is a minor behaviour change as environment variables were
supposed to be set to an empty string if a setting was undefined. Given
that this feature isn't part of any official release yet, there's no
need to worry about backwards compatibility, really. Change the
documentation accordingly.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>shared.c: Remove unused "linux/limits.h" include</title>
<updated>2012-01-03T14:53:41Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>cgit@cryptocrack.de</email>
</author>
<published>2011-07-22T15:15:49Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=8185169e5e2a8b9438c7a6f3f9c5eb6db5a37fea'/>
<id>urn:sha1:8185169e5e2a8b9438c7a6f3f9c5eb6db5a37fea</id>
<content type='text'>
This isn't used anywhere and prevents the code from being compiled on
other platforms, such as *BSD.

Signed-off-by: Lukas Fleischer &lt;cgit@cryptocrack.de&gt;
</content>
</entry>
<entry>
<title>Only guess default branch when a repo page is requested</title>
<updated>2011-06-20T18:59:10Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2011-06-20T18:59:10Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=e95c70d4ea997d1217d5c81cb3b640f3fa025df1'/>
<id>urn:sha1:e95c70d4ea997d1217d5c81cb3b640f3fa025df1</id>
<content type='text'>
There's no need to invoke guess_defbranch() for each repo during
scan-path, since repo.defbranch is only used when repo content is
being displayed.

Also, some users prefer to register their projects manually in cgitrc
but they got no benefit from the new repo.defbranch handling.

This patch tries to rectify these issues by only invoking guess_defbranch()
when needed, regardless of how the repo was registered.

Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
</content>
</entry>
<entry>
<title>ui-tree.c: add support for path-selected submodule links</title>
<updated>2011-06-15T08:40:13Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2011-06-15T08:04:13Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=6857bec50a52340fa6b85d626f49d45dd331ed0e'/>
<id>urn:sha1:6857bec50a52340fa6b85d626f49d45dd331ed0e</id>
<content type='text'>
The current 'repo.module-link' option is sufficient when all gitlinks
in a repository can be converted to commit links in a uniform way, but
not when different submodules/paths needs different settings.

This patch adds support for 'repo.module-link.&lt;path&gt;', which will be
used for linking to submodules at paths matching one such entry.

Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
</content>
</entry>
<entry>
<title>cgit.c: add 'clone-url' setting with support for macro expansion</title>
<updated>2011-06-13T23:04:30Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2011-06-06T20:49:13Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=a1429dbc89f9c0945e32cea9fd3424d2fe56aeab'/>
<id>urn:sha1:a1429dbc89f9c0945e32cea9fd3424d2fe56aeab</id>
<content type='text'>
The current 'clone-prefix' setting has some known issues:
* All repos get the same 'clone-prefix' value since the setting is not
  adopted during repo registration (in cgitrc, or during scan-path traversal),
  but only when the setting is used.
* The generated clone-urls for a repo is a combination of 'clone-prefix', a
  slash and the repo url. This doesn't work well with e.g. ssh-style urls
  like 'git@example.org:repo.git', since the inserted slash will make the
  repo relative to the filesystem root.
* If 'remove-suffix' is enabled, the generated clone-urls will not work for
  cloning (except for http-urls to cgit itself) since they miss the '.git'
  suffix.

The new 'clone-url' setting is designed to avoid the mentioned issues:
* Each repo adopts the default 'clone-url' when the repo is defined. This
  allows different groups of repos to adopt different values.
* The clone-urls for a repo is generated by expanding environment variables
  in a string template without inserting arbitrary characters, hence any
  kind of clone-url can be generated.
* Macro expansion also eases the 'remove-suffix' pain since it's now
  possible to define e.g. 'clone-url=git://foo.org/$CGIT_REPO_URL.git' for
  a set of repos. A furter improvement would be to define e.g.
  $CGIT_REPO_SUFFIX to '.git' for all repos which had their url prettified,
  or to store the original $CGIT_REPO_URL in e.g. $CGIT_REPO_REAL_URL before
  suffix removal.

Reviewed-by: Ferry Huberts &lt;mailings@hupie.com&gt;
Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
</content>
</entry>
<entry>
<title>cgit.c: always setup cgit repo environment variables</title>
<updated>2011-06-13T23:03:46Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2011-06-06T19:29:58Z</published>
<link rel='alternate' type='text/html' href='http://git.cetero.st/cgit/commit/?id=3ec6b309505dc5f7ba14abe8861b02da34a9df0b'/>
<id>urn:sha1:3ec6b309505dc5f7ba14abe8861b02da34a9df0b</id>
<content type='text'>
When cgit learned to setup environment variables for certain repo
settings before invoking a filter process, the setup occurred inside
cgit_open_filter().

This patch moves the setup out of cgit_open_filter() and into
prepare_repo_cmd() to prepare for additional uses of these variables.

Reviewed-by: Ferry Huberts &lt;mailings@hupie.com&gt;
Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
</content>
</entry>
</feed>
