Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs
- From
Ronnie Sahlberg <sahlberg@google.com>
- Date
- Jun 13, 2014, 22:24 UTC
- Message-ID
- <CAL=YDWnGBrgHFamc0ZmmGJSFL3Z_6ZaWn4AWOMhJTPQ5UCKD_A@mail.gmail.com>
- In-Reply-To
- <xmqqk38k1pmv.fsf@gitster.dls.corp.google.com>
On Fri, Jun 13, 2014 at 2:11 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 8 quoted lines
> Ronnie Sahlberg <sahlberg@google.com> writes: > >> ... The first >> backend will be the current files based structure but I also will add >> an optional backend using a TDB database. > > I am assuming that as part of the transactions work, accesses to > reflogs will also have their own backends?
Yes. They will be stored in the same database so that updates to refs and reflogs will become truly atomic.
Show 13 quoted lines
> >> You could then very easily create a new backend, say 'struct refs_be >> refs_files_case_insensitive' where the methods would just convert any >> refnames to/from a case insensitive encoding before invoking the >> default methods from the files backend. >> Perhaps something as simple as converting any upper case characters >> to/from '%xx' representation when accessing the actual files. > > Hmm... that would work only when the new implementation of Git is > the only one that accesses the repository. Other implementations > (e.g. Eclipse via egit, Gerrit via jgit, etc.) peeking into the > same repository wouldn't know what to do with these encoded > refnames.