git remote: set-head and new show output
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest21 patches 6 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/21 | test scripts: refactor start_httpd helpert/ t/ | +8 | 0 replies | |
| 2/21 | add basic http clone/fetch testsMakefile t/ t/ | +48 | 0 replies | |
| 3/21 | refactor find_ref_by_name() to accept const listcache.h refs.c | +3 | 0 replies | |
| 4/21 | move duplicated get_local_heads() to remote.cbuiltin-send-pack.c http-push.c remote.c +1 more | +31 | 0 replies | |
| 5/21 | move duplicated ref_newer() to remote.cbuiltin-send-pack.c http-push.c remote.c +1 more | +50 | 0 replies | |
| 6/21 | move locate_head() to remote.cbuiltin-clone.c remote.c remote.h | +49 | 0 replies | |
| 7/21 | remote: simplify guess_remote_head()builtin-clone.c remote.c remote.h | +16 | 0 replies | |
| 8/21 | remote: let guess_remote_head() optionally return all matchesbuiltin-clone.c remote.c remote.h | +35 | 7 replies | |
| 8/21 | remote: let guess_remote_head() optionally return all matchesbuiltin-clone.c remote.c remote.h | +28 | 0 replies | |
| 9/21 | remote: make match_refs() copy src ref before assigning to peer_refremote.c | +5 | 0 replies | |
| 10/21 | remote: make match_refs() not short-circuitremote.c | +4 | 0 replies | |
| 11/21 | string-list: new for_each_string_list() functionstring-list.c string-list.h | +15 | 0 replies | |
| 12/21 | builtin-remote: refactor duplicated cleanup codebuiltin-remote.c | +9 | 0 replies | |
| 13/21 | builtin-remote: remove unused code in get_ref_statesbuiltin-remote.c | +3 | 0 replies | |
| 14/21 | builtin-remote: rename variables and eliminate redundant function callbuiltin-remote.c | +12 | 0 replies | |
| 15/21 | builtin-remote: make get_remote_ref_states() always populate states.trackedbuiltin-remote.c | +16 | 0 replies | |
| 16/21 | builtin-remote: fix two inconsistencies in the output of "show <remote>"builtin-remote.c t/ | +11 | 0 replies | |
| 17/21 | builtin-remote: teach show to display remote HEADbuiltin-remote.c t/ | +59 | 0 replies | |
| 18/21 | builtin-remote: add set-head subcommandDocumentation/ builtin-remote.c contrib/ +1 more | +129 | 0 replies | |
| 19/21 | remote: make guess_remote_head() use exact HEAD lookup if it is availableremote.c t/ | +21 | 0 replies | |
| 19/21 | remote: make guess_remote_head() use exact HEAD lookup if it is availableremote.c t/ | +19 | 0 replies | |
| 20/21 | builtin-remote: new show output stylebuiltin-remote.c t/ | +157 | 0 replies | |
| 21/21 | builtin-remote: new show output style for push refspecsbuiltin-remote.c t/ | +207 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/21] git remote: set-head and new show output
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