This series replaces three related topics from pu: js/remote-set-head jk/head-lookup js/remote-display It is based on master. I re-ordered the original commits such that all the refactoring outside of builtin-remote is done first, followed by some small cleanups of builtin-remote itself, and finally ending with the new builtin-remote functionality (set-head) and changes to its "show" output. I think it is easier to review this way and the history will be cleaner. The end result is largely unchanged from what is currently in pu, but the intermediate results obviously differ to account for the re-ordering. I've verified that each intermediate result compiles and passes t5505-remote.sh. I also ran the full test-suite after the first group of refactoring, and again at the end. I've diffed each of the changed files at the end of this series against what is currently in pu to verify I didn't miss anything and I saw nothing of note. So I think this series is clean, and doesn't need an extensive re-review, but a quick look-over would be appreciated. I signed off on Jeff's patches; please remove my SoB from those if it is inappropriate for me to have done so. Thanks, j. Jay Soffian (17): move duplicated get_local_heads() to remote.c move duplicated ref_newer() to remote.c move locate_head() to remote.c remote: simplify guess_remote_head() remote: let guess_remote_head() optionally return all matches remote: make match_refs() copy src ref before assigning to peer_ref remote: make match_refs() not short-circuit string-list: new for_each_string_list() function builtin-remote: refactor duplicated cleanup code builtin-remote: remove unused code in get_ref_states builtin-remote: rename variables and eliminate redundant function call builtin-remote: make get_remote_ref_states() always populate states.tracked builtin-remote: fix two inconsistencies in the output of "show <remote>" builtin-remote: teach show to display remote HEAD builtin-remote: add set-head subcommand builtin-remote: new show output style builtin-remote: new show output style for push refspecs Jeff King (4): test scripts: refactor start_httpd helper add basic http clone/fetch tests refactor find_ref_by_name() to accept const list remote: make guess_remote_head() use exact HEAD lookup if it is available Documentation/git-remote.txt | 28 ++- Makefile | 1 + builtin-clone.c | 41 +--- builtin-remote.c | 563 ++++++++++++++++++++++++++------ builtin-send-pack.c | 79 +----- cache.h | 2 +- contrib/completion/git-completion.bash | 2 +- http-push.c | 72 +---- refs.c | 4 +- remote.c | 136 ++++++++- remote.h | 12 + string-list.c | 10 + string-list.h | 5 + t/lib-httpd.sh | 9 +- t/t5505-remote.sh | 114 +++++-- t/t5540-http-push.sh | 9 +- t/t5550-http-fetch.sh | 57 ++++ 17 files changed, 818 insertions(+), 326 deletions(-) create mode 100755 t/t5550-http-fetch.sh -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html