Bitbucket Cloud Version Control

This guide describes how to set up version control for notebooks using Bitbucket Cloud through the UI. Although this document describes how to set up Bitbucket Cloud integration through the UI, you can also integrate through the Databricks CLI or Workspace API.

Configure version control

Configuring version control involves creating access credentials in your version control provider and adding those credentials to Databricks.

Get an app password

  1. Go to Bitbucket Cloud and create an app password that allows access to your repositories. See the Bitbucket Cloud documentation.
  2. Record the password. You enter this password in Databricks in the next step.

Save your app password and username to Databricks

  1. Click the User icon Account Icon at the top right of your screen and select User Settings.

    AccountSettings
  2. Click the Git Integration tab.

  3. If you have previously entered credentials, click the Change token or app password button.

  4. In the Git provider drop-down, select Bitbucket Cloud.

    bb-cloud-provider-credentials

  5. Paste your password and username into the respective fields and click Save.

Work with notebook revisions

You work with notebook revisions in the History panel. Open the history panel by clicking Revision history at the top right of the notebook.

../../_images/revision-history-open.png

Note

You cannot modify a notebook while the History panel is open.

Save a notebook to Bitbucket Cloud

While the changes that you make to your notebook are saved automatically to the Databricks revision history, changes do not automatically persist to Bitbucket Cloud.

  1. Open the History panel.

    SaveNow
  2. Click Save Now to save your notebook to Bitbucket Cloud. The Save Notebook Revision dialog displays.

  3. Optionally, enter a message to describe your change.

  4. Make sure that Also commit to Git is selected.

    ../../_images/save-revision.png
  5. Click Save.

Revert or update a notebook to a version from Bitbucket Cloud

Once you link a notebook, Databricks syncs your history with Git every time you re-open the History panel. Versions that sync to Git have commit hashes as part of the entry.

  1. Open the History panel.

    github-sync
  2. Choose an entry in the History panel. Databricks displays that version.

  3. Click Restore this version.

  4. Click Confirm to confirm that you want to restore that version.

Branch support

You can work on any branch of your repository and create new branches inside Databricks.

Create a branch

  1. Open History panel.

  2. Click the Git status bar to open the GitHub panel.

  3. Click the Branch dropdown.

  4. Enter a branch name.

    ../../_images/github-branch-create.png
  5. Select the Create Branch option at the bottom of the dropdown. The parent branch is indicated. You always branch from your current selected branch.

Create a pull request

  1. Open History panel.

  2. Click the Git status bar to open the GitHub panel.

    ../../_images/git-create-pr.png
  3. Click Create PR. Bitbucket Cloud opens to a pull request page for the branch.

Best practice for code reviews

Databricks supports Git branching.

  • You can link a notebook to your own fork and choose a branch.
  • We recommend using separate branches for each notebook.
  • Once you are happy with your changes, you can use the Create PR link in the Git Preferences dialog to take you to Bitbucket Cloud’s pull request page.
  • The Create PR link displays only if you’re not working on the default branch of the parent repository.

Bitbucket Server

Important

Bitbucket Server integration is not supported. However, you can use the Workspace API to programmatically create notebooks and manage the code base in Bitbucket Server.

Troubleshooting

If you receive errors related to Bitbucket Cloud history sync, verify the following:

  1. You have initialized the repository on Bitbucket Cloud, and it isn’t empty. Try the URL that you entered and verify that it forwards to your Bitbucket Cloud repository.
  2. Your app password is active and your username is correct.
  3. If the repository is private, you should have read and write access (through Bitbucket Cloud) on the repository.