<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/path.c, branch v2.7.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.7.3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.7.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-02-05T22:54:17Z</updated>
<entry>
<title>Merge branch 'js/dirname-basename' into maint</title>
<updated>2016-02-05T22:54:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-05T22:54:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=07be1da216debe1f76cd4d03ac5effcb9e40e6c6'/>
<id>urn:sha1:07be1da216debe1f76cd4d03ac5effcb9e40e6c6</id>
<content type='text'>
dirname() emulation has been added, as Msys2 lacks it.

* js/dirname-basename:
  mingw: avoid linking to the C library's isalpha()
  t0060: loosen overly strict expectations
  t0060: verify that basename() and dirname() work as expected
  compat/basename.c: provide a dirname() compatibility function
  compat/basename: make basename() conform to POSIX
  Refactor skipping DOS drive prefixes
</content>
</entry>
<entry>
<title>Refactor skipping DOS drive prefixes</title>
<updated>2016-01-12T18:39:40Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-01-12T07:57:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2f36eed936f70105e80681aafac645ff34acc667'/>
<id>urn:sha1:2f36eed936f70105e80681aafac645ff34acc667</id>
<content type='text'>
Junio noticed that there is an implicit assumption in pretty much
all the code calling has_dos_drive_prefix(): it forces all of its
callsites to hardcode the knowledge that the DOS drive prefix is
always two bytes long.

While this assumption is pretty safe, we can still make the code
more readable and less error-prone by introducing a function that
skips the DOS drive prefix safely.

While at it, we change the has_dos_drive_prefix() return value: it
now returns the number of bytes to be skipped if there is a DOS
drive prefix.

Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dt/refs-backend-pre-vtable'</title>
<updated>2015-12-08T22:14:49Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-12-08T22:14:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b1cda70fff238aa8947dc8b527dc4a5f6bd4ede0'/>
<id>urn:sha1:b1cda70fff238aa8947dc8b527dc4a5f6bd4ede0</id>
<content type='text'>
Code preparation for pluggable ref backends.

* dt/refs-backend-pre-vtable:
  refs: break out ref conflict checks
  files_log_ref_write: new function
  initdb: make safe_create_dir public
  refs: split filesystem-based refs code into a new file
  refs/refs-internal.h: new header file
  refname_is_safe(): improve docstring
  pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
  copy_msg(): rename to copy_reflog_msg()
  verify_refname_available(): new function
  verify_refname_available(): rename function
</content>
</entry>
<entry>
<title>Merge branch 'dk/gc-idx-wo-pack' into maint</title>
<updated>2015-12-04T19:33:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-12-04T19:33:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b50ceab48f46a74571ee2a89048563dd5d3322b9'/>
<id>urn:sha1:b50ceab48f46a74571ee2a89048563dd5d3322b9</id>
<content type='text'>
Having a leftover .idx file without corresponding .pack file in
the repository hurts performance; "git gc" learned to prune them.

We may want to do the same for .bitmap (and notice but not prune
.keep) without corresponding .pack, but that can be a separate
topic.

* dk/gc-idx-wo-pack:
  gc: remove garbage .idx files from pack dir
  t5304: test cleaning pack garbage
  prepare_packed_git(): refactor garbage reporting in pack directory
</content>
</entry>
<entry>
<title>Merge branch 'dk/gc-idx-wo-pack'</title>
<updated>2015-11-20T11:55:34Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-11-20T11:55:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=45014beac004a610938a265698605c18ab126087'/>
<id>urn:sha1:45014beac004a610938a265698605c18ab126087</id>
<content type='text'>
Having a leftover .idx file without corresponding .pack file in
the repository hurts performance; "git gc" learned to prune them.

* dk/gc-idx-wo-pack:
  gc: remove garbage .idx files from pack dir
  t5304: test cleaning pack garbage
  prepare_packed_git(): refactor garbage reporting in pack directory
</content>
</entry>
<entry>
<title>initdb: make safe_create_dir public</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2015-11-10T11:42:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eb33876c262bec79a127b82a3a853ad00665d894'/>
<id>urn:sha1:eb33876c262bec79a127b82a3a853ad00665d894</id>
<content type='text'>
Soon we will want to create initdb functions for ref backends, and
code from initdb that calls this function needs to move into the files
backend. So this function needs to be public.

Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/clone-linked-checkout' into maint</title>
<updated>2015-11-05T20:18:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-11-05T20:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4349f597f08b6dc50fc6198b8e1b96e19df37c65'/>
<id>urn:sha1:4349f597f08b6dc50fc6198b8e1b96e19df37c65</id>
<content type='text'>
It was not possible to use a repository-lookalike created by "git
worktree add" as a local source of "git clone".

* nd/clone-linked-checkout:
  clone: better error when --reference is a linked checkout
  clone: allow --local from a linked checkout
  enter_repo: allow .git files in strict mode
  enter_repo: avoid duplicating logic, use is_git_directory() instead
  t0002: add test for enter_repo(), non-strict mode
  path.c: delete an extra space
</content>
</entry>
<entry>
<title>Merge branch 'mk/submodule-gitdir-path' into maint</title>
<updated>2015-11-03T23:32:35Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-11-03T23:32:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1bf986bc9c1e823da27465bfd9faf2b725bbcc09'/>
<id>urn:sha1:1bf986bc9c1e823da27465bfd9faf2b725bbcc09</id>
<content type='text'>
The submodule code has been taught to work better with separate
work trees created via "git worktree add".

* mk/submodule-gitdir-path:
  path: implement common_dir handling in git_pathdup_submodule()
  submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
</content>
</entry>
<entry>
<title>Merge branch 'jk/war-on-sprintf'</title>
<updated>2015-10-20T22:24:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-20T22:24:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=78891795df91a313fac590dd6cff9d8aace0dc9a'/>
<id>urn:sha1:78891795df91a313fac590dd6cff9d8aace0dc9a</id>
<content type='text'>
Many allocations that is manually counted (correctly) that are
followed by strcpy/sprintf have been replaced with a less error
prone constructs such as xstrfmt.

Macintosh-specific breakage was noticed and corrected in this
reroll.

* jk/war-on-sprintf: (70 commits)
  name-rev: use strip_suffix to avoid magic numbers
  use strbuf_complete to conditionally append slash
  fsck: use for_each_loose_file_in_objdir
  Makefile: drop D_INO_IN_DIRENT build knob
  fsck: drop inode-sorting code
  convert strncpy to memcpy
  notes: document length of fanout path with a constant
  color: add color_set helper for copying raw colors
  prefer memcpy to strcpy
  help: clean up kfmclient munging
  receive-pack: simplify keep_arg computation
  avoid sprintf and strcpy with flex arrays
  use alloc_ref rather than hand-allocating "struct ref"
  color: add overflow checks for parsing colors
  drop strcpy in favor of raw sha1_to_hex
  use sha1_to_hex_r() instead of strcpy
  daemon: use cld-&gt;env_array when re-spawning
  stat_tracking_info: convert to argv_array
  http-push: use an argv_array for setup_revisions
  fetch-pack: use argv_array for index-pack / unpack-objects
  ...
</content>
</entry>
<entry>
<title>Merge branch 'rd/test-path-utils'</title>
<updated>2015-10-16T21:42:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-16T21:42:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c6185c0b17636a9178bc3047ed90c071ca062a51'/>
<id>urn:sha1:c6185c0b17636a9178bc3047ed90c071ca062a51</id>
<content type='text'>
The normalize_ceiling_entry() function does not muck with the end
of the path it accepts, and the real world callers do rely on that,
but a test insisted that the function drops a trailing slash.

* rd/test-path-utils:
  test-path-utils.c: remove incorrect assumption
</content>
</entry>
</feed>
