<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs.c, branch v2.7.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.7.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.7.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-12-10T20:36:13Z</updated>
<entry>
<title>Merge branch 'bc/object-id'</title>
<updated>2015-12-10T20:36:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-12-10T20:36:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=844a9ce47208de173341525c15a4c8c689dd278e'/>
<id>urn:sha1:844a9ce47208de173341525c15a4c8c689dd278e</id>
<content type='text'>
More transition from "unsigned char[40]" to "struct object_id".

This needed a few merge fixups, but is mostly disentangled from other
topics.

* bc/object-id:
  remote: convert functions to struct object_id
  Remove get_object_hash.
  Convert struct object to object_id
  Add several uses of get_object_hash.
  object: introduce get_object_hash macro.
  ref_newer: convert to use struct object_id
  push_refs_with_export: convert to struct object_id
  get_remote_heads: convert to struct object_id
  parse_fetch: convert to use struct object_id
  add_sought_entry_mem: convert to struct object_id
  Convert struct ref to use object_id.
  sha1_file: introduce has_object_file helper.
</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>Remove get_object_hash.</title>
<updated>2015-11-20T13:02:05Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-11-10T02:22:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ed1c9977cb1b63e4270ad8bdf967a2d02580aa08'/>
<id>urn:sha1:ed1c9977cb1b63e4270ad8bdf967a2d02580aa08</id>
<content type='text'>
Convert all instances of get_object_hash to use an appropriate reference
to the hash member of the oid member of struct object.  This provides no
functional change, as it is essentially a macro substitution.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
</content>
</entry>
<entry>
<title>Add several uses of get_object_hash.</title>
<updated>2015-11-20T13:02:05Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2015-11-10T02:22:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7999b2cf772956466baa8925491d6fb1b0963292'/>
<id>urn:sha1:7999b2cf772956466baa8925491d6fb1b0963292</id>
<content type='text'>
Convert most instances where the sha1 member of struct object is
dereferenced to use get_object_hash.  Most instances that are passed to
functions that have versions taking struct object_id, such as
get_sha1_hex/get_oid_hex, or instances that can be trivially converted
to use struct object_id instead, are not converted.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
</content>
</entry>
<entry>
<title>refs: break out ref conflict checks</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2015-11-10T11:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0845122c39c415fa50904ee94c6b60e4e722466b'/>
<id>urn:sha1:0845122c39c415fa50904ee94c6b60e4e722466b</id>
<content type='text'>
Create new function find_descendant_ref, to hold one of the ref
conflict checks used in verify_refname_available. Multiple backends
will need this function, so move it to the common code.

Also move rename_ref_available to the common code, because alternate
backends might need it and it has no files-backend-specific code.

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>refs: split filesystem-based refs code into a new file</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2015-11-09T13:34:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7bd9bcf372d4c03bb7034346d72ae1318e2d0742'/>
<id>urn:sha1:7bd9bcf372d4c03bb7034346d72ae1318e2d0742</id>
<content type='text'>
As another step in the move to pluggable reference backends, move the
code that is specific to the filesystem-based reference backend (i.e.,
the current system of storing references as loose and packed files) into
a separate file, refs/files-backend.c.

Aside from a tiny bit of file header boilerplate, this commit only moves
a subset of the code verbatim from refs.c to the new file, as can easily
be verified using patience diff:

    git diff --patience $commit^:refs.c $commit:refs.c
    git diff --patience $commit^:refs.c $commit:refs/files-backend.c

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>refs/refs-internal.h: new header file</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2015-11-10T11:42:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4cb77009e1fa692e56048754e2032ed044f28c26'/>
<id>urn:sha1:4cb77009e1fa692e56048754e2032ed044f28c26</id>
<content type='text'>
There are a number of constants, structs, and static functions defined
in refs.c and treated as private to the references module. But we want
to support multiple reference backends within the reference module,
and those backends will need access to some heretofore private
declarations.

We don't want those declarations to be visible to non-refs code, so we
don't want to move them to refs.h. Instead, add a new header file,
refs/refs-internal.h, that is intended to be included only from within
the refs module. Make some functions non-static and move some
declarations (and their corresponding docstrings) from refs.c to this
file.

In a moment we will add more content to the "refs" subdirectory.

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>refname_is_safe(): improve docstring</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2015-11-10T11:42:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=03b32623d82d20835d8dda3f9ce9900f09485d11'/>
<id>urn:sha1:03b32623d82d20835d8dda3f9ce9900f09485d11</id>
<content type='text'>
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>pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2015-11-10T11:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a935ebd4a7df505da819371ef10add6ad7bd77d7'/>
<id>urn:sha1:a935ebd4a7df505da819371ef10add6ad7bd77d7</id>
<content type='text'>
is_per_worktree_ref() will soon be made private, so use the public
interface, ref_type(), in its place. And now that we're using
ref_type(), we can make it clear that we won't pack pseudorefs. This was
the case before, but due to the not-so-obvious reason that this function
is applied to references via the loose reference cache, which only
includes references that live inside "refs/".

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>copy_msg(): rename to copy_reflog_msg()</title>
<updated>2015-11-20T09:52:01Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2015-11-10T11:42:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f4a5721ccb73efe33d345190f38058b45eaadca8'/>
<id>urn:sha1:f4a5721ccb73efe33d345190f38058b45eaadca8</id>
<content type='text'>
We will soon increase the visibility of this function, so make its name
more distinctive.

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>
</feed>
