Commit Briefs

be288a59f4 Thomas Adam

rename lib/sha1.c to lib/hash.c

It will soon grow functions to deal with sha256 too. stsp@ agrees.


588a8092bc Thomas Adam

include sha2.h too where sha1.h is included

In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


283e0dd797 Thomas Adam

gotwebd: add missing colon after 'Message' in diff view

Patch by Josiah Frentsos, thanks!


3f478b8d2c Thomas Adam

bump version number


5e95dc0fc2 Thomas Adam

CHANGES for 0.84


9382c10a8a Thomas Adam

fix tog diff between arbitrary commits

Don't assume commit info is always written. This is only true when diffing a commit against (one of) its direct parent(s). Otherwise we perform an invalid read on a tmp got_diff_line array and end up passing bogus offsets to fseeko(). Bug found and fixed by stsp with a minor tweak by me. ok jamsek for stsp's initial diff ok stsp@


ec629cf4ad Thomas Adam

gotwebd: gc unused opendir(). ok stsp@


2cf2727869 Thomas Adam

gitconfig.c: look for comments after trimming the start of the line

This fixes the (harmless) errors raised by gitconfig.c on indented comment lines and adds a test case for it. Reported by James Cook, thanks! ok stsp@



a15b57cdbd Thomas Adam

gotwebd.conf: sync defaults

The first example is meant to show the default values for all the options. Sync with reality.


b16f18320c Thomas Adam

fix 'got merge' so it parses gitconfig for author

cmd_merge is the only subcommand that may create commits that doesn't parse the git config files, thusly failing for users without GOT_AUTHOR defined. Problem reported by James Cook who also provided an initial test case, thanks! ok jamsek


c12ab9ad7f Thomas Adam

fix "got fetch" hang against out-of-date remote repositories

Do not assume that remote repositories will always have our objects. In Git protocol terms: Do not wait for an ACK from the server before sending the final "done" message. Otherwise servers might be waiting for more have-lines from us in order to find a common ancestor, which will never be sent by us. Problem reported by James Cook who also provided an initial test case ok op@


47c7ee21b5 Thomas Adam

use newly publicised diff_chunk_type() diff API

To skip chunks without newly added lines. ok stsp@


ae012d47ff Thomas Adam

sync files from diff.git e78a8d73c23ee314fdbdf110d5c55866c9ef9680

Moves diff_chunk_type into the public diff API.


1b5d300f3f Thomas Adam

have ignore patterns with trailing slashes match directories only

ok jamsek



450d9f6b21 Thomas Adam

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@


db9ae6560f Thomas Adam

sync files from diff.git f26db7cd2804ebc6a3f81e7e00e008450eb42228

Contains new APIs for chunk offset retrieval.


5d6fee7370 Thomas Adam

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.


35cdfa2c87 Thomas Adam

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@



4c4f6843eb Thomas Adam

tweak send_zero_refs; use GOT_SHA1_STRING_ZERO

ok stsp@


8de9d8ad91 Thomas Adam

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@


40d0d6a409 Thomas Adam

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@


b6ac0d3606 Thomas Adam

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.