Recent Changes

2021-07-26
2021-03-17
2021-03-08
2021-03-03
2021-01-22
2021-01-21

Pull Request

About Pull Request

If you have forked a repository in OSDN, you can make a request to a related repository to integrate the incremental change you made.

The request will be recorded in a ticket, and if automatic merging is possible, it will be reflected to the repository with one click.

On OSDN, you can not send pull request between branches within the same repository. As long as there's a Fork relation, pull request can be sent both ways. (You could also send merge request from the original to the Fork.)

How to Make Pull Request

Before sending a pull request, check the incremental differences between the source and destination.

If you are working on a Project, go to “Listing Forks”, which you can find in the repository viewer, and check the Fork information. If you are working from a Chamber, go to “Fork information” from “Fork” on the menu bar.

By clicking the “compare” button of the repository which you wish to send the request to, you will be able to see the diffs between the source and destination branches.

The request will be linked to the source and destination branches, and for each pair of source and destination branches, you could only open one request at a time.

List of Received Pull Requests

Currently on OSDN, pull requests are treated differently between projects and chambers due to the different structure with which each system is built.

As to projects, type of ticket will be recorded as that of a “patch”. As to chambers, it will be recorded as a ticket with a “pullrequest” tag.

Ticket types and tags can be reattached afterwards, and they could also be attached to something that has nothing to do with pull request. That means, it is possible that something unrelated to pull request could appear in the list, and likewise a pull request could get listed up somewhere else.

Merging and Closing a Pull Request

A pull request will be recorded as a ticket item (Example: in a case of a project). With both projects and chambers you can mostly do things that are usually done with tickets. However, the process of closing a ticket will be different, and instead, buttons for merging or closing a request will appear.

After submitting a pull request, if a commit gets added to either of the branches, there could be a case where auto merge doesn't work due to the collision. In that case, renew to make merge possible, or simply close the request and merge manually using local client.

Once you've merged or closed, the ticket will be closed and you won't be able to open it again. Still in that state, you could add comments, just like other tickets.

Restrictions

  • This feature only supports Git and Mercurial(hg).
  • It does not support repositories forked from external repositories (repositories on other websites such as sf.net and github).
  • As of now, sending pull requests between projects is not an option (internal forking only works for chambers).