<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/refs.h, branch v2.8.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.8.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.8.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-02-26T21:37:27Z</updated>
<entry>
<title>Merge branch 'dt/initial-ref-xn-commit-doc'</title>
<updated>2016-02-26T21:37:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-02-26T21:37:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=69616f7436ed52476180f602727b387408266873'/>
<id>urn:sha1:69616f7436ed52476180f602727b387408266873</id>
<content type='text'>
* dt/initial-ref-xn-commit-doc:
  refs: document transaction semantics
</content>
</entry>
<entry>
<title>refs: document transaction semantics</title>
<updated>2016-02-25T20:35:31Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2016-02-25T20:05:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=49386868de1cebebfb1e9f9527560e17197ad94f'/>
<id>urn:sha1:49386868de1cebebfb1e9f9527560e17197ad94f</id>
<content type='text'>
Add some comments on ref transaction semantics to refs.h

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>create_symref: modernize variable names</title>
<updated>2015-12-29T18:33:09Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-12-29T05:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b9badadd06ae307c5e1e0e7c36985a1360cabc22'/>
<id>urn:sha1:b9badadd06ae307c5e1e0e7c36985a1360cabc22</id>
<content type='text'>
Once upon a time, create_symref() was used only to point
HEAD at a branch name, and the variable names reflect that
(e.g., calling the path git_HEAD). However, it is much more
generic these days (and has been for some time). Let's
update the variable names to make it easier to follow:

  - `ref_target` is now just `refname`. This is closer to
    the `ref` that is already in `cache.h`, but with the
    extra twist that "name" makes it clear this is the name
    and not a ref struct. Dropping "target" hopefully makes
    it clear that we are talking about the symref itself,
    not what it points to.

  - `git_HEAD` is now `ref_path`; the on-disk path
    corresponding to `ref`.

  - `refs_heads_master` is now just `target`; i.e., what the
    symref points at. This term also matches what is in
    the symlink(2) manpage (at least on Linux).

  - the buffer to hold the symref file's contents was simply
    called `ref`. It's now `buf` (admittedly also generic,
    but at least not actively introducing confusion with the
    other variable holding the refname).

Signed-off-by: Jeff King &lt;peff@peff.net&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>hideRefs: add support for matching full refs</title>
<updated>2015-11-05T19:25:02Z</updated>
<author>
<name>Lukas Fleischer</name>
<email>lfleischer@lfos.de</email>
</author>
<published>2015-11-03T07:58:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=78a766ab6eaaa91c2638158bd4fda06a93291da0'/>
<id>urn:sha1:78a766ab6eaaa91c2638158bd4fda06a93291da0</id>
<content type='text'>
In addition to matching stripped refs, one can now add hideRefs
patterns that the full (unstripped) ref is matched against. To
distinguish between stripped and full matches, those new patterns
must be prefixed with a circumflex (^).

This commit also removes support for the undocumented and unintended
hideRefs settings ".have" (suppressing all "have" lines) and
"capabilities^{}" (suppressing the capabilities line).

Signed-off-by: Lukas Fleischer &lt;lfleischer@lfos.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'kn/for-each-tag'</title>
<updated>2015-10-05T19:30:18Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-05T19:30:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8a54523f0f70134327e7b2a625b1777c796b07d5'/>
<id>urn:sha1:8a54523f0f70134327e7b2a625b1777c796b07d5</id>
<content type='text'>
The "ref-filter" code was taught about many parts of what "tag -l"
does and then "tag -l" is being reimplemented in terms of "ref-filter".

* kn/for-each-tag:
  tag.c: implement '--merged' and '--no-merged' options
  tag.c: implement '--format' option
  tag.c: use 'ref-filter' APIs
  tag.c: use 'ref-filter' data structures
  ref-filter: add option to match literal pattern
  ref-filter: add support to sort by version
  ref-filter: add support for %(contents:lines=X)
  ref-filter: add option to filter out tags, branches and remotes
  ref-filter: implement an `align` atom
  ref-filter: introduce match_atom_name()
  ref-filter: introduce handler function for each atom
  utf8: add function to align a string into given strbuf
  ref-filter: introduce ref_formatting_state and ref_formatting_stack
  ref-filter: move `struct atom_value` to ref-filter.c
  strtoul_ui: reject negative values
</content>
</entry>
<entry>
<title>ref-filter: add option to filter out tags, branches and remotes</title>
<updated>2015-09-17T17:02:48Z</updated>
<author>
<name>Karthik Nayak</name>
<email>karthik.188@gmail.com</email>
</author>
<published>2015-09-10T15:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5b4f28510f36062134390ad8818721c1d4a2760f'/>
<id>urn:sha1:5b4f28510f36062134390ad8818721c1d4a2760f</id>
<content type='text'>
Add a function called 'for_each_fullref_in()' to refs.{c,h} which
iterates through each ref for the given path without trimming the path
and also accounting for broken refs, if mentioned.

Add 'filter_ref_kind()' in ref-filter.c to check the kind of ref being
handled and return the kind to 'ref_filter_handler()', where we
discard refs which we do not need and assign the kind to needed refs.

Mentored-by: Christian Couder &lt;christian.couder@gmail.com&gt;
Mentored-by: Matthieu Moy &lt;matthieu.moy@grenoble-inp.fr&gt;
Signed-off-by: Karthik Nayak &lt;karthik.188@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'dt/refs-pseudo'</title>
<updated>2015-08-25T21:57:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-25T21:57:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=080cc646637f20494138c62fe6b8b0fee8d521fa'/>
<id>urn:sha1:080cc646637f20494138c62fe6b8b0fee8d521fa</id>
<content type='text'>
To prepare for allowing a different "ref" backend to be plugged in
to the system, update_ref()/delete_ref() have been taught about
ref-like things like MERGE_HEAD that are per-worktree (they will
always be written to the filesystem inside $GIT_DIR).

* dt/refs-pseudo:
  pseudoref: check return values from read_ref()
  sequencer: replace write_cherry_pick_head with update_ref
  bisect: use update_ref
  pseudorefs: create and use pseudoref update and delete functions
  refs: add ref_type function
  refs: introduce pseudoref and per-worktree ref concepts
</content>
</entry>
<entry>
<title>Merge branch 'jk/refspec-parse-wildcard'</title>
<updated>2015-08-03T18:01:31Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8d3981ccbed9fc211b4e67105015179d9d2a5692'/>
<id>urn:sha1:8d3981ccbed9fc211b4e67105015179d9d2a5692</id>
<content type='text'>
Allow an asterisk as a substring (as opposed to the entirety) of
a path component for both side of a refspec, e.g.
"refs/heads/o*:refs/remotes/heads/i*".

* jk/refspec-parse-wildcard:
  refs: loosen restriction on wildcard "*" refspecs
  refs: cleanup comments regarding check_refname_component()
</content>
</entry>
<entry>
<title>Merge branch 'dt/refs-backend-preamble'</title>
<updated>2015-08-03T18:01:29Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-08-03T18:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b6d323f1646d7204fc6693071e5be84377ece70b'/>
<id>urn:sha1:b6d323f1646d7204fc6693071e5be84377ece70b</id>
<content type='text'>
In preparation for allowing different "backends" to store the refs
in a way different from the traditional "one ref per file in $GIT_DIR
or in a $GIT_DIR/packed-refs file" filesystem storage, reduce
direct filesystem access to ref-like things like CHERRY_PICK_HEAD
from scripts and programs.

* dt/refs-backend-preamble:
  git-stash: use update-ref --create-reflog instead of creating files
  update-ref and tag: add --create-reflog arg
  refs: add REF_FORCE_CREATE_REFLOG flag
  git-reflog: add exists command
  refs: new public ref function: safe_create_reflog
  refs: break out check for reflog autocreation
  refs.c: add err arguments to reflog functions
</content>
</entry>
<entry>
<title>refs: add ref_type function</title>
<updated>2015-07-31T17:39:04Z</updated>
<author>
<name>David Turner</name>
<email>dturner@twopensource.com</email>
</author>
<published>2015-07-31T06:06:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=266b18273a742a33970e634d1858f292befdf943'/>
<id>urn:sha1:266b18273a742a33970e634d1858f292befdf943</id>
<content type='text'>
Add a function ref_type, which categorizes refs as per-worktree,
pseudoref, or normal ref.

Later, we will use this in refs.c to treat pseudorefs specially.
Alternate ref backends may use it to treat both pseudorefs and
per-worktree refs differently.

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