Class SCMHeadOrigin.Fork

  • All Implemented Interfaces:
    Serializable
    Enclosing class:
    SCMHeadOrigin

    public static class SCMHeadOrigin.Fork
    extends SCMHeadOrigin
    A named fork. The name should be simple not an URL. Some examples of simple names:
    • bobsmith which could be a user's fork where the user is Bob Smith
    • bobsmith/foo which could be a user's fork where the user is Bob Smith and perhaps he forked into a repository with the name "foo"
    • manchu/bobsmith which could be a user in Team Manchu called Bob Smith who forked the repository

    Please do not use things like https://github.com/stephenc/scm-api-plugin as the fork name no matter how tempting.

    For one, this includes details that are originating from the backing source control system. If we migrated from GitHub to GitHub Enterprise, the fork would be migrated also. A good name will remain the same after such a migration... so presumably during such a migration the fork's actual location would change from https://github.com/stephenc/scm-api-plugin to https://github.example.com:8443/stephenc/scm-api-plugin so a good name would be either stephenc/scm-api-plugin or stephenc.

    As GitHub encourages that forks have the same repository name the /scm-api-plugin is redundant, so we would choose stephenc as the fork name when the repository name matches upstream and use stephenc/fork-of-scm-api-plugin if the fork name differs from the upstream name.

    See Also:
    Serialized Form
    • Constructor Detail

      • Fork

        public Fork​(@NonNull
                    String name)
        Creates a fork origin instance.
        Parameters:
        name - the name.