Hi, Here is the second iteration of the current series for teaching git to work with remote ref namespaces. This iteration is pretty much a full rework of the first iteration, based on Junio's comments to the first iteration, and discussion with other Git developers at the Git Merge conference in Berlin, particularily Jonathan Nieder has helped to work out some of these issues. Patches #1 - #2 are pretty much unchanged from v1, except that we now put the remote refs in refs/peers/* instead of /refs/remotes/*. Patches #3 - #5 gets us to the point where "git rev-parse origin/master" will expand to "refs/peers/origin/heads/master", and vice versa for shortening Patches #6-#10 (except #7 which is a small unrelated test addition) is about making "git branch -a" and "git branch -r" output remote-tracking branches from the refs/peers/* hierarchy. Note that this patch series is based on top of the jh/shorten-refname series in 'pu'. Have fun! ...Johan Johan Herland (10): t7900: Start testing usability of namespaced remote refs t7900: Demonstrate failure to expand "$peer/$branch" according to refspecs refs.c: Refactor code for mapping between shorthand names and full refnames remote: Reject remote names containing '/' refs.c: Add support for expanding/shortening refs in refs/peers/* t7900: Test git branch -r/-a output w/remote-tracking branches in refs/peers/* t3203: Add testcase for fix in 1603ade81352a526ccb206f41ff81ecbc855df2d builtin/branch.c: Refactor ref_item.name and .dest into strbufs builtin/branch.c: Refactor "remotes/" prepending to remote-tracking branches branch: Fix display of remote branches in refs/peers/* builtin/branch.c | 114 +++++------ builtin/remote.c | 4 +- cache.h | 4 - refs.c | 256 ++++++++++++++++++------- refs.h | 6 + remote.c | 6 +- t/t3203-branch-output.sh | 15 ++ t/t5505-remote.sh | 12 ++ t/t7900-working-with-namespaced-remote-refs.sh | 131 +++++++++++++ t/t7901-multi-level-remote-name-failure.sh | 20 ++ 10 files changed, 430 insertions(+), 138 deletions(-) create mode 100755 t/t7900-working-with-namespaced-remote-refs.sh create mode 100755 t/t7901-multi-level-remote-name-failure.sh -- 1.8.1.3.704.g33f7d4f -- 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