lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Miller <markrmil...@gmail.com>
Subject Re: Removing branch_5x shortly
Date Sat, 20 Feb 2016 18:44:29 GMT
Can't we tag it and then delete the branch?

I'm not a fan of removal as a way to prevent commits though. We should see
if infra let's us put in any git hooks and protect branches from there.

I'm not convinced we need a new strategy just because we are on git though.
We generally don't decide we won't do a release, someone volunteers to put
one together when something prompts it. I don't remember protecting
branches in SVN and so I wonder if we need to now?

- Mark

On Sat, Feb 20, 2016 at 1:37 PM Dawid Weiss <dawid.weiss@gmail.com> wrote:

> >   git push origin --delete branch_5x
> >
> > (Instead of the crazy all-powerful-colon syntax).
>
> Ok. I don't think it's the right way to do it.
>
> > This just removes the "pointer" (branch_5x) to the latest commit hash
> > right?  The commits unique to that branch still remain unless we ask
> > git to reclaim them?  Or does git reclaim un-referenced nodes on its
> > own sometimes...?
>
> This means you need to re-read my git tutorials :) Or perhaps I should
> add one specific to deleting a (remote) reference...
>
> In short: git gc is much like Java's gc. Think of git commits as Java
> objects -- if they are not referenced from any "gc roots" they are
> eligible for permanent deletion. Git's "gc roots" are essentially
> those commits which are pointed to by any reference (tag, branch...
> anything you see when you issue "git show-ref"). Git's equivalent of
> Java's "references" are "parent" commits from a commit (a single
> commit can have one parent -> linear history or multiple parents -> a
> merge). There is also a "temporary backlog" of recent operations
> called a "reflog" which points to all commits involved in recent local
> commands... but when this expires the commits will be eventually
> dropped.
>
> Anything not "reachable" from gc roots or the reflog is eligible for
> permanent deletion. So any commits not reachable from a tag or other
> branch would be forgotten after you delete branch_5x.
>
> There's also another aspect of deleting a remote branch -- this
> deletion isn't automatically "propagated" to any other forks (so other
> committers would still see a remote branch_5x). You'd have to ask
> everyone to prune remote references.
>
> For these reasons I think we should just leave branch_5x as is. If you
> really want to enforce no further commits on it I'd delete all the
> files from that branch and leave a README file saying this branch is
> effectively dead.
>
> Dawid
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: dev-help@lucene.apache.org
>
> --
- Mark
about.me/markrmiller

Mime
View raw message