Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-08-13 Thread Ronnie Sahlberg
David, One possible solution can be to use the external database daemon I am working of for ref transactions. Since this makes all refs be stored in a dedicated database instead of the filesystem you no longer are dependent on file system semantics. While not in the official git trees yet I

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-08-13 Thread David Turner
On Wed, 2014-08-13 at 09:20 -0700, Ronnie Sahlberg wrote: David, One possible solution can be to use the external database daemon I am working of for ref transactions. Since this makes all refs be stored in a dedicated database instead of the filesystem you no longer are dependent on file

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-18 Thread Michael Haggerty
On 06/13/2014 11:25 PM, Junio C Hamano wrote: Ronnie Sahlberg sahlb...@google.com writes: It gets even more hairy : If the server has A/a and a/b and you clone it it becomes A/a and A/b locally. Then you push back to the server and you end up with three refs on the server: A/a A/b and a/b.

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-18 Thread Ronnie Sahlberg
On Wed, Jun 18, 2014 at 4:33 AM, Michael Haggerty mhag...@alum.mit.edu wrote: On 06/13/2014 11:25 PM, Junio C Hamano wrote: Ronnie Sahlberg sahlb...@google.com writes: It gets even more hairy : If the server has A/a and a/b and you clone it it becomes A/a and A/b locally. Then you push back

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-15 Thread David Turner
On Fri, 2014-06-13 at 12:05 -0700, Ronnie Sahlberg wrote: Thinking about it more. I think we want to wait until the ref transaction API work is finished. The ref transactions API is in progress and it aims to add transactions for ref updates as a first step but then it aims to define a

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Junio C Hamano
David Turner dtur...@twopensource.com writes: On Thu, 2014-06-12 at 12:47 -0700, Junio C Hamano wrote: David Turner dtur...@twopensource.com writes: This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Junio C Hamano
Torsten Bögershausen tbo...@web.de writes: Or try to have a functionality to always use packed refs, and have a configuration for it: The advantage can be that branch names like Branch and BRANCH can live together in a project, regardless if you have a case sensitive or insensitve file

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Ronnie Sahlberg
On Thu, Jun 12, 2014 at 12:47 PM, Junio C Hamano gits...@pobox.com wrote: David Turner dtur...@twopensource.com writes: This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to being potentially slow, was

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Ronnie Sahlberg
Thinking about it more. I think we want to wait until the ref transaction API work is finished. The ref transactions API is in progress and it aims to add transactions for ref updates as a first step but then it aims to define a public API for all public ref functions. As part of that I will also

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Junio C Hamano
Ronnie Sahlberg sahlb...@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? You could

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Junio C Hamano
Ronnie Sahlberg sahlb...@google.com writes: It gets even more hairy : If the server has A/a and a/b and you clone it it becomes A/a and A/b locally. Then you push back to the server and you end up with three refs on the server: A/a A/b and a/b. That is part of the transition in deployment.

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-13 Thread Ronnie Sahlberg
On Fri, Jun 13, 2014 at 2:11 PM, Junio C Hamano gits...@pobox.com wrote: Ronnie Sahlberg sahlb...@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

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-12 Thread Junio C Hamano
David Turner dtur...@twopensource.com writes: This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to being potentially slow, was incomplete. Specifically, it didn't handle the case of refs/heads/case/one vs

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-12 Thread David Turner
On Thu, 2014-06-12 at 12:47 -0700, Junio C Hamano wrote: David Turner dtur...@twopensource.com writes: This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to being potentially slow, was incomplete.

Re: [PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-12 Thread Torsten Bögershausen
On 2014-06-13 01.30, David Turner wrote: On Thu, 2014-06-12 at 12:47 -0700, Junio C Hamano wrote: David Turner dtur...@twopensource.com writes: This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to being

[PATCH v4 0/1] receive-pack: optionally deny case clone refs

2014-06-11 Thread David Turner
This issue bit us again recently. In talking with some colleagues, I realized that the previous version of this patch, in addition to being potentially slow, was incomplete. Specifically, it didn't handle the case of refs/heads/case/one vs refs/heads/CASE/two; these are case clones even though