Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

You may run into different types of errors when you are using the JupyterHub or Jupyter notebooks. The majority of errors come from a few common causes and can be solved using the following methods.

nbgitpuller link errors are usually due to one of three issues.

Incompatible Browser

Unfortunately, the nbgitpuller software does not support the Microsoft Edge browser. If you click an nbgitpuller link in Edge, you will likely be taken to your datahub.berkeley.edu dashboard, but you won’t see your desired files there.

Open nbgitpuller links in Chrome, Firefox, or Safari.

If the nbgitpuller link was not generated correctly, you’ll see a red loading bar with an error message that says “Error: Command ‘[‘git’, ‘fetch’]’ returned non-zero exit status 128.” An example screenshot is below:

Example error output from nbgitpuller

Solution: re-generate the nbgitpuller link. Make sure that you’ve filled in the correct Jupyter hub URL, Github URL, branch, and file. Some tips:

Modified Content

If instructors make changes to an assignment on GitHub after students have already pulled the original version, students who click the nbgitpuller link again may encounter one of two issues: they may see a red loading bar with a merge conflict message, or they may not see the new updates at all.

A merge conflict occurs when both the instructor and the student have changed the same parts of the notebook: nbgitpuller doesn’t know how to integrate the instructor’s changes without overwriting student work, so it refuses to proceed. Alternatively, if you already have the old version, simply clicking the nbgitpuller link again may not update the files on your account. You can read more about nbgitpuller’s automatic merging behavior.

Example of a merge conflict error message!

Figure 1:Example of a merge conflict error message!

Solutions

Rename Files

The easiest and most conservative solution is to rename the file or folder that contains the incompatible changes, then click the nbgitpuller link again. If the file or folder is renamed to anything else (e.g. “SOC-5-old”), nbgitpuller will clone a fresh copy of the problematic files to the student’s Jupyterhub. They can then copy over any work from the old version of the file.

Steps to rename and get an updated assignment:

  1. Rename your existing assignment file or folder.
    The method depends on which interface you’re using:

    In JupyterLab:

    • Right-click on the file or folder in the file browser (left sidebar)

    • Select “Rename” from the context menu

    • Type the new name (for example, rename “lab01.ipynb” to “lab01-old.ipynb” or “assignment-backup”)

    In Jupyter Notebook (Classic):

    • Navigate to the file browser (tree view) by going to <HUB_URL>/user/<YOUR_USERNAME>/tree

    • Right-click on the file or folder you want to rename

    • Select “Rename” from the context menu

    • Type the new name

    Steps to rename a folder in the file browser

    Figure 2:Steps to rename a folder in the file browser

  2. Click on the nbgitpuller link again.
    Once the old assignment is renamed, clicking the nbgitpuller link will pull down a fresh copy of the updated assignment into your JupyterHub account.

  3. Transfer your previous work (if needed).
    Open both the old and new files side-by-side to copy over any work you want to keep from the previous version.

git stash

If you have command line experience then you can use “git stash” command in terminal to temporarily remove the incompatible changes.

Launch a terminal

Figure 3:Launch a terminal

Output from git stash command

Figure 4:Output from git stash command