• Stars
    star
    112
  • Rank 312,240 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created about 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Git integration for the Wolfram Language

GitLink for Wolfram Language

GitLinkLogo

View notebooks

GitLink is a package for integrating git functionality into the Wolfram Language. GitLink supports 11.1 and later versions of Wolfram Language deployments for the desktop, including Wolfram Desktop and Mathematica.

Installing the GitLink release

The GitLink release comes in the form of a .paclet file, which contains the entire package and its documentation. Download the latest release from the Github repo's releases page. To install, run the following command in the Wolfram Language:

PacletManager`PacletInstall["/full/path/to/GitLink.paclet"]

This will permanently install the GitLink paclet. The Wolfram Language will always use the latest installed version of GitLink. Installed versions can be enumerated using the command:

PacletManager`PacletFind["GitLink"]

And all versions can be uninstalled using the command:

PacletManager`PacletUninstall["GitLink"]

Using GitLink

To access the documentation, open the notebook interface help viewer, and search for GitLink. The first hit will be a summary page enumerating the most commonly used functions in GitLink. It also includes links to other summary pages enumerating a full list of functions for branches and references, and for low-level git operations.

To start, load the GitLink package, and try opening a repository and enumerating the tip of its master branch.

Needs["GitLink`"]
r = GitOpen["/full/path/to/a/git/repo"]
c = ToGitObject[r, "master"]
GitProperties[c]

Congratulations! You're well on your way to reading and manipulating git repos with GitLink.

Where did this come from?

GitLink is a paclet maintained by John Fultz of Wolfram Research, with significant help from Lou D'Andria, Alex Newman, and other Wolfram Research staff. John Fultz began building GitLink for his own use, and later worked with Lou and Alex to create and deploy tools that are used widely within Wolfram Research.

GitLink is implemented on top of the excellent libgit2 project. However, rather than expose a simple set of libgit2 bindings, we've chosen to expose a high level interface to git which plays to the strengths of the Wolfram Language.

...and where's it going?

GitLink is ultimately slated to become a part of the official Wolfram Language release. Before that happens, more functionality will need to be implemented, and the product will be subjected to our rigorous design review process, which may introduce incompatibilities with the existing version. However, it is our intent to keep the source open even after we ship the final product, and to continue to be welcome to community contributions that can improve future versions of GitLink.

Major areas of GitLink which are not yet implemented include support for diff, blame, rebase, submodule, and config functionality. Additionally, we need to improve support for various git protocols for pushing and fetching.

More...

See the following files for more information:

More Repositories

1

WolframLanguageForJupyter

Wolfram Language kernel for Jupyter notebooks
Mathematica
983
star
2

Arrival-Movie-Live-Coding

Documents from a live coding session by Christopher Wolfram related to content from the 2016 film Arrival
Mathematica
940
star
3

WolframClientForPython

Call Wolfram Language functions from Python
Python
426
star
4

codeparser

Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)
Rust
117
star
5

vscode-wolfram

Official Visual Studio Code extension for Wolfram Language
CMake
96
star
6

WolframWebEngineForPython

Integrates the Wolfram Language seamlessly with Python AIOHTTP
Python
88
star
7

Chatbook

Wolfram Notebooks + LLMs
Mathematica
78
star
8

codeinspector

Find and report problems in Wolfram Language code
Mathematica
63
star
9

wolfram-notebook-embedder

JavaScript embedder for Wolfram Cloud notebooks
JavaScript
56
star
10

FEMAddOns

Finite Element Method addons for Wolfram Language
Mathematica
52
star
11

wolfram-library-link-rs

Safe, efficient, and ergonomic bindings to Wolfram LibraryLink and the Wolfram Language
Rust
47
star
12

LSPServer

LSPServer is a package that implements the Language Server Protocol for Wolfram Language and allows a Wolfram Language kernel to run as an LSP server.
Mathematica
45
star
13

codeformatter

Format Wolfram Language source code
Mathematica
44
star
14

LibraryLinkUtilities

C++ wrappers for conveniently wrapping Wolfram LibraryLink code.
C++
33
star
15

draw

Vector drawing program with the Wolfram Language
Mathematica
33
star
16

OpenCascadeLink

Open source package for OpenCascadeLink, which is bundled with Wolfram Language products as of version 12.1
C++
31
star
17

RhinoLink

Wolfram Language interface to Rhino3D
C#
25
star
18

AWSLambda-WolframLanguage

Wolfram Language container image runtime for AWS Lambda
Mathematica
25
star
19

WL-FunctionCompile-CI-Template

Compile Wolfram Language functions using GitHub Actions continuous integration
Mathematica
23
star
20

GurobiLink

Wolfram Language interface to the Gurobi numerical optimization library
C++
23
star
21

WAS-Kubernetes

Shell
20
star
22

Sublime-WolframLanguage

Official Sublime Text package for Wolfram Language
Python
20
star
23

GitLink-Talk

Talk introducing GitLink given at the 2015 Wolfram Technology Conference
Mathematica
20
star
24

DistMesh

Mathematica
19
star
25

wstp-rs

Rust bindings to the Wolfram Symbolic Transport Protocol (WSTP)
Rust
18
star
26

CSSTools

A package for importing CSS files into the Wolfram Language
Mathematica
17
star
27

MongoLink

MongoLink is a package for interacting with MongoDB inside the Wolfram Language.
Mathematica
17
star
28

wolfram-expr-rs

Representing Wolfram Language expressions in Rust.
Rust
14
star
29

semantic-math

Mathematica
13
star
30

PacletCICD

Continuous integration and deployment for Wolfram Language Paclets
Mathematica
13
star
31

BioFormatsLink

Package for interacting with Bio-Formats library in the Wolfram Language
Mathematica
13
star
32

wolfram-app-discovery-rs

Locate local installations of the Wolfram Language.
Rust
12
star
33

Data-Curation-Training

Mathematica
12
star
34

build-paclet

Shell
4
star
35

check-paclet

Shell
3
star
36

wolframresearch.github.io

HTML
3
star
37

submit-paclet

Shell
3
star
38

sync-promise-js

TypeScript
2
star
39

test-paclet

Shell
2
star
40

PacletCICD-Examples-AdvancedSample

Mathematica
2
star
41

loggers-js

TypeScript
1
star
42

PacletCICD-Examples-FewIssues

Mathematica
1
star
43

PacletCICD-Examples-MoreIssues

Mathematica
1
star
44

PacletCICD-Examples-CompiledLibrary

Mathematica
1
star
45

reback-js

TypeScript
1
star
46

PacletCICD-Examples-Sample

Mathematica
1
star