Skip to content

builtin-remote improvments

Jay Soffian git 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 23 patches 5 repliesIn review

Patches in v1 No applies recorded yet

None of the 23 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/23] builtin-remote improvments

Junio, this is a big series, so let me explain.

Patches 1-5 are js/remote-set-head, but rebased on master (2d602e9). I did this because patch 18 in this series depends on commit cfa1ee6 which is now in master, but was not when you originally spawned js/remote-set-head. I also corrected two failing tests in #3.

Patches 6-18 are the 13 patch series I sent out earlier, directly on-top of 1-5, instead of on pu. I incorporated the feedback I received, and re-ordered the patches to put all the refactoring, as well as non-builtin-remote changes, first among the 13.

Patches 19-23 are jk/head-lookup, now based at the end of my changes. Previously they were effectively between 1-5 and 6-18.

You might consider applying #6 (make match_refs() copy src...) independently to master if it is obvious enough, but in any case it has to come before #18 in this series.

I wasn't sure what to do about the SOB on the rebased patches, so I kept Jeff's, removed yours, and added my own. Please correct me if this was the wrong thing to do.

Finally, I've and compiled and run t5505-remote.sh after each individual commit, as well as the entire default test suite (but w/NO_SVN_TESTS=YesPlease) after #10 and #23.

Thank you for your patience with this topic.

j.

Jay Soffian (18):
builtin-clone: move locate_head() to remote.c so it can be re-used
builtin-remote: move duplicated cleanup code its own function
builtin-remote: teach show to display remote HEAD
builtin-remote: add set-head subcommand
builtin-remote: better handling of multiple remote HEADs

remote.c: make match_refs() copy src ref before assigning to peer_ref remote.c: don't short-circuit match_refs() when error in match_explicit_refs() refactor duplicated get_local_heads() to remote.c
refactor duplicated ref_newer() to remote.c
string-list: new for_each_string_list() function
builtin-remote: rename variable and eliminate redundant function call
builtin-remote: name remote_refs consistently
builtin-remote: remove unused code in get_ref_states
builtin-remote: fix two inconsistencies in the output of "show <remote>"
builtin-remote: make get_remote_ref_states() always populate states.tracked
builtin-remote: refactor get_remote_ref_states()
builtin-remote: new show output style
builtin-remote: new show output style for push refspecs

Jeff King (5):
test scripts: refactor start_httpd helper add basic http clone/fetch tests refactor find_refs_by_name to accept const list
remote: refactor guess_remote_head
remote: use exact HEAD lookup if it is available

 Documentation/git-remote.txt           |   28 ++-
 Makefile                               |    1 +
 builtin-clone.c                        |   42 +---
 builtin-remote.c                       |  562 ++++++++++++++++++++++++++------
 builtin-send-pack.c                    |   79 +-----
 cache.h                                |    2 +-
 contrib/completion/git-completion.bash |    2 +-
 http-push.c                            |   72 +----
 refs.c                                 |    4 +-
 remote.c                               |  137 ++++++++-
 remote.h                               |   12 +
 string-list.c                          |   10 +
 string-list.h                          |    5 +
 t/lib-httpd.sh                         |    9 +-
 t/t5505-remote.sh                      |  122 +++++--
 t/t5540-http-push.sh                   |    9 +-
 t/t5550-http-fetch.sh                  |   57 ++++
 17 files changed, 817 insertions(+), 336 deletions(-)
 create mode 100755 t/t5550-http-fetch.sh