<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs.c, branch v2.11.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.11.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.11.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-10-26T20:14:45Z</updated>
<entry>
<title>Merge branch 'jc/cocci-xstrdup-or-null'</title>
<updated>2016-10-26T20:14:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-26T20:14:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a03973893bdbc1a53c705daf70a73994ac46492f'/>
<id>urn:sha1:a03973893bdbc1a53c705daf70a73994ac46492f</id>
<content type='text'>
Code cleanup.

* jc/cocci-xstrdup-or-null:
  cocci: refactor common patterns to use xstrdup_or_null()
</content>
</entry>
<entry>
<title>cocci: refactor common patterns to use xstrdup_or_null()</title>
<updated>2016-10-12T18:22:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-12T18:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=13092a916d7b8211fd828a6a7ee0d3cefff995e1'/>
<id>urn:sha1:13092a916d7b8211fd828a6a7ee0d3cefff995e1</id>
<content type='text'>
d64ea0f83b ("git-compat-util: add xstrdup_or_null helper",
2015-01-12) added a handy wrapper that allows us to get a duplicate
of a string or NULL if the original is NULL, but a handful of
codepath predate its introduction or just weren't aware of it.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/shallow-deepen'</title>
<updated>2016-10-10T21:03:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-10-10T21:03:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a460ea4a3cb1dad253604b5e2aeaa161637453a9'/>
<id>urn:sha1:a460ea4a3cb1dad253604b5e2aeaa161637453a9</id>
<content type='text'>
The existing "git fetch --depth=&lt;n&gt;" option was hard to use
correctly when making the history of an existing shallow clone
deeper.  A new option, "--deepen=&lt;n&gt;", has been added to make this
easier to use.  "git clone" also learned "--shallow-since=&lt;date&gt;"
and "--shallow-exclude=&lt;tag&gt;" options to make it easier to specify
"I am interested only in the recent N months worth of history" and
"Give me only the history since that version".

* nd/shallow-deepen: (27 commits)
  fetch, upload-pack: --deepen=N extends shallow boundary by N commits
  upload-pack: add get_reachable_list()
  upload-pack: split check_unreachable() in two, prep for get_reachable_list()
  t5500, t5539: tests for shallow depth excluding a ref
  clone: define shallow clone boundary with --shallow-exclude
  fetch: define shallow boundary with --shallow-exclude
  upload-pack: support define shallow boundary by excluding revisions
  refs: add expand_ref()
  t5500, t5539: tests for shallow depth since a specific date
  clone: define shallow clone boundary based on time with --shallow-since
  fetch: define shallow boundary with --shallow-since
  upload-pack: add deepen-since to cut shallow repos based on time
  shallow.c: implement a generic shallow boundary finder based on rev-list
  fetch-pack: use a separate flag for fetch in deepening mode
  fetch-pack.c: mark strings for translating
  fetch-pack: use a common function for verbose printing
  fetch-pack: use skip_prefix() instead of starts_with()
  upload-pack: move rev-list code out of check_non_tip()
  upload-pack: make check_non_tip() clean things up on error
  upload-pack: tighten number parsing at "deepen" lines
  ...
</content>
</entry>
<entry>
<title>Merge branch 'bc/object-id'</title>
<updated>2016-09-19T20:47:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-19T20:47:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4af9a7d344b0e1c3b504c0cfb650dabdb1df1852'/>
<id>urn:sha1:4af9a7d344b0e1c3b504c0cfb650dabdb1df1852</id>
<content type='text'>
The "unsigned char sha1[20]" to "struct object_id" conversion
continues.  Notable changes in this round includes that ce-&gt;sha1,
i.e. the object name recorded in the cache_entry, turns into an
object_id.

It had merge conflicts with a few topics in flight (Christian's
"apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
"status --porcelain-v2").  Extra sets of eyes double-checking for
mismerges are highly appreciated.

* bc/object-id:
  builtin/reset: convert to use struct object_id
  builtin/commit-tree: convert to struct object_id
  builtin/am: convert to struct object_id
  refs: add an update_ref_oid function.
  sha1_name: convert get_sha1_mb to struct object_id
  builtin/update-index: convert file to struct object_id
  notes: convert init_notes to use struct object_id
  builtin/rm: convert to use struct object_id
  builtin/blame: convert file to use struct object_id
  Convert read_mmblob to take struct object_id.
  notes-merge: convert struct notes_merge_pair to struct object_id
  builtin/checkout: convert some static functions to struct object_id
  streaming: make stream_blob_to_fd take struct object_id
  builtin: convert textconv_object to use struct object_id
  builtin/cat-file: convert some static functions to struct object_id
  builtin/cat-file: convert struct expand_data to use struct object_id
  builtin/log: convert some static functions to use struct object_id
  builtin/blame: convert struct origin to use struct object_id
  builtin/apply: convert static functions to struct object_id
  cache: convert struct cache_entry to use struct object_id
</content>
</entry>
<entry>
<title>Merge branch 'mh/ref-store'</title>
<updated>2016-09-19T20:47:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-19T20:47:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4322f3848a224843a2df81055f07899ce1a1b388'/>
<id>urn:sha1:4322f3848a224843a2df81055f07899ce1a1b388</id>
<content type='text'>
The ref-store abstraction was introduced to the refs API so that we
can plug in different backends to store references.

* mh/ref-store: (38 commits)
  refs: implement iteration over only per-worktree refs
  refs: make lock generic
  refs: add method to rename refs
  refs: add methods to init refs db
  refs: make delete_refs() virtual
  refs: add method for initial ref transaction commit
  refs: add methods for reflog
  refs: add method iterator_begin
  files_ref_iterator_begin(): take a ref_store argument
  split_symref_update(): add a files_ref_store argument
  lock_ref_sha1_basic(): add a files_ref_store argument
  lock_ref_for_update(): add a files_ref_store argument
  commit_ref_update(): add a files_ref_store argument
  lock_raw_ref(): add a files_ref_store argument
  repack_without_refs(): add a files_ref_store argument
  refs: make peel_ref() virtual
  refs: make create_symref() virtual
  refs: make pack_refs() virtual
  refs: make verify_refname_available() virtual
  refs: make read_raw_ref() virtual
  ...
</content>
</entry>
<entry>
<title>refs: add method to rename refs</title>
<updated>2016-09-09T22:28:14Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-09-04T16:08:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9b6b40d93a4c93d36225533ddc6717841b07d09d'/>
<id>urn:sha1:9b6b40d93a4c93d36225533ddc6717841b07d09d</id>
<content type='text'>
This removes the last caller of function get_files_ref_store(), so
remove it.

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: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: add methods to init refs db</title>
<updated>2016-09-09T22:28:14Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-09-04T16:08:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6fb5acfd8f7102f53dedc887233313f233a65932'/>
<id>urn:sha1:6fb5acfd8f7102f53dedc887233313f233a65932</id>
<content type='text'>
Alternate refs backends might not need the refs/heads directory and so
on, so we make ref db initialization part of the backend.

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: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: make delete_refs() virtual</title>
<updated>2016-09-09T22:28:14Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-09-04T16:08:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a27dcf89b6867577bb714e181dd181cd1a1e6512'/>
<id>urn:sha1:a27dcf89b6867577bb714e181dd181cd1a1e6512</id>
<content type='text'>
In the file-based backend, delete_refs has some special optimization
to deal with packed refs.  In other backends, we might be able to make
ref deletion faster by putting all deletions into a single
transaction.  So we need a special backend function for this.

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: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: add method for initial ref transaction commit</title>
<updated>2016-09-09T22:28:14Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-09-04T16:08:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fc6814637d2e756029b45cb5fd952359bfec6f88'/>
<id>urn:sha1:fc6814637d2e756029b45cb5fd952359bfec6f88</id>
<content type='text'>
Signed-off-by: Ronnie Sahlberg &lt;rsahlberg@google.com&gt;
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: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: add methods for reflog</title>
<updated>2016-09-09T22:28:13Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-09-04T16:08:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e3688bd6cf159f6026a6bca7a6f53d0a22fe21a2'/>
<id>urn:sha1:e3688bd6cf159f6026a6bca7a6f53d0a22fe21a2</id>
<content type='text'>
In the file-based backend, the reflog piggybacks on the ref lock.
Since other backends won't have the same sort of ref lock, ref backends
must also handle reflogs.

Signed-off-by: Ronnie Sahlberg &lt;rsahlberg@google.com&gt;
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: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
