Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Is there a way to determine who changed branch permissions and when it happened?

JimBurnell October 4, 2017

Today we had a situation where the master and develop branches in our repository suddenly had "prevent re-writing of history" and "prevent deleting branches" restrictions put on them.

There are a total of 5 people who have administrator access to the repository, and all of us say we didn't do it.

Is there any log we could consult to see how, when, and by whom this permission change occurred?

Thanks!

Jim

1 answer

1 accepted

1 vote
Answer accepted
JimBurnell October 4, 2017

Actually, just found the Audit Log, which gave us our answer. I'd delete the question if I could.

Julius Davies _bit-booster_com_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 4, 2017

I think you should keep this Q and A.  They are on point and useful for others!

 p.s.  "Prevent Rewrite" and "Prevent Deletion" are good controls to have in place for 'master' and 'develop'.   I do recommend them.

JimBurnell October 4, 2017

What does "prevent rewrite" do, exactly? I assumed it would block someone from, for example, merging a feature branch with stale develop code back into develop unless develop was merged into it first. But we got in some weird state where any push to develop was blocked.

Julius Davies _bit-booster_com_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 4, 2017

It prevents "git push --force" against the designated branch.  Another way of saying this:  fast-forward pushes only are allowed.  And yet another way (sorry, so many ways to describe this!): if 'master' is protected with "Prevent Rewrites" then any push to 'origin/master' must include the current 'origin/master' commit somewhere in its ancestry.

The "prevent rewrite" control only affects pushes.  It does not affect merges (via the PR merge button) since the resulting merge commit created by the pull-request merge button will always include current "origin/master" as one of the parent commits.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events