Wiki copymirror

This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.

LazGitGui

LazGitGui is a graphical user interface for git. In some way, it tries to resemble the popular 'git gui' program but with some additions that allow you, with a glimpse, to get a general state of the repository.

If you don't know what 'git gui' is, it is a graphical representation of the git status, where one can do basic git operations like watch what files in the work space have been modified and see the differences with respect to the original files. It also allow move files between the unstaged and the staged area and make commits from it, and much more.

Git Gui has some cool features not yet available in this program, for example the selective apply or revert of hunk and line changes from the diff viewer.

Contrary to Git Gui which relies on gitk for that feature, LazGitGui has a log feature that allows you to see the history of the repository and do some operation on branches and commits.

Features

Screenshots

Status Screen

Log Screen

File History Screen

Download

Clone from the LazGitGui repository

Documentation

The following are extracts from the documentation available in the docs/documentation.md file

Building LazGitGui

At the moment there are no binary releases available so the program has to be compiled and used from the compiling directory.

This is a Lazarus/Free Pascal program so you will need Lazarus in order to compile it, a standard install will be enough as LazGitGui does not use special packages.

The most recent Lazarus release should be fine but if it's not please let me know.

In Lazarus, open the project file lazgitgui.lpi and compile it.

How to use

LazGitGui can use a supplied path passed as the last parameter in the command line, it can be a directory or a file residing within the working area of the repository at any level, if a path is not specified it will use the current working directory. Some suggestions for invoking LazGitGui:

From Lazarus, an external tool can be configured with the following properties:

(Linux + Windows)

pascal
Title: LazGitGui
Program Filename: PATH/TO/LazGitGui executable
Parameters: --logfile=PATH/TO/LazGitGui/ide.log $EdFile()
Shortcut: CTRL+ALT+G

(macOS)

pascal
Title: LazGitGui
Program Filename: open
Parameters: -a PATH/TO/LazGitGui.app --args --logfile=PATH/TO/LazGitGui/ide.log $EdFile()
Shortcut: CMD + G

The logfile parameter is optional.

Requirements

LazGitGui only requires the git program, any version since 1.9.0 should work.

The program tries automatically to find the git executable in the system (or user) path, once located, it gets stored in the LazGitGui config file. LazGitGui does this only once, the next time the program is started, the git executable path is read from the config file.

In the case that LazGitGui was unable to locate the git program, or if one specific version of git is needed and because at the moment LazGitGui does not have a config screen, you have two options: Use the command line or edit the config file:

Editing the config file

The config file can be found in the following locations:

pascal
Windows:    %LOCALAPPDATA%\appdata\lazgitgui\config\lazgitgui.cfg.json
Linux/mac:  $HOME/.config/lazgitgui\lazgitgui.cfg.json

for example (this works under Linux):

json
{
...
"lazgitgui.cfg" : { "git" : "/usr/bin/git" },
...
}

Using the command line

use the --git parameter to enter the git executable location:

--git=PATH/TO/GIT_EXECUTABLE.

Modes

By default, LazGitGUI will start full mode with the [[|Status Screen].

If the -l or --log argument is supplied it will be launched in the Standalone Log mode where only the log window will be displayed.

If the -f <file> or --filehistory=<file> argument is supplied, it will be run in File History mode which shows all the changes of the given file. In this case <file> have to be an existing tracked file within the working area, if<file> is not supplied it exists with an error.

Report issues

Please file a report in the bug tracker


From the Free Pascal wiki, page "LazGitGui", as it stood on 2023-08-24 after a change by Jesusrmx, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .