Skip to content

Commit

Permalink
Update docs formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
jacebrowning committed Dec 23, 2020
1 parent d19d315 commit 337777d
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Self-contained / Portable GitMan
# Self-Contained / Portable GitMan

There are scenarios where a global GitMan installation via [pip](https://github.com/pypa/pip) or a local GitMan installation via [poetry](https://github.com/sdispater/poetry) is not possible or difficult to manage.
There are scenarios where a global GitMan installation via [pip](https://github.com/pypa/pip) or a local GitMan installation via [Poetry](https://github.com/sdispater/poetry) is not possible or difficult to manage.
For example, when a local system doesn't have the required python or pip version installed and or the global installation may produce side effects (different parallel python versions on the same machine).
Furthermore there are scenarios where a high degree of reproducibility, managing multiple different versions of GitMan on the same machine and hassle free distribution of GitMan is desired.

In these scenarios, it can be helpful to use a self contained GitMan application besides the possibility to use a virtual environment (e.g. via pyenv + poetry or docker).
In these scenarios, it can be helpful to use a self contained GitMan application besides the possibility to use a virtual environment (e.g. via pyenv + Poetry or Docker).
It is possible to build a single self contained OS-specific GitMan binary using [PyInstaller](https://www.pyinstaller.org/) that can be used locally or globally.
Over this way it is possible to manage multiple different versions of GitMan on the same machine and to easily distribute the GitMan application (including all needed dependencies) by simply copying one single file.

Following this approach, the gitman.yml and the corresponding compatible version of the GitMan application can be managed side by side in the same repository to ensure
Following this approach, the `gitman.yml` and the corresponding compatible version of the GitMan application can be managed side by side in the same repository to ensure
reproducibility and easy distribution.

## Prerequisites
Expand All @@ -25,7 +25,7 @@ Furthermore OS-specifc prerequisites are required.
Below there are some well-known prerequisites listed.
Depending on the local system it may need further steps to do.

### Linux-specific prerequisites
### Linux prerequisites

- install the corresponding python developer package

Expand All @@ -47,16 +47,16 @@ Depending on the local system it may need further steps to do.
yum install python-devel
```

### Windows-specific prerequisites
### Windows prerequisites

- install make via [cygwin](https://www.cygwin.com/) or [mingw](http://www.mingw.org/) (add the path to make to the PATH-Environment Variable e.g. C:\cygwin\bin)
- install [pywin32](https://github.com/mhammond/pywin32) according the used python version and system architecture (e.g. for python 3.7 and amd64-architecture use pywin32-224.win-amd64-py3.7.exe)

### Mac OS X prerequisites
### macOS prerequisites

Some notes regarding Mac OS X prerequisites can be found [here](https://pyinstaller.readthedocs.io/en/v3.3.1/installation.html#installing-in-mac-os-x).
Some notes regarding macOS prerequisites can be found [here](https://pyinstaller.readthedocs.io/en/v3.3.1/installation.html#installing-in-mac-os-x).

## Build the self contained GitMan binary
## Binary Build

To build the self contained GitMan binary use:

Expand Down
18 changes: 8 additions & 10 deletions docs/extras/git-svn.md → docs/extras/git-svn-bridge.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@ Many development projects use Subversion (SVN) to manage their source code. It

One of Git’s great features is a bidirectional bridge to Subversion called `git svn`. This tool allows you to use Git as a valid client to a Subversion server, so you can use all the local features of Git and then push to a Subversion server as if you were using Subversion locally.

The gitman git svn support allows you to resolve SVN source dependencies. The gitman does resolve a specified SVN revision (e.g. HEAD) of an SVN repository source dependency (from whole branches to particular subdirectories).

> **Important**
>
> The gitman `git svn` support does currently not track any changes in the imported svn repository.
> The focus of this feature is to just import svn dependencies
> The GitMan `git svn` support does currently not track any changes in the imported SVN repository.
> The focus of this feature is to just import SVN dependencies
> in a readonly fashion.
> In this matter any changes in the imported svn repository
> will be overridden by an update/install process (like an implicit `--force` for each gitman command).
> will be overridden by an update/install process (like an implicit `--force` for each GitMan command).
To import svn repositories it is required to specify the repo source parameter `type` to `git-svn` for the corresponding entries.
To import SVN repositories it is required to specify the repo source parameter `type` to `git-svn` for the corresponding entries.

Example Configuration:

Expand All @@ -38,14 +36,14 @@ sources:
rev: v1.8.1.2
```

By default the repo source parameter `type` is `git`.
By default, the `repo` source parameter `type` is `git`.

> **Note**
>
> The gitman `git svn` support uses internally
> The GitMan `git svn` support internally uses:
>
> ```sh
> ```
> $ git svn clone -r <rev> <repo>
> ```
>
> to resolve the individual SVN source dependency. In this matter only the specified svn revsion will be fetched (shallow history).
> to resolve the individual SVN source dependency. In this matter, only the specified SVN revision will be fetched (shallow history).
4 changes: 2 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ nav:
- Sparse Checkouts: use-cases/sparse-checkouts.md
- Default Groups: use-cases/default-groups.md
- Extras:
- Git SVN Bridge: extras/git-svn.md
- Self-Contained GitMan: extras/self-contained-gitman.md
- Git SVN Bridge: extras/git-svn-bridge.md
- Bundled Application: extras/bundled-application.md
- About:
- Release Notes: about/changelog.md
- Contributing: about/contributing.md
Expand Down

0 comments on commit 337777d

Please sign in to comment.