Commits


move pkt code used by got-fetch-pack and got-send-pack to a common file The Git protocol uses a simple packet framing format. The got-fetch-pack and got-send-pack programs contained identical copies of functions to support this format. Move related functions to new file lib/pkt.c and link both programs against this common implementation. No functional change.


tog: when jumping to the bottom of the log view, go from the tail backwards ok jasper


make "got branch -d" print reference name and value Also silence output of "got branch -d" in a regression test, from stsp. ok stsp


tog: jump directly to first log item instead of traversing the list ok tracey


tog: add support for navigating to first/last line of tree and ref views ok stsp


bump version number


changes for 0.57


fix 'got send' adding too many objects to the pack file in some cases Load server-side tags before loading local commits. Otherwise objects which are reachable via server-side tags will not be filtered out.


add test which covers a cherrypick merge from a branch to itself


add a test case which covers 'got cherrypick' in a mixed-commit work tree


limit checks for merge conflicts to files affected by the merge Performance problems reported by naddy


sys/param.h is not needed


plug a memory leak in check_merge_ok()


remove ancestry sanity checks from 'got cherrypick' and 'got backout' While these checks might catch usage mistakes the performance overhead of scanning the entire history of the current branch is not worth it. Measurements provided by naddy, cherrypicking 5 commits of OpenBSD's src repository in usr.bin/rsync: Before: 5m50.33s real 4m02.36s user 2m04.41s system After: 1m04.92s real 0m28.24s user 0m36.54s system Further performance improvements could be needed but this is a first step.


fix bogus error when 'got cherrypick' merges changes into a locally added file reported by + ok naddy