<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/config.c, branch v2.2.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.2.0</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.2.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2014-10-14T17:49:45Z</updated>
<entry>
<title>Merge branch 'mh/lockfile'</title>
<updated>2014-10-14T17:49:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-14T17:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bd107e1052a11cf7dd6baf9077eab52fbb9d9c90'/>
<id>urn:sha1:bd107e1052a11cf7dd6baf9077eab52fbb9d9c90</id>
<content type='text'>
The lockfile API and its users have been cleaned up.

* mh/lockfile: (38 commits)
  lockfile.h: extract new header file for the functions in lockfile.c
  hold_locked_index(): move from lockfile.c to read-cache.c
  hold_lock_file_for_append(): restore errno before returning
  get_locked_file_path(): new function
  lockfile.c: rename static functions
  lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
  commit_lock_file_to(): refactor a helper out of commit_lock_file()
  trim_last_path_component(): replace last_path_elm()
  resolve_symlink(): take a strbuf parameter
  resolve_symlink(): use a strbuf for internal scratch space
  lockfile: change lock_file::filename into a strbuf
  commit_lock_file(): use a strbuf to manage temporary space
  try_merge_strategy(): use a statically-allocated lock_file object
  try_merge_strategy(): remove redundant lock_file allocation
  struct lock_file: declare some fields volatile
  lockfile: avoid transitory invalid states
  git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
  dump_marks(): remove a redundant call to rollback_lock_file()
  api-lockfile: document edge cases
  commit_lock_file(): rollback lock file on failure to rename
  ...
</content>
</entry>
<entry>
<title>Merge branch 'sp/stream-clean-filter'</title>
<updated>2014-10-08T20:05:32Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-08T20:05:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f0d89001750a27c1c447b2eb3149b998521fa52c'/>
<id>urn:sha1:f0d89001750a27c1c447b2eb3149b998521fa52c</id>
<content type='text'>
When running a required clean filter, we do not have to mmap the
original before feeding the filter.  Instead, stream the file
contents directly to the filter and process its output.

* sp/stream-clean-filter:
  sha1_file: don't convert off_t to size_t too early to avoid potential die()
  convert: stream from fd to required clean filter to reduce used address space
  copy_fd(): do not close the input file descriptor
  mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
  memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
  config.c: add git_env_ulong() to parse environment variable
  convert: drop arguments other than 'path' from would_convert_to_git()
</content>
</entry>
<entry>
<title>lockfile.h: extract new header file for the functions in lockfile.c</title>
<updated>2014-10-01T20:56:14Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2014-10-01T10:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=697cc8efd944a32ca472337cd6640004c474b788'/>
<id>urn:sha1:697cc8efd944a32ca472337cd6640004c474b788</id>
<content type='text'>
Move the interface declaration for the functions in lockfile.c from
cache.h to a new file, lockfile.h. Add #includes where necessary (and
remove some redundant includes of cache.h by files that already
include builtin.h).

Move the documentation of the lock_file state diagram from lockfile.c
to the new header file.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>lockfile: change lock_file::filename into a strbuf</title>
<updated>2014-10-01T20:50:01Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2014-10-01T10:28:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cf6950d3bfe1447ac04867b1f5654a2fc9c5db96'/>
<id>urn:sha1:cf6950d3bfe1447ac04867b1f5654a2fc9c5db96</id>
<content type='text'>
For now, we still make sure to allocate at least PATH_MAX characters
for the strbuf because resolve_symlink() doesn't know how to expand
the space for its return value.  (That will be fixed in a moment.)

Another alternative would be to just use a strbuf as scratch space in
lock_file() but then store a pointer to the naked string in struct
lock_file.  But lock_file objects are often reused.  By reusing the
same strbuf, we can avoid having to reallocate the string most times
when a lock_file object is reused.

Helped-by: Torsten Bögershausen &lt;tboegi@web.de&gt;
Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git_config_set_multivar_in_file(): avoid call to rollback_lock_file()</title>
<updated>2014-10-01T20:48:59Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2014-10-01T10:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e831855ecc6783bfe4b681017349c623fc2fe8c8'/>
<id>urn:sha1:e831855ecc6783bfe4b681017349c623fc2fe8c8</id>
<content type='text'>
After commit_lock_file() is called, then the lock_file object is
necessarily either committed or rolled back.  So there is no need to
call rollback_lock_file() again in either of these cases.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ta/config-add-to-empty-or-true-fix'</title>
<updated>2014-09-19T18:38:40Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-09-19T18:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4daf5c864348e8d2002b082d8ac484c650e395d4'/>
<id>urn:sha1:4daf5c864348e8d2002b082d8ac484c650e395d4</id>
<content type='text'>
"git config --add section.var val" used to lose existing
section.var whose value was an empty string.

* ta/config-add-to-empty-or-true-fix:
  config: avoid a funny sentinel value "a^"
  make config --add behave correctly for empty and NULL values
</content>
</entry>
<entry>
<title>Merge branch 'rs/simplify-config-include'</title>
<updated>2014-09-19T18:38:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-09-19T18:38:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=56bee6420c08705de1c1017558190cccd5389bca'/>
<id>urn:sha1:56bee6420c08705de1c1017558190cccd5389bca</id>
<content type='text'>
Code clean-up.

* rs/simplify-config-include:
  config: simplify git_config_include()
</content>
</entry>
<entry>
<title>config: avoid a funny sentinel value "a^"</title>
<updated>2014-09-11T23:33:54Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2014-08-19T06:20:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c1063be2a3e14ac042db4fe9b9bcea8f2768886a'/>
<id>urn:sha1:c1063be2a3e14ac042db4fe9b9bcea8f2768886a</id>
<content type='text'>
Introduce CONFIG_REGEX_NONE as a more explicit sentinel value to say
"we do not want to replace any existing entry" and use it in the
implementation of "git config --add".

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ta/config-set-1'</title>
<updated>2014-09-11T17:33:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-09-11T17:33:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7f346e9d73e75871d525664f36b7a5166b4feaf3'/>
<id>urn:sha1:7f346e9d73e75871d525664f36b7a5166b4feaf3</id>
<content type='text'>
Use the new caching config-set API in git_config() calls.

* ta/config-set-1:
  add tests for `git_config_get_string_const()`
  add a test for semantic errors in config files
  rewrite git_config() to use the config-set API
  config: add `git_die_config()` to the config-set API
  change `git_config()` return value to void
  add line number and file name info to `config_set`
  config.c: fix accuracy of line number in errors
  config.c: mark error and warnings strings for translation
</content>
</entry>
<entry>
<title>Merge branch 'jk/command-line-config-empty-string'</title>
<updated>2014-09-09T19:53:57Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-09-09T19:53:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=93424a0fd882a3ed1c1f7a8b6fe71fdaa21cce99'/>
<id>urn:sha1:93424a0fd882a3ed1c1f7a8b6fe71fdaa21cce99</id>
<content type='text'>
"git -c section.var command" and "git -c section.var= command"
should pass the configuration differently (the former should be
a boolean true, the latter should be an empty string).

* jk/command-line-config-empty-string:
  config: teach "git -c" to recognize an empty string
</content>
</entry>
</feed>
