From: Ronnie Sahlberg Date: Fri, 13 Jun 2014 22:24:52 GMT Subject: Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs Message-ID: In-Reply-To: On Fri, Jun 13, 2014 at 2:11 PM, Junio C Hamano wrote: > Ronnie Sahlberg 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. > >> 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.