Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Per batch change control for pushing to forks (Tracking) #33110

@malomarrec

Description

@malomarrec

Context

We have recently introduced the possibility to push branches created by Batch Changes to a fork of the repository, rather than the repository itself.

This was built as an MVP to address:

Problem

The current MVP state is the end state solution for companies that mandate using forks for all repositories. It's not a fully mature solution though for users that don't have write-permission on all repositories and only want to use forks in some cases. In particular:

Impacted customers

Next iteration

  • Introduce a fork attribute, allowing users to specify the fork
  • The site admin settingenforceForks allows admins to force that all branches are created on forks.
    • TBD: Add a UI message that surfaces this to the user? "Some changesets have been created on a fork because ..."
  • Allow forks to be deleted when a Batch Change is closed or deleted (Source Control hygiene)

The fork attribute behaves in the way proposed by @LawnGnome (whose legacy lives on forever):

changesetTemplate:
  fork: foo           # forks into the `foo` organisation/user, assuming the
                      # user has permission
  fork: LawnGnome     # forks into the user's namespace as well (assuming the
                      # user is LawnGnome), but explicitly by name
  fork: user          # forks into the user's namespace, same as the current
                      # switch

Tracked issues

@unassigned

Completed

@adeola-ak

Completed

@courier-new

Completed

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    ✅ Done - Released (available to install)

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions