<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/dir.c, branch v2.4.7</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.4.7</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.4.7'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-06-16T21:33:47Z</updated>
<entry>
<title>Merge branch 'rs/janitorial' into maint</title>
<updated>2015-06-16T21:33:47Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-06-16T21:33:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dfb67594e964e63f20546361597c06432c73779d'/>
<id>urn:sha1:dfb67594e964e63f20546361597c06432c73779d</id>
<content type='text'>
Code clean-up.

* rs/janitorial:
  dir: remove unused variable sb
  clean: remove unused variable buf
  use file_exists() to check if a file exists in the worktree
</content>
</entry>
<entry>
<title>Merge branch 'jc/gitignore-precedence' into maint</title>
<updated>2015-06-05T19:00:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-06-05T19:00:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e9f767ecee21af47fa5515ee6f8106d70cabe983'/>
<id>urn:sha1:e9f767ecee21af47fa5515ee6f8106d70cabe983</id>
<content type='text'>
core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
to be overridden by repository-specific .git/info/exclude file, but
the order was swapped from the beginning. This belatedly fixes it.

* jc/gitignore-precedence:
  ignore: info/exclude should trump core.excludesfile
</content>
</entry>
<entry>
<title>Merge branch 'pt/xdg-config-path' into maint</title>
<updated>2015-06-05T19:00:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-06-05T19:00:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d9c82fa7a75ae617718f195bb5f5ff5c904f2687'/>
<id>urn:sha1:d9c82fa7a75ae617718f195bb5f5ff5c904f2687</id>
<content type='text'>
Code clean-up for xdg configuration path support.

* pt/xdg-config-path:
  path.c: remove home_config_paths()
  git-config: replace use of home_config_paths()
  git-commit: replace use of home_config_paths()
  credential-store.c: replace home_config_paths() with xdg_config_home()
  dir.c: replace home_config_paths() with xdg_config_home()
  attr.c: replace home_config_paths() with xdg_config_home()
  path.c: implement xdg_config_home()
  t0302: "unreadable" test needs POSIXPERM
  t0302: test credential-store support for XDG_CONFIG_HOME
  git-credential-store: support XDG_CONFIG_HOME
  git-credential-store: support multiple credential files
</content>
</entry>
<entry>
<title>dir: remove unused variable sb</title>
<updated>2015-05-20T20:50:22Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2015-05-19T22:13:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=22570b68e3cb9380403d903680be3b3112a26490'/>
<id>urn:sha1:22570b68e3cb9380403d903680be3b3112a26490</id>
<content type='text'>
It had never been used.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'cn/bom-in-gitignore' into maint</title>
<updated>2015-05-13T21:05:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-13T21:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8a1d89745d1b60d0d9e8bd91e4e9564673b6c22a'/>
<id>urn:sha1:8a1d89745d1b60d0d9e8bd91e4e9564673b6c22a</id>
<content type='text'>
Teach the codepaths that read .gitignore and .gitattributes files
that these files encoded in UTF-8 may have UTF-8 BOM marker at the
beginning; this makes it in line with what we do for configuration
files already.

* cn/bom-in-gitignore:
  attr: skip UTF8 BOM at the beginning of the input file
  config: use utf8_bom[] from utf.[ch] in git_parse_source()
  utf8-bom: introduce skip_utf8_bom() helper
  add_excludes_from_file: clarify the bom skipping logic
  dir: allow a BOM at the beginning of exclude files
</content>
</entry>
<entry>
<title>dir.c: replace home_config_paths() with xdg_config_home()</title>
<updated>2015-05-06T18:33:17Z</updated>
<author>
<name>Paul Tan</name>
<email>pyokagan@gmail.com</email>
</author>
<published>2015-05-06T08:01:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2845ce7ff1398e851d46b62154293378b74c466d'/>
<id>urn:sha1:2845ce7ff1398e851d46b62154293378b74c466d</id>
<content type='text'>
Since only the xdg excludes file path is required, simplify the code by
replacing use of home_config_paths() with xdg_config_home().

Signed-off-by: Paul Tan &lt;pyokagan@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>ignore: info/exclude should trump core.excludesfile</title>
<updated>2015-04-22T21:31:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-22T21:31:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=099d2d86a8e17218aca31bf7c4070a820baf4baa'/>
<id>urn:sha1:099d2d86a8e17218aca31bf7c4070a820baf4baa</id>
<content type='text'>
$GIT_DIR/info/exclude and core.excludesfile (which falls back to
$XDG_HOME/git/ignore) are both ways to override the ignore pattern
lists given by the project in .gitignore files.  The former, which
is per-repository personal preference, should take precedence over
the latter, which is a personal preference default across different
repositories that are accessed from that machine.  The existing
documentation also agrees.

However, the precedence order was screwed up between these two from
the very beginning when 896bdfa2 (add: Support specifying an
excludes file with a configuration variable, 2007-02-27) introduced
core.excludesfile variable.

Noticed-by: Yohei Endo &lt;yoheie@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>utf8-bom: introduce skip_utf8_bom() helper</title>
<updated>2015-04-16T18:35:06Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-16T17:45:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dde843e7378f65004415bd108038659de9ce2abd'/>
<id>urn:sha1:dde843e7378f65004415bd108038659de9ce2abd</id>
<content type='text'>
With the recent change to ignore the UTF8 BOM at the beginning of
.gitignore files, we now have two codepaths that do such a skipping
(the other one is for reading the configuration files).

Introduce utf8_bom[] constant string and skip_utf8_bom() helper
and teach .gitignore code how to use it.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>add_excludes_from_file: clarify the bom skipping logic</title>
<updated>2015-04-16T18:26:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-04-16T18:26:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cb0abea87017559e1db3721a7e6d89a336d845e9'/>
<id>urn:sha1:cb0abea87017559e1db3721a7e6d89a336d845e9</id>
<content type='text'>
Even though the previous step shifts where the "entry" begins, we
still iterate over the original buf[], which may begin with the
UTF-8 BOM we are supposed to be skipping.  At the end of the first
line, the code grabs the contents of it starting at "entry", so
there is nothing wrong per-se, but the logic looks really confused.

Instead, move the buf pointer and shrink its size, to truly
pretend that UTF-8 BOM did not exist in the input.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>dir: allow a BOM at the beginning of exclude files</title>
<updated>2015-04-16T17:17:04Z</updated>
<author>
<name>Carlos Martín Nieto</name>
<email>cmn@elego.de</email>
</author>
<published>2015-04-16T14:05:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=245e1c196dab226675a02a8caca5a83373f5e4d4'/>
<id>urn:sha1:245e1c196dab226675a02a8caca5a83373f5e4d4</id>
<content type='text'>
Some text editors like Notepad or LibreOffice write an UTF-8 BOM in
order to indicate that the file is Unicode text rather than whatever the
current locale would indicate.

If someone uses such an editor to edit a gitignore file, we are left
with those three bytes at the beginning of the file. If we do not skip
them, we will attempt to match a filename with the BOM as prefix, which
won't match the files the user is expecting.

Signed-off-by: Carlos Martín Nieto &lt;cmn@elego.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
