Command-Line Options
This section gives an overview of the various command-line options which can be passed as parameters to the SmartGit launcher at start-up. The launcher used by SmartGit depends on your platform:
- Windows
bin\smartgit.exe
orbin\smartgitc.exe
.smartgit.exe
is meant for regular usage, whilesmartgitc.exe
will print additional information on the console while the program runs. - MacOS
SmartGit <version-number>.app/Contents/MacOS/SmartGit
- Linux
bin/smartgit.sh
In the following, we’ll use smartgitc.exe
as an example to explain the available options. Substitute it with the respective launcher for your platform if you’re not using Windows.
There may be additional options available that mainly serve debugging purposes and are therefore not documented here.
Options “-?” and “–help”
With either of the two following commands you can print all command-line options on the console that are specifically supported by the version of SmartGit you’re using:
Example
smartgitc.exe -?
smartgitc.exe --help
Note
On Windows, make sure to call
smartgitc.exe
(with ‘c’ on the end), otherwise when callingsmartgit.exe
this parameter has no effect, since the SmartGit process won’t be attached to any console to print the help output to.
Option “–open”
This option launches SmartGit and opens the repository in the specified location. It’s the default option and may be omitted.
Example
smartgitc.exe --open C:\path\to\repository
Example
smartgitc.exe --cwd C:\path --open to\repository
Example
smartgitc.exe .
Option “–cwd”
This option sets the current working directory, which affects the path given in the open
, log
and blame
option (see below) as follows:
- If the
open
,log
orblame
options are specified without their own path arguments, the path given with thecwd
option will be used as argument foropen
orlog
. - If the
open
,log
orblame
options are specified with relative paths, these relative paths will be resolved against the path given with thecwd
option. - If the
open
,log
orblame
options are specified with absolute paths, the path given with thecwd
option is ignored.
The path given with the cwd
option must be an absolute path. If the path is relative, it will be ignored.
Option “–log”
This option opens SmartGit’s Log window for the repository or file in the specified location.
Example
smartgitc.exe --log C:\path\to\repository\path\to\file
Example
smartgitc.exe --cwd C:\path --log to\repository
Option “–blame”
This option opens SmartGit’s Blame window for the specified file.
Example
smartgitc.exe --blame C:\path\to\repository\path\to\file
When adding a colon with the line number at the file end, it will scroll to the specified line.
Example
smartgitc.exe --blame C:\path\to\repository\path\to\file:400
Option “–investigate”
This option opens the built-in DeepGit for the specified file. When adding a colon with the line number at the file end, it will scroll to the specified line.
Example
smartgitc.exe --investigate C:\path\to\repository\path\to\file:400
Option “–anchor-commit”
This option can be optionally specified in addition to “–log”, “–blame” and “–investigate” and defines the anchor commit of the Log. The anchor commit will be made visible and preselected in the Commits view.
Example
smartgitc.exe --log C:\path\to\repository\path\to\file --anchor-commit=10de7ee0313e79c406d729f4c3e11f286df54f05
Option “–write-default-theme-file”
Use this option to create the file own.theme
in the SmartGit settings directory (the exact file path is displayed) as starting base for creating a SmartGit theme. You can rename or move the file.
The file contains key=value lines, a leading # comments out the line. The most keys should be self-explaining. The value usually is a color defined as #rrggbb
using hexadecimal values, but it also can be name of another key which makes it easier to create a couple of named colors instead of having to write the same #rrggbb
value for different controls.
inherit means to inherit the color from the parent control, default forces the control to use its default color from the operating system. You can SmartGit tell to load this file by selecting it in the preferences:
Example
To create a theme that uses a green background color for selection, uncomment the line
#selection.background=#5968B2
by removing the leading # and change the value to a green value:
selection.background=#3DAF3F
and restart SmartGit.
Option “–add-tool”
Use this option to add a new diff tool or conflict solver (see Preferences, Diff Tools and Conflict Solvers). To add a diff tool, invoke:
Example
smartgitc.exe --add-tool type=diff pattern=*.eap "command=<local-path-to-your-diff-tool>" "parameters=${leftFile} ${rightFile}"
To add a conflict solver, invoke:
Example
smartgitc.exe --add-tool type=merge pattern=*.eap "command=<local-path-to-your-conflict-solver>
” “parameters=${leftFile} ${rightFile} ${baseFile} ${mergedFile}”