Thread (4 messages) 4 messages, 2 authors, 2021-10-27

Re: [PATCH v3 2/4] remote: use remote_state parameter internally

flat view

From: Junio C Hamano <hidden>
Date: 2021-10-27 02:28:12

Glen Choo [off-list ref] writes:
Junio C Hamano [off-list ref] writes:
quoted
quoted
c) Replace the backpointer with a remote_state parameter. Expressive and
   fits the paradigm of "defaulting to the repo when needed", but
   interfaces are repetitive and shifts the responsibility of
   correctness to the caller (see v2).
... if we want to support the what-if callers, I
think the best approach would be a slight variant of c) above.

That is, pass branch and remote_state as two parameters, and when
branch is not NULL, barf if it is not among remote_state.branches[],
to protect against nonsense combinations.
Sounds reasonable to me. The resulting interface would look like the v2
one, but internally, this additional safety check will prevent misuse.
Hopefully.  Of course I think the implementation of the safety would
actually be done, not by iterationg over branches[] array, but just
checking branch->remote_state == remote_state pointer equality.
This "longer term direction" sounds like what I envisioned with (e). I
agree that detached HEAD is a state that should be expressed with more
than just NULL, though I'm not sure that "struct branch" is the correct
abstraction. No point bikeshedding now of course, we'll cross that
bridge when we get there ;)
I actually was hoping that the time to cross the bridge was now,
though ;-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help