Re: Regarding "git log" on "git series" metadata
- From
Josh Triplett <josh@joshtriplett.org>
- Date
- Nov 6, 2016, 16:34 UTC
- Message-ID
- <20161106163410.ilysej5r6qd3744e@x>
- In-Reply-To
- <CA+P7+xoG3ag8dj7s_NRoqz-EwjVENSJSzE_qj6gnW-SmWt0bgA@mail.gmail.com>
On Sat, Nov 05, 2016 at 09:50:07PM -0700, Jacob Keller wrote:
Show 32 quoted lines
> On Sat, Nov 5, 2016 at 1:25 PM, Josh Triplett <josh@joshtriplett.org> wrote: > > On Sat, Nov 05, 2016 at 09:21:58PM +0100, Christian Couder wrote: > >> On Sat, Nov 5, 2016 at 4:18 PM, Josh Triplett <josh@joshtriplett.org> wrote: > >> > On Sat, Nov 05, 2016 at 01:45:27PM +0100, Christian Couder wrote: > >> >> And with what Peff says above it looks like we will need ways > >> >> configure and tweak commit reachability with gitlink/gitref anyway. So > >> >> the point of gitref compared to gitlink would be that they just have a > >> >> different reachability by default. But couldn't that be replaced by a > >> >> default rule saying that when a gitlink is reached "this way or that > >> >> way" then the commit reachability should be enforced, and otherwise it > >> >> should not be? > >> > > >> > Any version of git unaware of that rule, though, would consider objects > >> > only reachable by gitlink as unreachable and delete them, causing data > >> > loss. Likewise for a server not aware of that rule. And a server > >> > unaware of that rule would not supply those objects to a client pulling > >> > such a branch. > >> > >> Yeah, so you would really need an up-to-date server and client to > >> store the git-series data. > >> But anyway if we create a gitref object, you would also need > >> up-to-date servers and clients to make it work. > > > > Agreed, but gitrefs have the advantage of failing safe, rather than > > failing with dataloss. > > > > - Josh Triplett > > Isn't the "failing safe" only true if the client disconnects when a > server doesn't advertise "i understand gitrefs"? So couldn't we, as > part of the rules for reachability advertise a capability that does a > similar thing and fails safe as well?
We could, but if we (or one of the many third-party git implementations) miss a case, gitlinks+reachability may appear to work in many cases with dataloss afterward, while gitrefs will fail early and not appear functional.