<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/bisect.c, branch v2.29.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.29.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.29.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2020-09-24T19:06:30Z</updated>
<entry>
<title>bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C</title>
<updated>2020-09-24T19:06:30Z</updated>
<author>
<name>Pranit Bauva</name>
<email>pranit.bauva@gmail.com</email>
</author>
<published>2020-09-24T12:33:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=517ecb3161daa4503f7638489fd44177b3659913'/>
<id>urn:sha1:517ecb3161daa4503f7638489fd44177b3659913</id>
<content type='text'>
Reimplement the `bisect_next()` and the `bisect_auto_next()` shell functions
in C and add the subcommands to `git bisect--helper` to call them from
git-bisect.sh .

bisect_auto_next() function returns an enum bisect_error type as whole
`git bisect` can exit with an error code when bisect_next() does.

Return an error when `bisect_next()` fails, that fix a bug on shell script
version.

Using `--bisect-next` and `--bisect-auto-next` subcommands is a
temporary measure to port shell function to C so as to use the existing
test suite. As more functions are ported, `--bisect-auto-next`
subcommand will be retired and will be called by some other methods.

Mentored-by: Lars Schneider &lt;larsxschneider@gmail.com&gt;
Mentored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Mentored-by: Johannes Schindelin &lt;Johannes.Schindelin@gmx.de&gt;
Signed-off-by: Pranit Bauva &lt;pranit.bauva@gmail.com&gt;
Signed-off-by: Tanushree Tumane &lt;tanushreetumane@gmail.com&gt;
Signed-off-by: Miriam Rubio &lt;mirucam@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()'</title>
<updated>2020-09-24T19:06:30Z</updated>
<author>
<name>Miriam Rubio</name>
<email>mirucam@gmail.com</email>
</author>
<published>2020-09-24T12:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c7a7f48f4fe8319867ea025e55e930b48455652a'/>
<id>urn:sha1:c7a7f48f4fe8319867ea025e55e930b48455652a</id>
<content type='text'>
As there can be other revision walks after bisect_next_all(),
let's add a call to a function to clear all the marks at the
end of bisect_next_all().

Mentored-by: Christian Couder &lt;chriscool@tuxfamily.org&gt;
Signed-off-by: Miriam Rubio &lt;mirucam@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'al/bisect-first-parent'</title>
<updated>2020-08-18T00:02:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-08-18T00:02:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=47f0f94bc796037c43000a9852cdf9209a3c3274'/>
<id>urn:sha1:47f0f94bc796037c43000a9852cdf9209a3c3274</id>
<content type='text'>
"git bisect" learns the "--first-parent" option to find the first
breakage along the first-parent chain.

* al/bisect-first-parent:
  bisect: combine args passed to find_bisection()
  bisect: introduce first-parent flag
  cmd_bisect__helper: defer parsing no-checkout flag
  rev-list: allow bisect and first-parent flags
  t6030: modernize "git bisect run" tests
</content>
</entry>
<entry>
<title>Merge branch 'rs/bisect-oid-to-hex-fix'</title>
<updated>2020-08-10T17:24:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-08-10T17:24:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7d7f4e3a3e64440dd38aa7da2d871813ae57eab7'/>
<id>urn:sha1:7d7f4e3a3e64440dd38aa7da2d871813ae57eab7</id>
<content type='text'>
Code cleanup.

* rs/bisect-oid-to-hex-fix:
  bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex()
</content>
</entry>
<entry>
<title>bisect: combine args passed to find_bisection()</title>
<updated>2020-08-07T22:13:03Z</updated>
<author>
<name>Aaron Lipman</name>
<email>alipman88@gmail.com</email>
</author>
<published>2020-08-07T21:58:38Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ad464a4e84b502fdfd4671f1c443060c7e87113f'/>
<id>urn:sha1:ad464a4e84b502fdfd4671f1c443060c7e87113f</id>
<content type='text'>
Now that find_bisection() accepts multiple boolean arguments, these may
be combined into a single unsigned integer in order to declutter some of
the code in bisect.c

Also, rename the existing "flags" bitfield to "commit_flags", to
explicitly differentiate it from the new "bisect_flags" bitfield.

Based-on-patch-by: Harald Nordgren &lt;haraldnordgren@gmail.com&gt;
Signed-off-by: Aaron Lipman &lt;alipman88@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>bisect: introduce first-parent flag</title>
<updated>2020-08-07T22:13:03Z</updated>
<author>
<name>Aaron Lipman</name>
<email>alipman88@gmail.com</email>
</author>
<published>2020-08-07T21:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e8861ffc203fe5ea3da97210e60b2e886002f218'/>
<id>urn:sha1:e8861ffc203fe5ea3da97210e60b2e886002f218</id>
<content type='text'>
Upon seeing a merge commit when bisecting, this option may be used to
follow only the first parent.

In detecting regressions introduced through the merging of a branch, the
merge commit will be identified as introduction of the bug and its
ancestors will be ignored.

This option is particularly useful in avoiding false positives when a
merged branch contained broken or non-buildable commits, but the merge
itself was OK.

Signed-off-by: Aaron Lipman &lt;alipman88@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>cmd_bisect__helper: defer parsing no-checkout flag</title>
<updated>2020-08-07T22:13:03Z</updated>
<author>
<name>Aaron Lipman</name>
<email>alipman88@gmail.com</email>
</author>
<published>2020-08-07T21:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=be5fe2000df5c1110d8086e4704e1a90a64f7387'/>
<id>urn:sha1:be5fe2000df5c1110d8086e4704e1a90a64f7387</id>
<content type='text'>
cmd_bisect__helper() is intended as a temporary shim layer serving as an
interface for git-bisect.sh. This function and git-bisect.sh should
eventually be replaced by a C implementation, cmd_bisect(), serving as
an entrypoint for all "git bisect ..." shell commands: cmd_bisect() will
only parse the first token following "git bisect", and dispatch the
remaining args to the appropriate function ["bisect_start()",
"bisect_next()", etc.].

Thus, cmd_bisect__helper() should not be responsible for parsing flags
like --no-checkout. Instead, let the --no-checkout flag remain in the
argv array, so it may be evaluated alongside the other options already
parsed by bisect_start().

Signed-off-by: Aaron Lipman &lt;alipman88@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>rev-list: allow bisect and first-parent flags</title>
<updated>2020-08-07T22:11:59Z</updated>
<author>
<name>Aaron Lipman</name>
<email>alipman88@gmail.com</email>
</author>
<published>2020-08-07T21:58:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0fe305a5d342225976688b1bd68dc4dc179b66b3'/>
<id>urn:sha1:0fe305a5d342225976688b1bd68dc4dc179b66b3</id>
<content type='text'>
Add first_parent_only parameter to find_bisection(), removing the
barrier that prevented combining the --bisect and --first-parent flags
when using git rev-list

Based-on-patch-by: Tiago Botelho &lt;tiagonbotelho@hotmail.com&gt;
Signed-off-by: Aaron Lipman &lt;alipman88@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex()</title>
<updated>2020-08-02T20:02:52Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2020-08-02T14:36:50Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7d23ff818f156da48882bec9ac84fb4e33dd619a'/>
<id>urn:sha1:7d23ff818f156da48882bec9ac84fb4e33dd619a</id>
<content type='text'>
Write the hexadecimal object ID directly into the destination buffer
using oid_to_hex_r() instead of writing it into a static buffer first
using oid_to_hex() and then copying it from there using memcpy().
This is shorter, simpler and a bit more efficient.

Reviewed-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: René Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>strvec: rename struct fields</title>
<updated>2020-07-31T02:18:06Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2020-07-29T00:37:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d70a9eb611a9d242c1d26847d223b8677609305b'/>
<id>urn:sha1:d70a9eb611a9d242c1d26847d223b8677609305b</id>
<content type='text'>
The "argc" and "argv" names made sense when the struct was argv_array,
but now they're just confusing. Let's rename them to "nr" (which we use
for counts elsewhere) and "v" (which is rather terse, but reads well
when combined with typical variable names like "args.v").

Note that we have to update all of the callers immediately. Playing
tricks with the preprocessor is hard here, because we wouldn't want to
rewrite unrelated tokens.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
