WordPress at a glance
filter is not described

customize_changeset_branching filter-hook . WP 4.9.0

Filters whether or not changeset branching is allowed.

By default in core, when changeset branching is not allowed, changesets will operate linearly in that only one saved changeset will exist at a time (with a 'draft' or 'future' status). This makes the Customizer operate in a way that is similar to going to "edit" to one existing post: all users will be making changes to the same post, and autosave revisions will be made for that post.

By contrast, when changeset branching is allowed, then the model is like users going to "add new" for a page and each user makes changes independently of each other since they are all operating on their own separate pages, each getting their own separate initial auto-drafts and then once initially saved, autosave revisions on top of that user's specific post.

Since linear changesets are deemed to be more suitable for the majority of WordPress users, they are the default. For WordPress sites that have heavy site management in the Customizer by multiple users then branching changesets should be enabled by means of this filter.

Usage

add_filter( 'customize_changeset_branching', 'filter_function_name_9917', 10, 2 );
function filter_function_name_9917( $allow_branching, $wp_customize ){
	// filter...

	return $allow_branching;
}
$allow_branching(true/false)
Whether branching is allowed. If false, the default, then only one saved changeset exists at a time.
$wp_customize(WP_Customize_Manager)
Manager instance.

Where the hook is called

WP_Customize_Manager::branching()
wp-includes/class-wp-customize-manager.php 794
$this->branching = apply_filters( 'customize_changeset_branching', $this->branching, $this );

Where the hook is used (in WP core)

Does not used.