<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/strbuf.h, branch v2.25.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.25.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.25.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-12-13T20:37:14Z</updated>
<entry>
<title>strbuf: add a helper function to call the editor "on an strbuf"</title>
<updated>2019-12-13T20:37:14Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2019-12-13T08:08:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b38dd9e7151f118b989f8c9851bc38a8a8733eaf'/>
<id>urn:sha1:b38dd9e7151f118b989f8c9851bc38a8a8733eaf</id>
<content type='text'>
This helper supports the scenario where Git has a populated `strbuf` and
wants to let the user edit it interactively.

In `git add -p`, we will use this to allow interactive hunk editing: the
diff hunks are already in memory, but we need to write them out to a
file so that an editor can be launched, then read everything back once
the user is done editing.

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 'md/list-objects-filter-combo'</title>
<updated>2019-09-18T18:50:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-09-18T18:50:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=627b82683447e299fc2e20140318c276efbf7de2'/>
<id>urn:sha1:627b82683447e299fc2e20140318c276efbf7de2</id>
<content type='text'>
The list-objects-filter API (used to create a sparse/lazy clone)
learned to take a combined filter specification.

* md/list-objects-filter-combo:
  list-objects-filter-options: make parser void
  list-objects-filter-options: clean up use of ALLOC_GROW
  list-objects-filter-options: allow mult. --filter
  strbuf: give URL-encoding API a char predicate fn
  list-objects-filter-options: make filter_spec a string_list
  list-objects-filter-options: move error check up
  list-objects-filter: implement composite filters
  list-objects-filter-options: always supply *errbuf
  list-objects-filter: put omits set in filter struct
  list-objects-filter: encapsulate filter components
</content>
</entry>
<entry>
<title>l10n: localizable upload progress messages</title>
<updated>2019-07-02T19:18:49Z</updated>
<author>
<name>Dimitriy Ryazantcev</name>
<email>dimitriy.ryazantcev@gmail.com</email>
</author>
<published>2019-07-02T18:22:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8f354a1faedba64daf5442c12cbc605441bb60b0'/>
<id>urn:sha1:8f354a1faedba64daf5442c12cbc605441bb60b0</id>
<content type='text'>
Currenly the data rate in throughput_string(...) method is
output by simple strbuf_humanise_bytes(...) call and '/s' append.
But for proper translation of such string the translator needs
full context.

Add strbuf_humanise_rate(...) method to properly print out
localizable version of data rate ('3.5 MiB/s' etc) with full context.

Strings with the units in strbuf_humanise_bytes(...) are marked
for translation.

Signed-off-by: Dimitriy Ryazantcev &lt;dimitriy.ryazantcev@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf: give URL-encoding API a char predicate fn</title>
<updated>2019-06-28T15:41:53Z</updated>
<author>
<name>Matthew DeVore</name>
<email>matvore@google.com</email>
</author>
<published>2019-06-27T22:54:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c2694952e33764818983fa247dcee72113c6ac6a'/>
<id>urn:sha1:c2694952e33764818983fa247dcee72113c6ac6a</id>
<content type='text'>
Allow callers to specify exactly what characters need to be URL-encoded
and which do not. This new API will be taken advantage of in a patch
later in this set.

Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Matthew DeVore &lt;matvore@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/stash-in-c'</title>
<updated>2019-04-22T02:14:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-04-22T02:14:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e36adf712251a19bd2ada0016764d340dfcf2ba0'/>
<id>urn:sha1:e36adf712251a19bd2ada0016764d340dfcf2ba0</id>
<content type='text'>
"git stash" rewritten in C.

* ps/stash-in-c: (28 commits)
  tests: add a special setup where stash.useBuiltin is off
  stash: optionally use the scripted version again
  stash: add back the original, scripted `git stash`
  stash: convert `stash--helper.c` into `stash.c`
  stash: replace all `write-tree` child processes with API calls
  stash: optimize `get_untracked_files()` and `check_changes()`
  stash: convert save to builtin
  stash: make push -q quiet
  stash: convert push to builtin
  stash: convert create to builtin
  stash: convert store to builtin
  stash: convert show to builtin
  stash: convert list to builtin
  stash: convert pop to builtin
  stash: convert branch to builtin
  stash: convert drop and clear to builtin
  stash: convert apply to builtin
  stash: mention options in `show` synopsis
  stash: add tests for `git stash show` config
  stash: rename test cases to be more descriptive
  ...
</content>
</entry>
<entry>
<title>strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`</title>
<updated>2019-02-28T23:03:46Z</updated>
<author>
<name>Paul-Sebastian Ungureanu</name>
<email>ungureanupaulsebastian@gmail.com</email>
</author>
<published>2019-02-25T23:16:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ef264dbdbc48b44ad5fc37e7542f3dc70e3e8c5'/>
<id>urn:sha1:5ef264dbdbc48b44ad5fc37e7542f3dc70e3e8c5</id>
<content type='text'>
Implement `strbuf_insertf()` and `strbuf_vinsertf()` to
insert data using a printf format string.

Original-idea-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Paul-Sebastian Ungureanu &lt;ungureanupaulsebastian@gmail.com&gt;
Helped-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Thomas Gummerer &lt;t.gummerer@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf.c: add `strbuf_join_argv()`</title>
<updated>2019-02-28T23:03:46Z</updated>
<author>
<name>Paul-Sebastian Ungureanu</name>
<email>ungureanupaulsebastian@gmail.com</email>
</author>
<published>2019-02-25T23:16:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e71c4a88f65ca1d325f52b19bf79c3660eab50f7'/>
<id>urn:sha1:e71c4a88f65ca1d325f52b19bf79c3660eab50f7</id>
<content type='text'>
Implement `strbuf_join_argv()` to join arguments
into a strbuf.

Signed-off-by: Paul-Sebastian Ungureanu &lt;ungureanupaulsebastian@gmail.com&gt;
Signed-off-by: Thomas Gummerer &lt;t.gummerer@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strbuf: separate callback for strbuf_expand:ing literals</title>
<updated>2019-01-29T18:03:32Z</updated>
<author>
<name>Anders Waldenborg</name>
<email>anders@0x63.nu</email>
</author>
<published>2019-01-28T21:33:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fd2015b323d283c73346d70d2285a927650bb60a'/>
<id>urn:sha1:fd2015b323d283c73346d70d2285a927650bb60a</id>
<content type='text'>
Expanding '%n' and '%xNN' is generic functionality, so extract that from
the pretty.c formatter into a callback that can be reused.

No functional change intended

Signed-off-by: Anders Waldenborg &lt;anders@0x63.nu&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pk/rebase-in-c-3-acts'</title>
<updated>2018-11-02T02:04:54Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-11-02T02:04:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=39f73315454d2553b2d3219a58f5110a60eba5a1'/>
<id>urn:sha1:39f73315454d2553b2d3219a58f5110a60eba5a1</id>
<content type='text'>
Rewrite "git rebase" in C.

* pk/rebase-in-c-3-acts:
  builtin rebase: stop if `git am` is in progress
  builtin rebase: actions require a rebase in progress
  builtin rebase: support --edit-todo and --show-current-patch
  builtin rebase: support --quit
  builtin rebase: support --abort
  builtin rebase: support --skip
  builtin rebase: support --continue
</content>
</entry>
<entry>
<title>Merge branch 'ag/rebase-i-in-c'</title>
<updated>2018-11-02T02:04:53Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-11-02T02:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b49ef560ed66449d24a3fdfe25972c390bb44951'/>
<id>urn:sha1:b49ef560ed66449d24a3fdfe25972c390bb44951</id>
<content type='text'>
Rewrite of the remaining "rebase -i" machinery in C.

* ag/rebase-i-in-c:
  rebase -i: move rebase--helper modes to rebase--interactive
  rebase -i: remove git-rebase--interactive.sh
  rebase--interactive2: rewrite the submodes of interactive rebase in C
  rebase -i: implement the main part of interactive rebase as a builtin
  rebase -i: rewrite init_basic_state() in C
  rebase -i: rewrite write_basic_state() in C
  rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
  rebase -i: implement the logic to initialize $revisions in C
  rebase -i: remove unused modes and functions
  rebase -i: rewrite complete_action() in C
  t3404: todo list with commented-out commands only aborts
  sequencer: change the way skip_unnecessary_picks() returns its result
  sequencer: refactor append_todo_help() to write its message to a buffer
  rebase -i: rewrite checkout_onto() in C
  rebase -i: rewrite setup_reflog_action() in C
  sequencer: add a new function to silence a command, except if it fails
  rebase -i: rewrite the edit-todo functionality in C
  editor: add a function to launch the sequence editor
  rebase -i: rewrite append_todo_help() in C
  sequencer: make three functions and an enum from sequencer.c public
</content>
</entry>
</feed>
