<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/sequencer.c, branch v2.10.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.10.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.10.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-08-24T15:41:22Z</updated>
<entry>
<title>i18n: fix typos for translation</title>
<updated>2016-08-24T15:41:22Z</updated>
<author>
<name>Jean-Noel Avila</name>
<email>jn.avila@free.fr</email>
</author>
<published>2016-08-21T14:50:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cd3e4677cffbe1609c2484d6aa328ad9208e8171'/>
<id>urn:sha1:cd3e4677cffbe1609c2484d6aa328ad9208e8171</id>
<content type='text'>
Signed-off-by: Jean-Noel Avila &lt;jn.avila@free.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'js/am-3-merge-recursive-direct'</title>
<updated>2016-08-10T19:33:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-10T19:33:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1a5f1a3f256a53014e5b832e1281d952ec5f9ef7'/>
<id>urn:sha1:1a5f1a3f256a53014e5b832e1281d952ec5f9ef7</id>
<content type='text'>
"git am -3" calls "git merge-recursive" when it needs to fall back
to a three-way merge; this call has been turned into an internal
subroutine call instead of spawning a separate subprocess.

* js/am-3-merge-recursive-direct:
  merge-recursive: flush output buffer even when erroring out
  merge_trees(): ensure that the callers release output buffer
  merge-recursive: offer an option to retain the output in 'obuf'
  merge-recursive: write the commit title in one go
  merge-recursive: flush output buffer before printing error messages
  am -3: use merge_recursive() directly again
  merge-recursive: switch to returning errors instead of dying
  merge-recursive: handle return values indicating errors
  merge-recursive: allow write_tree_from_memory() to error out
  merge-recursive: avoid returning a wholesale struct
  merge_recursive: abort properly upon errors
  prepare the builtins for a libified merge_recursive()
  merge-recursive: clarify code in was_tracked()
  die(_("BUG")): avoid translating bug messages
  die("bug"): report bugs consistently
  t5520: verify that `pull --rebase` shows the helpful advice when failing
</content>
</entry>
<entry>
<title>Merge branch 'rs/use-strbuf-addstr'</title>
<updated>2016-08-08T21:48:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-08T21:48:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=940622bc8b33e085f62c5bcfe6183fe6f57888e2'/>
<id>urn:sha1:940622bc8b33e085f62c5bcfe6183fe6f57888e2</id>
<content type='text'>
* rs/use-strbuf-addstr:
  use strbuf_addstr() instead of strbuf_addf() with "%s"
  use strbuf_addstr() for adding constant strings to a strbuf
</content>
</entry>
<entry>
<title>use strbuf_addstr() instead of strbuf_addf() with "%s"</title>
<updated>2016-08-05T22:09:25Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2016-08-05T20:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bc57b9c0cc5a123365a922fa1831177e3fd607ed'/>
<id>urn:sha1:bc57b9c0cc5a123365a922fa1831177e3fd607ed</id>
<content type='text'>
Call strbuf_addstr() for adding a simple string to a strbuf instead of
using the heavier strbuf_addf().  This is shorter and documents the
intent more clearly.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>merge_trees(): ensure that the callers release output buffer</title>
<updated>2016-08-01T18:45:30Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-08-01T11:44:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=548009c0d58c74dde2c51f675b369b4c50878f1b'/>
<id>urn:sha1:548009c0d58c74dde2c51f675b369b4c50878f1b</id>
<content type='text'>
The recursive merge machinery accumulates its output in an output
buffer, to be flushed at the end of merge_recursive(). At this point,
we forgot to release the output buffer.

When calling merge_trees() (i.e. the non-recursive part of the recursive
merge) directly, the output buffer is never flushed because the caller
may be merge_recursive() which wants to flush the output itself.

For the same reason, merge_trees() cannot release the output buffer: it
may still be needed.

Forgetting to release the output buffer did not matter much when running
git-checkout, or git-merge-recursive, because we exited after the
operation anyway. Ever since cherry-pick learned to pick a commit range,
however, this memory leak had the potential of becoming a problem.

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 'js/find-commit-subject-ignore-leading-blanks' into maint</title>
<updated>2016-07-28T18:25:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-28T18:25:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4966b58f3e1f295e3fb22560006b1db717b56f37'/>
<id>urn:sha1:4966b58f3e1f295e3fb22560006b1db717b56f37</id>
<content type='text'>
A helper function that takes the contents of a commit object and
finds its subject line did not ignore leading blank lines, as is
commonly done by other codepaths.  Make it ignore leading blank
lines to match.

* js/find-commit-subject-ignore-leading-blanks:
  reset --hard: skip blank lines when reporting the commit subject
  sequencer: use skip_blank_lines() to find the commit subject
  commit -C: skip blank lines at the beginning of the message
  commit.c: make find_commit_subject() more robust
  pretty: make the skip_blank_lines() function public
</content>
</entry>
<entry>
<title>prepare the builtins for a libified merge_recursive()</title>
<updated>2016-07-26T18:13:44Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2016-07-26T16:06:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f241ff0d0a9ddb84b2f673a1b7a92fea0d6add3a'/>
<id>urn:sha1:f241ff0d0a9ddb84b2f673a1b7a92fea0d6add3a</id>
<content type='text'>
Previously, callers of merge_trees() or merge_recursive() expected that
code to die() with an error message. This used to be okay because we
called those commands from scripts, and had a chance to print out a
message in case the command failed fatally (read: with exit code 128).

As scripting incurs its own set of problems (portability, speed,
idiosyncrasies of different shells, limited data structures leading to
inefficient code), we are converting more and more of these scripts into
builtins, using library functions directly.

We already tried to use merge_recursive() directly in the builtin
git-am, for example. Unfortunately, we had to roll it back temporarily
because some of the code in merge-recursive.c still deemed it okay to
call die(), when the builtin am code really wanted to print out a useful
advice after the merge failed fatally. In the next commits, we want to
fix that.

The code touched by this commit expected merge_trees() to die() with
some useful message when there is an error condition, but merge_trees()
is going to be improved by converting all die() calls to return error()
instead (i.e. return value -1 after printing out the message as before),
so that the caller can react more flexibly.

This is a step to prepare for the version of merge_trees() that no
longer dies,  even if we just imitate the previous behavior by calling
exit(128): this is what callers of e.g. `git merge` have come to expect.

Note that the callers of the sequencer (revert and cherry-pick) already
fail fast even for the return value -1; The only difference is that they
now get a chance to say "&lt;command&gt; failed".

A caller of merge_trees() might want handle error messages themselves
(or even suppress them). As this patch is already complex enough, we
leave that change for a later patch.

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 'va/i18n-even-more'</title>
<updated>2016-07-13T18:24:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-13T18:24:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2703572b3a005848ed058d2775fb933a17ac3656'/>
<id>urn:sha1:2703572b3a005848ed058d2775fb933a17ac3656</id>
<content type='text'>
More markings of messages for i18n, with updates to various tests
to pass GETTEXT_POISON tests.

One patch from the original submission dropped due to conflicts
with jk/upload-pack-hook, which is still in flux.

* va/i18n-even-more: (38 commits)
  t5541: become resilient to GETTEXT_POISON
  i18n: branch: mark comment when editing branch description for translation
  i18n: unmark die messages for translation
  i18n: submodule: escape shell variables inside eval_gettext
  i18n: submodule: join strings marked for translation
  i18n: init-db: join message pieces
  i18n: remote: allow translations to reorder message
  i18n: remote: mark URL fallback text for translation
  i18n: standardise messages
  i18n: sequencer: add period to error message
  i18n: merge: change command option help to lowercase
  i18n: merge: mark messages for translation
  i18n: notes: mark options for translation
  i18n: notes: mark strings for translation
  i18n: transport-helper.c: change N_() call to _()
  i18n: bisect: mark strings for translation
  t5523: use test_i18ngrep for negation
  t4153: fix negated test_i18ngrep call
  t9003: become resilient to GETTEXT_POISON
  tests: unpack-trees: update to use test_i18n* functions
  ...
</content>
</entry>
<entry>
<title>Merge branch 'js/find-commit-subject-ignore-leading-blanks'</title>
<updated>2016-07-11T17:31:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-11T17:31:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=62e5e83f8dfc98e182a1ca3a48b2c69f4fd417ce'/>
<id>urn:sha1:62e5e83f8dfc98e182a1ca3a48b2c69f4fd417ce</id>
<content type='text'>
A helper function that takes the contents of a commit object and
finds its subject line did not ignore leading blank lines, as is
commonly done by other codepaths.  Make it ignore leading blank
lines to match.

* js/find-commit-subject-ignore-leading-blanks:
  reset --hard: skip blank lines when reporting the commit subject
  sequencer: use skip_blank_lines() to find the commit subject
  commit -C: skip blank lines at the beginning of the message
  commit.c: make find_commit_subject() more robust
  pretty: make the skip_blank_lines() function public
</content>
</entry>
<entry>
<title>Merge branch 'mg/cherry-pick-multi-on-unborn' into maint</title>
<updated>2016-07-06T20:06:42Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-06T20:06:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=25227f0beacf00d80420e313ffed48032352037f'/>
<id>urn:sha1:25227f0beacf00d80420e313ffed48032352037f</id>
<content type='text'>
"git cherry-pick A" worked on an unborn branch, but "git
cherry-pick A..B" didn't.

* mg/cherry-pick-multi-on-unborn:
  cherry-pick: allow to pick to unborn branches
</content>
</entry>
</feed>
