Commit Briefs
rename got_fetch_parse_uri() to got_dial_parse_uri()
This function is now being used by both 'got fetch' and 'got send' so its former name was misleading.
de-duplicate a constant used by both 'got fetch' and 'got send'
Both GOT_FETCH_PKTMAX and GOT_SEND_PKTMAX had the same value. Declare this value as GOT_PKT_MAX in got_lib_pkt.h instead.
move duplicated dial_ssh() and dial_git() functions into a common file
These functions are used by 'got send' and 'got fetch' in order to open network connections to a server. Move them into new file lib/dial.c and declare relevant functions in got_dial.h and lib/got_lib_dial.h. No functional change.
move more code used by got-send-pack and got-fetch-pack to a common file
Move functions and data structures which implement Git protocol features required for fetching and sending pack files to new files lib/gitproto.c and lib/got_lib_gitproto.h. This code was duplicated in got-fetch-pack and got-send-pack. No functional change.
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.
make "got branch -d" print reference name and value
Also silence output of "got branch -d" in a regression test, from stsp. ok stsp
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.
limit checks for merge conflicts to files affected by the merge
Performance problems reported by naddy
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