Commit Briefs

Stefan Sperling

have ignore patterns with trailing slashes match directories only

ok jamsek



Mark Jamsek

use chunk offset to efficiently detect conflict markers

Rather than skip lines, use the new diff APIs to directly seek to each chunk with newly added lines for more efficient conflict marker detection. ok stsp@


Mark Jamsek

sync files from diff.git f26db7cd2804ebc6a3f81e7e00e008450eb42228

Contains new APIs for chunk offset retrieval.


Stefan Sperling

extend test_import_ignores test coverage

Cover the case where a regular file would match if the ignore pattern did not have a trailing slash.


Omar Polo

use struct got_object_id instead of sha1 digest in a few imsg

change got_img_commit_painting_request, got_imsg_tag_object and the data of GOT_IMSG_TRAVERSED_COMMITS not to copy the sha1 digest to the imsg buffer and then from it to a new struct got_object_id but send directly the whole struct. ok stsp@



Omar Polo

tweak send_zero_refs; use GOT_SHA1_STRING_ZERO

ok stsp@


Mark Jamsek

optimise parsing of modified files for conflict markers

As per stsp's original design for detecting new conflicts, rather than produce a diff formatted for human consumption, parse the raw diff result to scan only newly added lines for conflict markers. While here, fix a couple related bugs in the original implementation: (1) rewind the versioned file blob so we don't end up with an empty "from" (i.e., LHS of the diff) file; and (2) force an ASCII text diff for so we don't miss conflicts in binary files. ok stsp@


Omar Polo

gitconfig.c: fix read/write out of bounds

conf_parse_line advances the `line' pointer without decrementing the line size `sz'. This makes the parsing code mistakingly reading from the next line (`line' is just a pointer in a bigger buffer that holds the whole file) and may mangle it by writing NUL bytes in it. Add also a new regress case to trigger this case. Reported by falsifian on IRC, thanks! ok stsp@


Omar Polo

gitconfig.c: fix printing of debugging logs

all the othe LOG_DBG calls assume \n is implicit (like with err(3)), so remove the only explicit \n and make log_debug printing a newline too.



Mark Jamsek

add ci/he/mg/rb -C option to commit unresolved conflicts

As per stsp's suggestion and building on his initial diff, add the -C option to enable creating commits with unresolved conflicts to the commit, histedit, merge, and rebase commands to allow continuing the operation despite files in conflict status. Also, only search for conflict markers in newly added lines to enable working with files already under version control that may have conflict markers embedded verbatim. lots of tweaks, improvements, and initial diff + ok stsp@


Omar Polo

use SHA1_DIGEST_LENGTH instead of sizeof(id)

ok stsp


Mark Jamsek

update regress for fetch tweaks added in previous commit

ok stsp@