@jupyterlab/git
Version:
A JupyterLab extension for version control using git
204 lines (203 loc) • 6.8 kB
JSON
{
"jupyter.lab.setting-icon": "git",
"jupyter.lab.setting-icon-label": "Git",
"title": "Git",
"description": "jupyterlab-git settings.",
"type": "object",
"properties": {
"blockWhileCommandExecutes": {
"type": "boolean",
"title": "Suspend user interaction until commands finish",
"description": "Suspend JupyterLab user interaction until Git commands (e.g., commit, pull, reset, revert) finish executing. Setting this to true helps mitigate potential race conditions leading to data loss, conflicts, and a broken Git history. Unless running a slow network, UI suspension should not interfere with standard workflows. Setting this to false allows for actions to trigger multiple concurrent Git actions.",
"default": true
},
"cancelPullMergeConflict": {
"type": "boolean",
"title": "Cancel pull merge conflict",
"description": "If true, when fetching and integrating changes from a remote repository, a conflicting merge is canceled and the working tree left untouched.",
"default": false
},
"disableBranchWithChanges": {
"type": "boolean",
"title": "Disable branch with changes",
"description": "Disable all branch operations (new, switch) when there are changed/staged files",
"default": false
},
"displayStatus": {
"type": "boolean",
"title": "Display Git status updates",
"description": "Display Git extension status updates in the JupyterLab status bar. If true, the extension displays status updates in the JupyterLab status bar, such as when pulling and pushing changes, switching branches, and polling for changes. Depending on the level of extension activity, some users may find the status updates distracting. In which case, setting this to false should reduce visual noise.",
"default": true
},
"doubleClickDiff": {
"type": "boolean",
"title": "Show diff on double click",
"description": "If true, double clicking a file in the list of changed files will open a diff.",
"default": false
},
"historyCount": {
"type": "integer",
"title": "History count",
"description": "Number of (most recent) commits shown in the history log",
"default": 25
},
"refreshIfHidden": {
"type": "boolean",
"title": "Refresh if the Git tab is hidden",
"description": "Whether to check Git status when the Git tab is not visible. Choose `false` for higher performance.",
"default": false
},
"refreshInterval": {
"type": "integer",
"title": "Refresh interval",
"description": "Number of milliseconds between polling the file system for changes.",
"default": 3000
},
"simpleStaging": {
"type": "boolean",
"title": "Simple staging flag",
"description": "If true, use a simplified concept of staging. Only files with changes are shown (instead of showing staged/changed/untracked), and all files with changes will be automatically staged",
"default": false
},
"commitAndPush": {
"type": "boolean",
"title": "Trigger push on commit",
"description": "Whether to trigger or not a push for each commit.",
"default": false
},
"promptUserIdentity": {
"type": "boolean",
"title": "Prompt user identity on commit",
"description": "Whether to prompt for user name and email for each commit.",
"default": false
},
"openFilesBehindWarning": {
"type": "boolean",
"title": "Open files behind warning",
"description": "If true, a popup dialog will be displayed if a user opens a file that is behind its remote branch version, or if an opened file has updates on the remote branch.",
"default": true
},
"hideHiddenFileWarning": {
"type": "boolean",
"title": "Hide hidden file warning",
"description": "If true, the warning popup when opening the .gitignore file without hidden files will not be displayed.",
"default": false
}
},
"jupyter.lab.shortcuts": [
{
"command": "git:submit-commit",
"keys": ["Accel Enter"],
"selector": ".jp-git-CommitBox"
}
],
"jupyter.lab.menus": {
"main": [
{
"id": "jp-mainmenu-git",
"label": "Git",
"rank": 60,
"items": [
{
"command": "git:init"
},
{
"command": "git:clone"
},
{
"command": "git:merge"
},
{
"command": "git:push"
},
{
"command": "git:push",
"args": { "advanced": true }
},
{
"command": "git:pull"
},
{
"command": "git:pull",
"args": { "force": true }
},
{
"command": "git:reset-to-remote"
},
{
"command": "git:manage-remote"
},
{
"command": "git:terminal-command"
},
{
"type": "separator"
},
{
"command": "git:toggle-simple-staging"
},
{
"command": "git:toggle-double-click-diff"
},
{
"type": "separator"
},
{
"command": "git:open-gitignore"
},
{
"type": "separator"
},
{
"type": "submenu",
"submenu": {
"id": "jp-mainmenu-git-help",
"label": "Help",
"items": [
{
"command": "git:open-url",
"args": {
"text": "Set Up Remotes",
"url": "https://www.atlassian.com/git/tutorials/setting-up-a-repository"
}
},
{
"command": "git:open-url",
"args": {
"text": "Git Documentation",
"url": "https://git-scm.com/doc"
}
}
]
}
}
]
}
],
"context": [
{
"type": "submenu",
"selector": ".jp-DirListing-item[data-isdir=\"false\"]",
"rank": 5,
"submenu": {
"id": "jp-contextmenu-git",
"label": "Git",
"icon": "git"
}
},
{
"type": "command",
"command": "git:open-file-from-diff",
"selector": ".jp-git-diff-title",
"rank": 1
}
]
},
"jupyter.lab.internationalization": {
"selectors": ["jupyter.lab.menus/.*/args/text"],
"domain": "jupyterlab_git"
},
"jupyter.lab.toolbars": {
"FileBrowser": [{ "name": "gitClone", "rank": 31 }]
}
}