Commit Briefs

Stefan Sperling

changes for 0.42 (tags/0.42)


Stefan Sperling

fix 'bad path' error from 'got clone' by unveiling the repository path again

Problem found by jrick


Christian Weisgerber

prefer the BSD extension to reset getopt over the GNU one

Sadly there is no portable way to reset getopt(3). BSD: optind = 1; optreset = 1; GNU: optind = 0; ok stsp


Christian Weisgerber

fix potential type mismatches between format specifiers and arguments

Cast printf arguments of type time_t and off_t to long long to match the %lld format specifier on platforms where this might not be the case. In parse.y, switch the number variable to long long because all its interactions are with that type anyway. ok millert stsp


Stefan Sperling

rework got's commit-time log message modification check

Use a new approach for detecting unchanged log messages: Strip comments and leading/trailing empty lines from both the initial content and the modified log message, then compare the result. Do not assume a fixed upper limit for the length of a line. Change suggested and patch tested by jrick typo fix + ok naddy


Stefan Sperling

whitespace fixes (patch by jrick)



Christian Weisgerber

remove unused #includes


Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.41 (tags/0.41)


Tracey Emery

restore code removed in b5f0780096f443734de8fc503ca92bf737e2a7b2 and complete code so sub directories work in gotweb

This was pointed out by uwerler in IRC. ok stsp



Stefan Sperling

do not pledge 'got integrate' in a PROFILE=1 build

found by jrick on freenode


Stefan Sperling

allow an interrupted 'got clone' to be resumed by 'got fetch'

Set up config files as soon as possible such that 'got fetch' has enough information in order to resume an interrupted clone operation. We need to receive at least a default HEAD branch name from the server before we can set up our configuration files. The previous code also verified whether the default branch name supplied by the server resolved to a commit received in the pack file. This check cannot be done early but a wrong branch name in a config file can be fixed easily.




Stefan Sperling

fix default branch name written to Git config file by 'got clone'

The generated Git config file instructed Git to fetch all branches rather than the default branch as was intended. Check generated configuration files in all clone tests in order to catch such problems in the future.






Stefan Sperling

fix matching the object ID of the first object in a pack index

An object ID which appears first in a pack index was wrongly ignored by got_packidx_match_id_str_prefix(). The result was a spurious "object not found" error when this object ID was passed on the command line. Reported by jrick on freenode who was lucky enough to this edge case!


Stefan Sperling

make 'got histedit' collapse folded add+delete operations into a no-op

If a merged commit wants to delete a locally added file, and this locally added file matches the content which was deleted in the commit being merged, we can go ahead with the deletion because there is no risk of data loss. fixes the histedit problem reported by jrick on freenode


Stefan Sperling

add an xfail test for a histedit issue where a deleted file remains

If a previous commit introduces a new file, and it is folded into a commit that deletes the same file, the file still exists after the histedit. reported by jrick on freenode