Once you've successfully started storing your data in the SEAS Code Repository, as outlined in the page Getting Started with code.seas, you can start using the "meta" features of the service. This page touches lightly on these capabilities.
Table of Contents:
Then point of the SEAS Code Repository is invite and support collaboration between individuals. The service provides the ability for individuals to define their own teams and apply these teams to both projects and repositories. Teams defined as groups, or in a ad hoc fashion, and can be applied separately to projects or repositories.
Manage Read Access
To add an individual or a team as a collaborator, you need to add him to the "Manage access" list of the private project and/or the "Manage read access" list of the private repository.
For private project : "Manage access" is a button on the right panel of the project editor.
For private repository: "Manage Read access" is a button on the right panel of the repository editor.
Manage Individual Collaborators
To start, you can invite individuals to work with you on a repository directly, without needing to define a team. When you do this, you can retain "ownership", but give the other individual access to your repositories.
Browse in the GUI to a repository that you own. Click the button on the right labeled "Manage Collaborators".
From here, click "Add Collaborators" on the right, and take a look at the form on the following page
Here you can specify that a user has a set of roles on that repository; the text on the page explains the scope of each role. For close collaborators, often "View, Commit, Review" is the set of roles you'll want to add, but for external colalborators – those you don't want to be able to make core changes – you may just want "View" permissions.
Once you've selected the desired roles, hit "Add as a collaborator".
Instead of adding collaborators individually, you can instead define "teams", which are groups of users that work together. To share access and ownership of projects, the use of teams is required, but is also an option for managing collaborators on repositories as well.
Defining a Team
To define a team, click on the "Teams" main link just below the banner on the right.
From there you'll see a list of teams, and can browse them. From here, click the button on the right sidebar "Create a new team.".
This form page let's you define a team, with an optional description and team logo image.
Once the team has been created, you can click on it to see its status page. From here you can add members to the team, change member roles, and edit the team's name, logo, etc.
Once you have team created, you can manage control of projects and repositories using the teams.
Projects and Teams
For projects, the main mechanism for doing this is by changing the project ownership from an individual (you) to the team. Then the team members will have administrative access to the project
Changing ownership from an individual to a team is a one way process, and cna't be reversed using the GUI. If you want to change ownership of a project back to an individual fro a team, please contact us at firstname.lastname@example.org.
Repositories and Teams
For repositories, teams can be used to specify collaborations in the same way that individual roles are added.
Refer to the docs above under the heading "Manage Individual Collaborators," and instead of adding a user, add a team as a collaborator. The resulting role permissions will be applied to all team members at once.
Using the Wiki
Any project can have a wiki associated with it, for basic documentation.
Browse to the page for a project that you own, then click the "Open Wiki" button on the sidebar on the right.
This will start off by letting you edit the "Home" page of the wiki, using Markdown notation. In particular, if you add text to link to a new page of the syntax
[[NewWikiPage]], then this will create a lik to a new wiki page, and clicking on it in the saved page will let you create this new wiki page (in typical wiki fashion).
You can also browse page history and see the index of pages in the wiki from the righthand sidebar. Lastly, the wiki contents can itself be treated like a git repository, and checked out using GIT from the buttons on the sidebar while browsing Wiki contents.
Browse Source and Diffs
From the main page for the repository, click "Browse Source."
From this interface you can browse the source tree through the web interface.
If instead you click "Commit Log" from that page, or the same button in the sidebar on other pages, you can browse the source tree again, but by version.
From here, you can click on a revision hash (i.e. something like "8cd213a") to go to an page where you can edit comments and find diffs between that and the previous version:
If you don't need to download (or publish) every change, but insterad want to code of the latest version, you can simply pull down a compressed bundle of the code directly.
Browse to the page of the desired repository, and then click on "Source tree". Once this page you can explore the source code, but on the right hand side is a button "Download as tar.gz". Clicking on this will request the server to generate a "tarball" of the code int he current branch, and to download it through your browser to your local system.