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
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'.
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
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html