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 <[email protected]> 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: [email protected] > For additional commands, e-mail: [email protected] > > -- - Mark about.me/markrmiller
