www-infrastructure-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Ruby <ru...@intertwingly.net>
Subject Re: git and deleting branches
Date Wed, 11 Nov 2015 13:40:47 GMT
On Wed, Nov 11, 2015 at 8:35 AM, Jochen Theodorou <blackdrag@gmx.org> wrote:
> On 11.11.2015 13:43, Sam Ruby wrote:
> [...]
>>
>> In a nutshell: with git, a single SHA-1 hash is all that is required
>> to ensure that you are looking at the right contents and ensure that
>> you have the complete version history of the contents.  These hashes
>> are immutable and survive pushes, fetches, and pulls.  Tags and
>> branches don't have these properties.
>
> In my understanding the hash may not survive garbage collection though -
> that is if there is no tag or branch associated with that hash.

Correct.  It is also worth noting that if force pushes and deleting of
branches and the like are not allowed, this will never occur.

>> The one piece of metadata that we care about that isn't captured by
>> git is the identity of the authenticated pusher.  That would
>> correspond in SVN to the committer, for which the longstanding ASF
>> policy requires an ICLA to be on file.  What git refers to as the
>> committer may turn out only to be what the ASF refers to as a
>> contributor.  This identify of the person doing the push would need to
>> be stored outside of the version history (which, after all is
>> immutable).  Currently this is done with in push logs, but that
>> requires all pushes to be done to ASF hosted infrastructure.  This
>> requirement turns out to be unenforceable and easily defeated -- in
>> fact, ironically the more we tighten the rules for usage of the ASF
>> clone of the repository the more we drive people to collaborate
>> elsewhere and only push the final results to the ASF repository.
>>
>> What we are currently exploring isn't that implementation, but the
>> requirements for such an implementation.
>
> I do understand that... and I find that a fault in git, though I can
> understand from the database nature and the immutability of hashes as of why
> that is. And I do find it annoying to not to be able to merge pull requests
> on github using the web page and a couple of other things...
>
> But the case we started with is not a contribution pushed by a committer.
> This is about deleting branches, possible history loss associated with that
> action and those actions being not possible right now and some projects
> getting problems with that.

Agreed.

> bye Jochen

- Sam Ruby

Mime
View raw message