<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs, branch v2.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-04-25T22:17:15Z</updated>
<entry>
<title>Merge branch 'dt/pre-refs-backend'</title>
<updated>2016-04-25T22:17:15Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-25T22:17:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=edc2f715bd2d18566045ed1e8eadd808cedd2903'/>
<id>urn:sha1:edc2f715bd2d18566045ed1e8eadd808cedd2903</id>
<content type='text'>
Code restructuring around the "refs" area to prepare for pluggable
refs backends.

* dt/pre-refs-backend: (24 commits)
  refs: on symref reflog expire, lock symref not referrent
  refs: move resolve_ref_unsafe into common code
  show_head_ref(): check the result of resolve_ref_namespace()
  check_aliased_update(): check that dst_name is non-NULL
  checkout_paths(): remove unneeded flag variable
  cmd_merge(): remove unneeded flag variable
  fsck_head_link(): remove unneeded flag variable
  read_raw_ref(): change flags parameter to unsigned int
  files-backend: inline resolve_ref_1() into resolve_ref_unsafe()
  read_raw_ref(): manage own scratch space
  files-backend: break out ref reading
  resolve_ref_1(): eliminate local variable "bad_name"
  resolve_ref_1(): reorder code
  resolve_ref_1(): eliminate local variable
  resolve_ref_unsafe(): ensure flags is always set
  resolve_ref_unsafe(): use for loop to count up to MAXDEPTH
  resolve_missing_loose_ref(): simplify semantics
  t1430: improve test coverage of deletion of badly-named refs
  t1430: test for-each-ref in the presence of badly-named refs
  t1430: don't rely on symbolic-ref for creating broken symrefs
  ...
</content>
</entry>
<entry>
<title>refs: on symref reflog expire, lock symref not referrent</title>
<updated>2016-04-10T18:35:46Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-04-07T19:03:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=41d796ed5cd78d159f8a8bfa3b54bdbe5d9383a3'/>
<id>urn:sha1:41d796ed5cd78d159f8a8bfa3b54bdbe5d9383a3</id>
<content type='text'>
When locking a symbolic ref to expire a reflog, lock the symbolic
ref (using REF_NODEREF) instead of its referent.

Add a test for this.

Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Reviewed-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: move resolve_ref_unsafe into common code</title>
<updated>2016-04-10T18:35:41Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-04-07T19:03:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2d0663b21661f2677bce5742204ccdd73745a062'/>
<id>urn:sha1:2d0663b21661f2677bce5742204ccdd73745a062</id>
<content type='text'>
Now that resolve_ref_unsafe's only interaction with the backend is
through read_raw_ref, we can move it into the common code. Later,
we'll replace read_raw_ref with a backend function.

Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Reviewed-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>read_raw_ref(): change flags parameter to unsigned int</title>
<updated>2016-04-10T18:35:31Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:03:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=89e82389655e3792bebad311d74541c3c0c6cc86'/>
<id>urn:sha1:89e82389655e3792bebad311d74541c3c0c6cc86</id>
<content type='text'>
read_raw_ref() is going to be part of the vtable for reference backends,
so clean up its interface to use "unsigned int flags" rather than "int
flags". Its caller still uses signed int for its flags arguments. But
changing that would touch a lot of code, so leave it for now.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>files-backend: inline resolve_ref_1() into resolve_ref_unsafe()</title>
<updated>2016-04-10T18:35:29Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:03:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8c346fb1d791f388b307d1832aebc577477ed6fe'/>
<id>urn:sha1:8c346fb1d791f388b307d1832aebc577477ed6fe</id>
<content type='text'>
resolve_ref_unsafe() wasn't doing anything useful anymore.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>read_raw_ref(): manage own scratch space</title>
<updated>2016-04-10T18:35:26Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:03:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=42a38cf788428bf39db1729ee8c79c64252a2849'/>
<id>urn:sha1:42a38cf788428bf39db1729ee8c79c64252a2849</id>
<content type='text'>
Instead of creating scratch space in resolve_ref_unsafe() and passing
it down through resolve_ref_1 to read_raw_ref(), teach read_raw_ref()
to manage its own scratch space. This reduces coupling across the
functions at the cost of some extra allocations.

Also, when read_raw_ref() is implemented for different reference
backends, the other implementations might have different scratch
space requirements.

Note that we now preserve errno across the calls to strbuf_release(),
which calls free() and can thus theoretically overwrite errno.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>files-backend: break out ref reading</title>
<updated>2016-04-10T18:35:24Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-04-07T19:03:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7048653a7351df6049e2306a51b0a06b83aa181b'/>
<id>urn:sha1:7048653a7351df6049e2306a51b0a06b83aa181b</id>
<content type='text'>
Refactor resolve_ref_1 in terms of a new function read_raw_ref, which
is responsible for reading ref data from the ref storage.

Later, we will make read_raw_ref a pluggable backend function, and make
resolve_ref_unsafe common.

Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Helped-by: Duy Nguyen &lt;pclouds@gmail.com&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>resolve_ref_1(): eliminate local variable "bad_name"</title>
<updated>2016-04-10T18:35:22Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:03:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=afbe782fa3ea4278dee2c19d0f3c2dfa50522ff2'/>
<id>urn:sha1:afbe782fa3ea4278dee2c19d0f3c2dfa50522ff2</id>
<content type='text'>
We can use (*flags &amp; REF_BAD_NAME) for that purpose.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>resolve_ref_1(): reorder code</title>
<updated>2016-04-10T18:35:21Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:02:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e6702e570ba4a8501362594b66b74d0ecff002dd'/>
<id>urn:sha1:e6702e570ba4a8501362594b66b74d0ecff002dd</id>
<content type='text'>
There is no need to adjust *flags if we're just about to fail.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>resolve_ref_1(): eliminate local variable</title>
<updated>2016-04-10T18:35:19Z</updated>
<author>
<name>Michael Haggerty</name>
<email>mhagger@alum.mit.edu</email>
</author>
<published>2016-04-07T19:02:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=90c28ae11c5a9d8386606c727be1d80699c9aa92'/>
<id>urn:sha1:90c28ae11c5a9d8386606c727be1d80699c9aa92</id>
<content type='text'>
In place of `buf`, use `refname`, which is anyway a better description
of what is being pointed at.

Signed-off-by: Michael Haggerty &lt;mhagger@alum.mit.edu&gt;
Signed-off-by: David Turner &lt;dturner@twopensource.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
