LogoLogo
  • LFX Platform
  • Single Sign-On (SSO)
    • Create an Account
    • Sign in to Your Account
      • Sign in with Google
      • Sign in with GitHub
      • Sign in with LinkedIn
    • Manage Your Profile
    • Forgot Password
    • Have a question
    • Log Out
  • Individual Dashboard (MyProfile)
    • Release Notes
      • V0.7.0
      • V0.6.25 and V0.6.26
    • Quick Start Guide
      • Home Page
      • Profile
      • LF Events
      • Meetings
      • My Insights Beta Version
      • Purchases
      • Settings
    • Home Page
    • Share Your Experience- Help Us Improve
    • Profile
      • Badges and Skills
      • Open Source Event Speaking Experience
      • Technical Contributors
      • Linux Foundation & Project Issued Certifications
      • Training Enrollment
      • Community Roles
      • Supported Projects
    • Meetings
      • Find Your Host Key
    • My Insights Beta Version
    • LF Events
      • Registered
      • Past
      • Visa Letters
        • Updating Visa Letter Application
      • Travel Funding
        • Community Events Funding
    • Purchases
      • Coupons
      • Transactions
      • Individual Enrollments
      • Purchase a Linux.com Email
    • Data and Privacy
      • Data Visibility
    • Showcase your Maintainer Badges in LFX NOW!
      • Maintainer Badge LFX Support
      • What do I have to do as a Project Administrator?
    • Settings
      • Password
      • Manage Profile Visibility
      • Basic Information
      • Email Management
        • Email Preferences
      • My Work History
    • TUX Rewards FAQs
  • Community Data Platform
    • Quick Start Guide
    • Accessing Community Data Platform
    • Project Groups Page
      • My project groups
    • Integrations
      • GitHub Integration
      • Git Integration
      • Gerrit
      • Groups.Io
      • Confluence
      • Slack
      • X/Twitter Integration
      • Reddit Integration
      • Discord Integration
      • LinkedIn Integration
      • Cvent Integration
      • Training and Certifications
      • Dev Integration
      • Hacker News integration
      • Stack Overflow
    • FAQs
  • Project Control Center
    • Release Notes
    • V2 (Latest Version)
      • Overview
      • Homepage
      • Reports
        • Health Metrics
          • Participating Organization
          • Net Promoter Score (NPS)
          • Membership Churn
          • Outstanding Balance
          • Events
          • Training and Certifications
          • Code Contributions
          • Board Meeting Participation
          • Mailing Lists
          • Marketing
        • Marketing Metrics
      • Operations
        • Project Definition
        • Membership
        • Domains
        • Cloud Providers
        • User permissions
      • Collaborations
        • Committees
          • Adding a Committee
          • Adding Members to a Committee
          • Sending Emails to Committee Members
          • Deleting a Member from a Committee
          • Managing Committees
        • Meetings
          • Manage Meetings
          • Clone Meetings
          • Cancel Meetings
          • Add Documents to Past Meetings
          • Verify Meeting Participants
          • Sending Emails to Meeting Attendees
          • Meeting FAQs
        • Wiki
        • Issue Tracker
        • Voting feature
          • Creating a Vote
          • Voting for the Poll
          • Managing Poll
          • Viewing Results
        • Mailing Lists
        • Surveys
      • Bookmarks
      • PCC FAQs
        • Meetings FAQs
    • V1 (Prior Version)
      • Release Notes
        • PCC V1.6.6 Release
        • PCC V1.6.5 Release
        • PCC V1.6.4 Release
        • PCC V1.6.3 Release
        • PCC V1.6.0 Release
        • PCC V1.5.1 Release
        • PCC - V1.4 Release
        • PCC - June 28/2022 Release
        • PCC - April 20/2022 Release
        • PCC - March 15/2022 Release
      • Overview
      • PCC Dashboard
      • Role-Based Access Control
        • Roles and Permissions for Project Setup
        • Roles and Permissions for IT Services
      • Adding a Main Project
      • Operations for a Project
        • Project Definition for a Project
        • Legal Setup for a Project
        • Membership Setup for a Project
        • Setting up a Domain for a Project
          • Transferring a Domain
          • Redirecting Your Domain
          • Adding a Service Record
          • Setting up the Email Services
        • Cloud Providers
      • Collaboration Services for a Project
        • Committees Setup for a Project
        • Mailing List
        • Issue Tracker for a Project
        • Setting up Wiki
        • Meeting Management
      • Development
        • Source Control
      • LFX Tools
        • Security
          • Onboarding Projects from GitHub
          • Manage Vulnerabilities
          • Manage False Positives
            • Regular Expressions Cheat Sheet
            • Ignore.yml File
          • Manage Non Inclusive Naming
        • EasyCLA
  • Organization Dashboard
    • Release Notes
      • Release v1.8.0
      • Release v1.7.0
      • Organization Dashboard - 03/July/2023 Release
      • Organization Dashboard - 03/October/2022 Release
    • What's New
      • Related Company Visibility
    • Access and Permissions
    • Learn About LFX Data
    • Introduction
    • Home page
    • Membership
      • Your Active Memberships
      • Renewing an Expired Membership
      • Discover New Open Source Project
    • Code Contributions
    • Training & Certifications
    • Events
      • Overview
      • Sponsorship Insights
      • Travel Funding
    • Access
    • Users FAQs
    • Profile
    • FAQs
  • Security
    • Release Notes
      • LFX Security V2.0.33 Release
      • LFX Security V2.0.32 Release
      • LFX Security V2.0.31 Release
      • LFX Security V2.0.30 Release
      • LFX Security V2.0.29 Release
      • LFX Security V2.0.28 Release
      • LFX Security V2.0.27 Release
      • LFX Security V2.0.26 Release
    • Overview
    • LFX Security FAQs
    • Onboarding your Project
    • LFX Security Requirements
      • Supported Languages
    • Add a Project to LFX Security
    • Open LFX Security
    • Authorization Page
    • Security Status Overview
    • Investigate and Remediate Vulnerabilities
    • Investigate Dependencies in the Application Dependency Tree
    • Get License Information
  • EasyCLA
    • V2
      • Releases and Known Issues
      • Getting Started
        • Prerequisites
        • EasyCLA Troubleshooting
          • EasyCLA Disabled
        • EasyCLA FAQs
        • EasyCLA Development Components
      • Project Managers
        • Sign in to Project Control Center
        • Set up Project on EasyCLA
        • Create New CLA Group
        • Update Template
        • Add or Remove a Project from CLA Group
        • View and Manage CLA Group Details
        • Add and Manage GitHub Organizations
        • Add and Manage Gerrit Organizations
        • Add and Manage GitLab Groups
        • View Connection Status of Git Organizations and Repositories
        • Enforce or Remove CLA Mechanism
        • Invalidate a Contributor's Signature
        • Uninstall the EasyCLA Application
      • Embargo, Sanction, and OFAC Compliance for Secure CLA Signing
      • Contributors
        • Individual Contributor
        • Corporate Contributor
      • Corporate CLA Managers
        • Sign in to the EasyCLA Corporate Console
        • Coordinate Signing CLA and become initial CLA Manager
        • Add or Delete CLA Managers
        • Approve and Manage Contributors
      • EasyCLA and Co-Author Compliance Guide
      • CCLA Signatories
        • Review and sign a Corporate CLA by Request
      • Configuring Merge Queue on GitHub for Branch Protection
      • Glossary
      • Corporate CLA Console
        • Dashboard
        • Projects
        • Manage your Profile
  • Mentorship
    • Release Version: v1.4.23
    • Program Schedule & Timelines
    • Platform Overview
      • View Mentorship Program Details
      • View Mentor/Mentee Profile
      • Toggle Between Mentorship and Crowdfunding
    • Administrators
      • Enroll Your Program
        • Mentorship Project Enrollment Form
      • Edit a Project
      • Open & Close Mentorship Applications
      • Add Mentors
      • View Mentees for the Selected Program
      • Manage Mentees Applications
      • Manage Mentees Tasks
      • Approve Mentee Stipends
      • How to Contact a Mentee
    • Mentees
      • Create Mentee Profile
      • Apply to Mentorship Program
      • Withdraw your Application
      • View your Application Status
      • Manage Your Tasks
      • Manage Your Mentorship Profile
      • Submit Expensify Report to Receive Mentorship Stipend
    • Mentors
      • Become a Mentor
        • Request to be Added to a Program
        • Admin Invites a Mentor to a Program
      • Review Mentees Applications
      • Manage Mentees Tasks
      • Contact a Mentee
      • Manage Your Mentorship Profile
    • Mentee Stipends
      • Total Stipend Amount
    • Mentee Guide
      • The Linux Foundation Mentorship Program
      • Mentorship Program: How It Works
      • Why Become a Mentee?
      • Mastering Mentorship: Keys to Success in Mentorship
      • Am I Eligible to Become a Mentee?
      • How to Apply
      • Not Selected?
      • Start the Journey
        • What is Expected of You
        • Evaluations
        • How to Graduate Successfully
      • Additional Resources
      • Code of Conduct
      • Mentee FAQs
    • Mentor Guide
      • Introduction
      • Participant Roles
      • Getting Started
        • Why to Become a Mentor
        • Can I be a Mentor?
        • Benefits for Mentors
        • What Makes a Good Mentor
        • How to Select Mentees
      • Mentoring Best Practices
      • Maintain Open Source Culture
      • Start Mentoring
        • Create Project Plan and Prepare Mentees
        • Set Expectations
        • Managing the Project Plan
        • Mentee Evaluations
      • Additional Resources
      • Mentorship FAQs
      • Code of Conduct
    • Mentorship FAQs
    • Mentorship - Get Help
  • Crowdfunding
    • Dashboard Overview
      • Projects
      • Events
      • Travel Funds
      • Security Audit
      • General Funds
      • Integrated Services for a Project
      • Toggle Between Crowdfunding and Mentorship
    • Mandatory Compliance for Crowdfunding
    • Apply for Crowdfunding
      • Add a GitHub Project
      • Add a Git Project
      • Add a Project for Security Audit
      • Add General Fund
      • Add an Event
      • Add a Travel Fund
    • Donate/Sponsor
      • Donate as an Individual
      • Donate as a Sponsor
        • Add, Edit, or Delete an Organization
      • Sponsor Events
    • Register for an Event
    • Project Application
    • Event Application
    • Travel Fund Application
    • Security Audit Application
    • General Fund Application
    • Manage Your Crowdfunding Account
    • Get Reimbursed
    • Submit Travel Funding Reimbursement Expensify Report
    • Create and Submit an Expensify Report
    • Crowdfunding FAQs
    • Crowdfunding - Get Help
  • Linux Foundation Individual Supporter Program
    • Enroll in the Linux Foundation Individual Supporter Program
    • Purchase Lifetime Linux.com Email Alias
Powered by GitBook

Copyright © 2022 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks.

On this page

Was this helpful?

Edit on GitHub
Export as PDF

Last updated 8 months ago

Was this helpful?

Source control is a critical component of software development, enabling teams to track and manage updates to their codebase. The PCC allows you to set up source control for your projects, ensuring you have control over the right version of your code.

Key Features:

  • Track and manage updates to your codebase

  • Maintain control over the right version of your code

  • Collaborate with team members and stakeholders efficiently

Compliance Requirements:

  • The Linux Foundation platform requires access to each GitHub organization hosting your code

Responsibilities

The governance body and authorized community members are responsible for day-to-day administration of repositories, teams, and users, unless covered by a specific managed-services agreement with the Linux Foundation.

You can add the following Source Controls tools to your projects:

Setting up GitHub

GitHub is a web and cloud-based service that helps developers to store and manage their code, as well as to track and control changes to their code base.

You can use GitHub as a source control tool to manage your project.

To setup the GitHub account to your project, follow steps:

  1. Log in to PCC.

2. Search for the required project. The Project dashboard appears. Click Source Control from the Development tab.

You can also navigate to Source Control from the Vertical Sidebar navigation menu. Click IT Services and then select Development.

  1. The Connect GitHub Organization dialog box appears. Enter the Organization Name and click Connect.

Make sure to enter a valid GitHub organization name.

  1. Once the connection is set, you can see the status of GitHub project and its repositories.

If you change the name of your GitHub organization, you'll need to reconnect it to the PCC. The renamed organization won't be automatically connected, even if the original organization was previously connected.

Setup GitHub Repositories

You can manually add the repositories to the configured GitHub server.

To add repositories to the GitHub server, perform the following steps:

  1. Go to the GitHub server in the Source Control and click + Add Repository.

  1. The Add Repository dialog box appears. Enter the Repository Name, Website, and Description. Click Add to add the repository.

You can also enable the DCO, Issues and Wiki by using the Enable DCO, Enable Issues and Enable Wiki toggle button respectively.

Enabling DCO in the PCC:

  • Adds branch protection rules for the default branch, so that PRs must be made before changes can be merged.

  • It adds a required DCO status check for PRs

If the DCO app is not installed and configured for the organization before DCO is enabled on a repository, all changes to the default branch will be blocked until the app is added.

Invite The Linux Foundation user to your Organization

Your project should have its own GitHub organization, separate from your company's GitHub organization, and which is not shared with other, non-Linux-Foundation projects.

If you need to, create a new GitHub organization for this project, and have a user who is an owner in both organizations transfer each project repository to this organization.

Then, invite the user “thelinuxfoundation” as an owner at the organization level (not per repository) to the GitHub organization, and connect them in Project Control Center.

  • We cannot accept invites unless the organization is associated with a project. Please make sure to add the project to the PCC before sending an invite to 'thelinuxfoundation" user, or the invite will not be accepted and will expire after 7 days.

If your invite has expired, you must delete it and send a new invite.

Deleting a GitHub Organization

You can delete the added GitHub organization from the PCC.

To delete the GitHub organization that is added in the PCC, follow these steps:

  1. Click the Source Control.

  2. Under GitHub, click on the required GitHub organization that you want to delete.

  1. The Confirm Disassociation dialog box appears, click Delete to delete the GitHub Organization.

Setting up GitLab

GitLab is an open source code repository and collaborative software development platform for large DevOps and DevSecOps projects. GitLab helps you to automate the builds, integration, and verification of your code.

You can use GitLab as a source control tool to manage your project.

To setup the GitLab account to your project, perform the following steps:

1.Login into PCC.

2. Search for the required project. The Project dashboard appears. Click Source Control from the Development tab.

You can also navigate to Source Control from the Vertical Sidebar navigation menu. Click IT Services and then select Development.

4.The Connect GitLab Group dialog box appears. Enter the Group Name and click Connect.

The name of the group should be added and not the url or the ID.

5.Once the connection is setup, you can see the status of GitLab project and its repositories.

Setting up Gerrit

Gerrit is a web-based code review tool, which is integrated with Git and built on top of Git version control system (helps developers to work together and maintain the history of their work). It allows merging changes to Git repository when you are done with the code reviews.

1.Login into PCC.

2. Search for the required project. The Project dashboard appears. Click Source Control from the Development tab.

You can also navigate to Source Control from the Vertical Sidebar navigation menu. Click Development and then select Source Control.

3.The Source Control page appears. Click Gerrit and then click File Ticket to submit a ticket to configure Gerrit server for your project.

4. In the Support Form, provide details such as summary, project name, Gerrit URL and description. Click Create to submit the request to the support team.

5.Once the support team configures the Gerrit server, the Gerrit server is added in the source control along with the associated repositories.

Adding Repositories

You can manually add the repositories to the configured Gerrit server.

To add repositories to the Gerrit server, perform the following steps:

1.Go to the Gerrit server in the Source Control and click + Add Repository.

2.The Add Repository dialog box appears. Enter the Repository Name and Description and click Add.

You can use the toggle button if you want to enable the repository as the parent repositories for other repositories.

Updating the Repository

You can update the repository name and other changes with respect to the listed repository.

To update the repository details, perform the following steps:

2.The Edit Repository dialog box appears. You can update the Repository Name, Enable DCO and Description and click Save to update the changes.

Making a Repository as Writeable or Readable

When the repository is set as Writeable, the Read-only column is set as Yes and when the repository is set as Readable, the Read-only column is set to No.

Hiding a Repository and Restrict All Access

Deleting a Repository

The Source Control page appears. Click GitHub and click the icon available in front of Connect.

For more information on how to create an organization, refer .

For more information on how to transfer a repository, refer .

Install the DCO app before enabling the DCO on the repository. Refer to for configuration. After configuring the DCO in GitHub, you can enable the DCO in the PCC.

For more information on how to invite users to join organization, refer .

For more information on how to transfer a repository, refer .

Click the icon and click Disassociate.

3.The Source Control page appears. Click GitLab and click the icon available in front of Connect.

1.Go to the required repository and click the ellipsis icon and select Edit Repository.

You can set a repository as readable from writeable or from writeable to readable. To set the repository as readable or writeable, click the ellipsis icon and select Set Repository as Readable or Set Repository as Writeable.

You can hide a repository and restrict all access to the repository by clicking the ellipsis icon and selecting the Hide Repository and Restrict All Access.

You can delete the listed repository by clicking the ellipsis icon and selecting the Delete Repository.

  1. Project Control Center
  2. V1 (Prior Version)
  3. Development

Source Control

PreviousDevelopmentNextLFX Tools
  • Setting up GitHub
  • Setup GitHub Repositories
  • Invite The Linux Foundation user to your Organization
  • Deleting a GitHub Organization
  • Setting up GitLab
  • Setting up Gerrit
  • Adding Repositories
  • Updating the Repository
  • Making a Repository as Writeable or Readable
  • Hiding a Repository and Restrict All Access
  • Deleting a Repository
GitHub
GitLab
Gerrit
Create an Organization
Transfer a Repository
GitHub DCO
Invite Users to an Organization
Transfer a Repository
GitHub
GitHub Organization Name
GitHub Organization
Delete
GitLab
GitLab Group Name
GitLab Status
Source Control
GitHub Status
Add Repository
Repository Details
Source Control
Source Control
Gerrit
Support Ticket
Gerrit
Add Repository
Add Repository
Edit Repository
Repository Updates
Read and Write Access
Hide Repository
Delete Repository