Commit Briefs

017d8b7bf9 Stefan Sperling

properly initialize csum struct in write_packed_object()

fixes send.sh test fallout on arm64 and should also fix i386 ok op@


14f89e3e53 Christian Weisgerber

format message digest as hex string directly without snprintf()

ok op


ae25a666dd Omar Polo

add some helper functions to compute hashes

This adds a set of functions to abstract over SHA1Init, SHA1Update, SHA1Final, their respective SHA256 variants and how to compare digests. Replace all the SHA1*() usage with the new APIs. It's a preparatory step for sha256 handling. ok stsp@


87a3ab84d3 Omar Polo

provide functions to parse/serialize different hashes

it abstracts over the hash type and ensures that object ids are zero'ed before their sha1 digest is written. Needed by the incoming sha256 support. ok stsp@


53bf0b5419 Omar Polo

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

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


5822e79e39 Omar Polo

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>


af48e677ec Omar Polo

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

Patch by Josiah Frentsos, thanks!


2bf91741eb Stefan Sperling

bump version number


1bff81626e Stefan Sperling

CHANGES for 0.84 (tags/0.84)


5afebbd1b6 Mark Jamsek

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@


fd8d60a2d1 Omar Polo

gotwebd: gc unused opendir(). ok stsp@


de51a12a5b Omar Polo

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@



92e48697fb Omar Polo

gotwebd.conf: sync defaults

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


d51d11be9b Omar Polo

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


1a0d06a3c2 Stefan Sperling

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@


45e6b2f427 Mark Jamsek

use newly publicised diff_chunk_type() diff API

To skip chunks without newly added lines. ok stsp@


c251eeea7a Mark Jamsek

sync files from diff.git e78a8d73c23ee314fdbdf110d5c55866c9ef9680

Moves diff_chunk_type into the public diff API.


249b637c50 Stefan Sperling

have ignore patterns with trailing slashes match directories only

ok jamsek



7783f73c4b 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@


3db5a0afed Mark Jamsek

sync files from diff.git f26db7cd2804ebc6a3f81e7e00e008450eb42228

Contains new APIs for chunk offset retrieval.


d0f874e072 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.


076fbedce1 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@