-
Latest Version
SmartGit 24.1 LATEST
-
Review by
-
Operating System
Windows 7 / Windows 7 64 / Windows 8 / Windows 8 64 / Windows 10 / Windows 10 64
-
User Rating
Click to vote -
Author / Product
-
Filename
smartgit-win-24_1_0.zip
Features and Highlights
- Virtually all local working tree operations
- Status, diff, log
- Push, pull, fetch (for all protocols)
- Tag and branch management
- Merge, cherry-pick, rebase, revert, rebase
- Stash management
- Remotes management
- Submodule support
- Advanced SVN support (use Smart Git as SVN client)
What's new in this version:
SmartGit 24.1
Fixed:
- Bisect (Mark as Good/Bad): might fail in LFS repositories (credential helper pops up)
- Blame, Changes Since: too light background color
- Completion popup: did not scroll to selection
- GitHub: possible internal error when reading pull request comments without author
Syntax:
- Groovy: internal error typing @
- InnoSetup: internal error typing ' or "
- PHP: <? can occur inside tag arguments
- XML: internal error typing &
Other Noteworthy Changes:
- Bitbucket: added low-level property "bitbucketCloud.repositoryPageSize"
- translations updated
SmartGit 23.1.4.2
Fixed:
- Add Submodule: possible internal error
- Find Object: possible internal error pasting too long string
- GUI: catch (temporary?) no-more-handles error
Other Noteworthy Changes:
- allow MacOS 15 (Sequoia)
- Setup: show welcome page (for evaluation only); disable by settings system property "smartgit.setup.welcomeUrl.evaluation="
SmartGit 23.1.4.1
Fixed:
- Setup wizard: internal error if a file contains "weird" characters in its name that could not be mapped to the file system (regression)
SmartGit 23.1.4
Fixed:
Changes view:
- internal error trying to stage "left" block at first line
- Unstage Selection: internal error for last block in unified diff view
- Changes view/File Compare/...: parsing was broken if token ended with 32-bit char (e.g. "emoji")
- Cherry-Pick/Squash Commits: possible internal error related to invalid Git commits
- Fetch more: after unshallowing commits graph is not refreshed
- Git-Flow, Init: failed in empty repository; now it creates initial empty commit if required
- GitLab: possible error "Object 'sha' not found"
- Init: may fail to create objects in case of file system problems
- Investigate: initial switch from Blame to Diff view gives empty panel
- Log Graph (and Commits view):
- for email-only `.mailmap` lines, the original Author name was lost
- for `.mailmap` lines containing `<>`, mapping was not applied
- Rebase: some warning dialogs showed "Merge" instead of "Rebase" in title
Refresh:
- possible internal error if `mailmap.file` contains an invalid path
- possible error "The process cannot access the file because another process has locked a portion of the file" for untracked-missing rename detection
- Rename: was not applicable any more for submodules (regression since 22.1)
- Remove: was not applicable any more for submodules (regression since 22.1)
- Window | Reset Perspective: kept previous layout
Standard window:
- possible internal error if a dialog occurs (e.g. master password dialog) while dragging a tab
- internal error trying to modify toolbar with "Basic" feature set
- Graph: internal error when toggling "Show Tags" before graph has been loaded
Windows:
- possible error "Failed to invoke filter 'lfs'"
- possible errors related to invalid HOME
Other Noteworthy Changes:
Clone:
- GitHub: improve error message if authentication fails due to outdated username/password
- Conflict Solver: the Base window now has its own window bounds
- Evaluation: more possibilities to copy evaluation-IDs for expired evaluations
- Log and Working Tree window: optionally hide *Toggle 'Assume Unchanged'* and *Toggle 'Skip Worktree'* commands by setting the low-level property `file.contextMenu.toggleRareFileStates` to `false`
macOS:
- Setup wizyard: when searching repositories avoid scanning into directories known to trigger macOS to show a confirmation dialog
SmartGit 23.1.3
Fixed:
Refresh:
- config: possible internal error if config file ends after subsection name
- possible "ghost" modified state related to invalid "text=" in .gitattributes
- Simple hosting providers: Domain input field is missing
Linux:
- default dark theme: assertion showing comment
- table columns too narrow by default
macOS:
- env-var parser fails if `pwsh` is configured
- Reveal in Finder: always shows an empty output dialog
- WSL: if appending Windows path is disabled, browser windows can't be opened
Other Noteworthy Changes:
- updated Chinese translation
company configuration:
- allow to have fixed Git executable version by configuring `executable.requiredExactVersion`
on-premise license server:
- About dialog: show details about on-premise license server
- Setup: improve warning message in case of rejected authorization (LDAP)
- Setup/Register: prevent requesting license if Git email address is not configured
Working Tree window:
- Show Changes: introduce low-level property `showChanges.askForIndexAndWtModifiedFiles` to show selection dialog for wt-index-modified files
- Refresh (macOS): added low-level property `core.status.ignoreGenericFileSystemExceptionOnMacOs` to work around "Operation not permitted" error caused by inaccessible directories
SmartGit 23.1.2
Fixed:
Blame:
- by-author-coloring is always dark, even with light theme
Branches view:
- toggling grouping option in hamburger menu did not trigger refresh
Commit view:
- Rewrap (Windows): introduced additional lines/spaces
File Log:
- possible internal error in case of missing objects
Hosting Providers:
- Azure: client certificates did not work
- Bitbucket:
- own comments may not be editable
- Merge to Local did not work for SSH repositories
- possible dead lock opening a project for some hosting providers, e.g. BitBucket
- GitHub: possible error "Object 'id' not found" related to pull request reviewer assignments
- GitLab: possible internal error for redirected repositories
Open:
- for worktree with mismatch between Git admin pointers, the more unexpected repo will be opened
- for worktree with non-existing Git admin pointer, opening fails
Refresh:
- possible internal error if config file ends with subsection quote (`[remote "`)
- possible internal error for large commit dates, e.g. year 2286
- inefficient refreshing for large repositories with many submodules
- low-level property `json.graphQL.ignoreNullArrayElements` did not work properly
Log window:
- all refs should be displayed by default (regression since 22.1)
Standard window:
- tabs: internal error related to (unintentional) tab dragging while a dialog occurs
- Delete/Move to Trash (macOS): did not refresh correctly after removing `.git` file
SmartGit 23.1.1
Fixed:
- GitHub email address confirmation dialog: selecting the *Always use default email address* radio button wrote empty email address to `.git/config`
- Azure DevOps: OAuth-authentication for repository was broken (unless Git config "useHttpPath" was set)
- Investigate: under certain unclear conditions an internal error could occur when closing the Investigate window
Standard window:
- Commit: should not allow to create empty commit even if repository is empty
- Linux: several problems with forced light theme on dark system theme
- the background color of the Std, Directories table is dark gray instead of light gray
- the caret in text fields is not visible
- the preferences tree uses light foreground on light background for the selected node
- macOS: click-dragging a table item might cause an internal error under unclear conditions
Other Noteworthy Changes:
- Branches view:
- when using `branchBrowser.showClassicAheadBehindNumbers`, colors are used (as in before SmartGit 22.1)
- Log: added low-level property `core.remote.configNamesToIgnoreForUrlLessRemotes` to hide incomplete remotes (that are shown by `git status`)
- some i18n fixes
SmartGit 23.1.0
Fixed:
- Refresh: possible internal error while concurrently adding LFS objects
SmartGit 22.1.7
Fixed:
- 2nd SmartGit instance crashes with FileSystemException
- Rebase, Step: should not be available in non-step mode
Refresh:
- possible problems with custom "filter..process" (long running filter process)
- -may not show modifications for files containing "eol" attribute without "text" attribute
- Linux: evaluation reminder dialog might be hidden behind main window making the impression that SmartGit hangs
Other Noteworthy Changes:
- Graph layout: reduced memory consumption
- added low-level properties github.userQuery.* to fine-tune/debug query-sizes
SmartGit 22.1.6
Fixed:
- Changes view, Split Index/WT files: even if changes.preservePositionWhenSwitchingBetweenWtIndexHead is set to false, selecting the index or working tree of the same file did not select the first diff
- Commit Message, Rewrap: possible internal error
- Distributed Reviews: pull requests may not be properly updated to merge base
- GitHub Enterprise: possible internal errror for "Generate Token" in preferences
- JNA: still created temp directories (regression since 21.2)
Refresh:
- refreshing fails when using negative respecs (^)
- LFS (Windows): possible internal error for case-changed directories
- SSHJ: possible internal error for unsupported private key format
- possible internal error killing a (Git) child process
GUI:
- view tabs (Log, WT window): a too-fast drag-and-drop continued to show the drag-reject cursor
Log window:
- GitHub: possible too large amount of REST calls
Working Tree window:
- if in Setup wizard the Standard window is selected as default, neither the Commit toolbar button nor the Commit view were visible
- Refresh: possible performance problems for .git/index file without checksum
Log window:
- Graph: Varying Coloring uses now more distinct colors
- reactive license.serverPing.url
SmartGit 22.1.5
Fixed:
- Kill hanging process: possible internal error
- Refresh:
- possible internal error in case of corrupt .git/index file
- possible internal error related to bad branch..merge entry in .git/config
- problem reading packed-refs
- Standard window: possible internal error when filtering
Other Noteworthy Changes:
- Log: remove notification "would you like the Log as default window?"
- Preferences: after changing the Startup window option, show restart notification
- Setup wizard: let the user confirm the Standard window
SmartGit 22.1.4
Fixed:
- Background scan: fixed memory leak if Detect Local Changes is disabled
- Changes view: Resolve may fail with "Input length = ..." error depending on the used encodings
- Fetch More: internal error when trying to fetch non-branch, like Gerrit refs/changes/01/000002/3
Standard window:
- Files: possible incorrect original path shown for renamed file
- Filter: various regex-selectors, e.g. .* were non-functional
- GitHub: possible internal error during refresh
- Rebase may silently do nothing
- Linux bundle: old .svg file was bundled
Other Noteworthy Changes:
- Tools: the obsolete ff-merge.sh tool is removed automatically, even if upgraded from older SmartGit versions)
SmartGit 22.1.3
Fixed:
Standard window:
- Start Feature: could reset diverged local branch (not ahead or behind) onto remote branch (possible loss of commit)
- Graph: internal error when selecting virtual and one other commit
Log window:
- Changes: clicking submodule commit did not reveal commit reliably
Hosting providers:
- Azure: for multiple configured hosting providers (accounts), refreshing only worked randomly
- GitHub: possible "Object author not found as parent of PullRequest" for pull requests of non-existing users
Refresh:
- at line end of config file was erroneously treated as line continuaton
- could break in case of inaccessible directory or file
- Setup wizard: possible internal error on Finish (related to proxy configuration)
Other Noteworthy Changes:
- Azure DevOps: added low-level property "azure.accountMatchHonorOrganization"
- Rebase: by default rejects Rebase Interactive when trying to rebase onto a commit of the HEAD's history (low-level property "rebase.invokeInteractiveForBranchHistory")
Log window:
- Changes: font to display comments might be too small to read: added low-level property "changesView.comment.fontSize" to configure the size
SmartGit 22.1.2
Fixed:
- Annotate: possible internal error
- Background scan: fixed memory leak
- Bitbucket: failed for pull requests with invalid refs (silently ignores them now)
- GitHub integration: possible error "Object 'requestReviewer' not found as parent of 'nodes'"
Refresh:
- possible error "is a directory" when opening a repository with symlinks in .git/refs
- possible error "Bad entry" for rn continuation in Git config file
- Spell checker: possible internal error when accepting fix while the message was cleared automatically after a successful commit
- Syntax coloring, PHP: incorrect end of string detection
UI:
- Changes View/Compare: non-US-ASCII-related problems; restored SmartGit 21.2 behavior
- Investigate toolbar icon had wrong background
- Standard window, Commit: line length guide ignored left margin
- Various operations: possible error "Inappropriate ioctl for device" when writing .git/config
SmartGit 22.1.1
Fixed:
Fetch: possible internal error
- Git config file: possible corruption when writing, especially for lines after a comment line
Log:
- Subdirectory Log: internal error double-clicking a commit
- Graph: possible internal error when filtering with set low-level property "log.graph.topoFilter.alwaysIncludeContainingMerges"
- Push To: did not configure tracking even if options were set to do so
- Preferences: certain .gitconfig options may become confused if not stored with canonical case in .gitconfig
Standard window:
- internal error cloning a repository into a directory which was already open and had been deleted outside SmartGit
- Local Files, Push toolbar buttons: count badge might be outside the button depending on the screen zoom level
i18n:
- Investigate: i18n problems
- macOS: window-less menu bar was not translated
SmartGit 22.1.0
Fixed:
- File Log: hitting Del in the Branches view caused internal error
- JIRA: many recurring dialogs after cancelling SSL client certificate
SmartGit 21.2.4
Fixed:
- Azure DevOps: integration was not applicable for ssh://[email protected]:22/project/_git/application URLs
Changes view:
- possible internal error selecting certain images (depending on color model)
- possible internal error when applying/reverting selection containing removal of empty line
Git-Flow (external): finish feature/hotfix/release branches containing '/' did not work
- Log:
- Graph: possible internal error for partial clones when filtering for file name or content
Refresh:
- BitBucket Server: possible internal error if pull request has been created from tag
- squashed subtrees were not detected
- rebooting while running might lose newly entered hosting provider credentials
- Refresh (working tree): possible internal error if .git/index has null-checksum
Other Noteworthy Changes:
- added low level property refresh.checkGitAdminOutsideOfModel
SmartGit 21.2.3
Fixed:
- Changes view
- internal error related "Split leading/trailing lines" option
- Copy without selection: copies 1 char too much resulting in crash for last line
- for Unified view, Goto Next Change may remain at existing change
- error "failed to read file" for missing files if "core.autocrlf=input" is configured
- Files (Log and WT): State and Working Tree State columns should denote rename sources as "missing", not "unchanged"
- GitLab: error "The authorization server does not support this response type" when trying to generate a new token
- Log: possible internal error when filter for modified content
- Pull: Git config "pull.rebase=merges" should be honored
- Pull/others: submodule..update=none should be honored
- Refresh (WT): "filter" may not be applied if listed after "text" or "eol" in .gitattributes
SmartGit 21.2.2
Fixed:
- Changes view: split-off block may miss background color
- Cherry-pick: possible internal error related to subtrees
- Conflict Solver: for LFS conflicts, left and right will show wrong contents (of base file)
- Graph (macOS): (x refs) box with dark background on dark system with light SmartGit theme
- Pull: possible internal error when trying to initialize SVN submodule
- Refresh (Windows): internal error when trying to open repository located at special directory, like "C:UsersaccountMy Documents"
- added low-level property "gitlab.additionalRequestHeaders"
SmartGit 21.2.1
Fixed:
Changes view:
- unexpected "Error reading file, Details: cancelled" for Git-LFS file which exceed the size threshold
- possible internal error clicking "Force Compare"
- Commit/Stash: possible error "unknown option `pathspec-from-file=-'" when using Git 2.25
- External tools: ${commit2} was marked incorrectly as optional
- Gravatar: fixed assertion for incorrectly sized images
Log:
- Graph: memory leak of core objects after invoking popup menu
- File log: internal error if deleting and re-cloning repository while file log is open
Refresh:
- possible internal error "Unknown chunk ID ..."
- internal error trying to open a repository which is actually a file
- macOS bundle with invalid version information
SmartGit 21.2.0
Fixed:
- Changes view: hitting Refresh did not reload file content
SmartGit 21.1.3
- Changes View:
- Apply was available when starting within an inner-line change
- possible internal error when reverting a black and changing the file once again while the confirmation dialog is showing
- Azure DevOps: should allow multiple configurations for different server URLs
- Journal: possible false-positive pushed commits for local, untracked branches
- Kaleidoscope.app command line tool hang until SmartGit was closed; added a workaround
SmartGit 21.1.2
Fixed:
- Azure DevOps: possible "Could not parse date" error on pull request refresh
- Branches view:
- refresh may change selection from remote to local tracking branch
- tag message did not show up for grouped tags
- toggling remote ref might select local ref
- Changes view:
- if saving fails, error banner hides too quickly
- horizontal scrolling did not always update reliably
- possible assertion on Apply
- staging hunks for untracked-missing renamed file fails with "Failed to write file" error
- Working Tree window: did not reliably refresh after failed save
- Ignore: showed scary warning about discarding changes for untracked file
- Log:
- Files (working tree): ignored removed file which is locally existing does not show up unless View Ignored Files is selected
- Refresh (Working Tree): automatic refresh did not clean up files after ignoring directory in non-root .gitignore
- Refresh: possible internal error for commits with commit times > 2038
Other Noteworthy Changes:
- UTF8 detection now scans full file instead of just the first 64kB
- GitHub: shows reasonable warning in case of organization access restrictions
- low-level property "core.tree.filter.backwardCompatibilityWithNonUnicodeGitOnWindows"
- Table controls: if low-level property table.scrollToSelection is set to false, ignore the selection's visibility
SmartGit 21.1.1
Fixed:
- BitBucket: possible internal error on refresh
- Changes pane:
- maximum size limit was not applied to images possibly resulting in out-of-memory errors
- possible out-of-memory error when selecting large file and having "core.autocrlf=input" configured
- Stage did nothing on "Added" conflicts
- fixed names on Unstage/Revert Hunk
- Working Tree window: Changes pane does not show file if it is made visible while a file already was selected
- Conflict Solver:
- external conflict solver: temporary files may be corrupted by replacing LF with CRLF
- Refresh:
- index files format 4 could not be read
- fails for repotool files which have been initialized with --worktree option
- Windows: might fail if file in repository was inaccessible (regression since 20.2)
- Setup: possible internal error with invalid msysgit-installation location
- Startup: --log with a file fails with "Cache has not yet been updated/initialized"
- Syntax coloring:
- Java: binary and hex literals were not detected correctly
- PHP: 'strings in quotes' are not detected in script mode
- MacOS 11: radio button selection changes invisibly when clicking a dfifferen tab item
SmartGit 21.1
Fixed:
- Changes view: possible paint artefacts by resizing window
SmartGit 20.2.5
Fixed:
- BitBucket: redundant "access token"-refresh requests if integration and OAuth is enabled
- internal error if java.library.path contains invalid entry
Log:
- File log: internal error when invoking Files, Rename
- Repositories, Refresh:
- after switching branches, obsolete submodules may remain
- after switching branches, state of new submodules should be populated
- Refresh: possible "submodule has error-prone admin area configuration" warning for main repositories created with "--separate-git-dir"
- Submodule, Initialize: problems with named submodules
Stash:
- Quick Stash behaves like normal Stash (showing a dialog)
- Stash on Demand: must not apply if operation stopped in abortable state (rebase, merge, ...)
- macOS: error parsing environment variables for 'fish' shell
- Windows: internal error checking directory type under special conditions
Other Noteworthy Changes:
- low-level property "smartgit.nodecache.subtrees.enabled" to disable subtree detection and functionality
- Tag grouping: "name" extraction should be honored in Branches view groups, too
SmartGit 20.2.4
Fixed:
- Changes view: possible redundant refreshing if repository is a worktree
- Edit Commit Message: did not warn before modifying pushed commits if HEAD was selected
- Gerrit: detection fails if hooks/commit-msg is a symlink
Log:
- Files: Blame should not be available on submodules
- File Log:
- failed to open for deleted-by-us conflict
- (re)selecting "Index" node should reset Files/Changes view
- Investigate: possible "missing blob" error when selecting commit which contains removed submodule
Refresh:
- possible internal error for submodule entries containing // in .git/config
- Working Tree window: possible wrong matching between submodule entries in .git/config and .gitmodules
Syntax:
- Shell: invalid parsing of $'foo' or $(command parameter)
SmartGit 20.2.3
Fixed:
- Branches: stashes might be missing in case of corrupted logs/refs/stash file (which still could be processed by Git)
- Changes View: no caret was visible
- Distributed Reviews: showed duplicate comments on left side
Log:
- Files: possible internal error related to deleted-by-us submodule conflicts
- Graph: possible "missing blob" error when selecting commit which contains removed submodule
- Refresh: possible internal error related to concurrently changing, renamed files
- Spell checker: could not read files with UTF-8-BOM
- Startup/opening repository: possible internal error related to file-system probing of special network drives
Syntax:
- fixed C# and SQL parsing of # lines, also fixing a performance problem
- Python: a line containing only a # was not detected as comment line
- Worktrees: for some minor internal operations the worktree's config file was search at the wrong location
Other Changes:
- Git-Flow: added low-level-property "gitflow.external.avh1.12"
Log:
- Details: possible confusion about "Tags", "Same State Tags" and "Closest Tags"
- Graph, Filtering: horizontal space better used for filter options
- having SmartGit running only in the tray, launching it a 2nd time reopens last repositories
- Linux: with dark theme comboboxes were hard to read
SmartGit 20.2.2
Fixed:
- Changes View, Compare, ...: internal error trying to stage/apply a selection at the file end
- Log: possible internal error related to layouting very broad graphs
- Preferences: internal error clicking search icon in search input field
- Set Tracked Branch: possible internal error for branch names like "2%"
Syntax coloring:
- Java: 100f is not detected as one number, but as 100 and f
- JavaScript: missed RegEx string
- macOS 10.15: problem parsing environment variables if 'tcsh' is used as shell
Other Changes:
- updated SWT
- Linux: internal error changing screen DPI
SmartGit 20.2.1
New Features and Improvements:
- Commit, line-length guides: added low-level properties commit.lineLengthGuide.limit1/limit2/limit3 to configure limits
- Log - Select Parent/Child Commit has less priority if a file is selected; makes is easier to use the same shortcut for other commands, e.g. Previous/Next Change
Fixed-Bugs:
- Files - "inactive" submodules did not show up despite of selected "Show Ignored File"
- Internal error selecting Files tab if it is in the same tab group as the Changes view
- Graph (File log) - for grouped tags, denote whether the first tag is signed
GitHub:
- During refresh comments vanished temporarily in Changes view
Refresh:
- Windows - possible false-positive modifications of symlinks
- Internal error in case of corrupted filemode bits in .git/index
- Subtree, Add - may fail with "terminal prompts disabled" message
SmartGit 20.2.0
Fixed:
- Journal: possible internal error on drag and drop
- Log:
- Interactive Rebase, Modify/Split Commit: menu items should not be disabled because of merge commits (but though reject to operate because of merge commits)
- Refresh:
- Linux, macOS: performance regression related to timestamp precision
- Remove Worktree: possible internal error if working tree was open in multiple windows
- Stage: reported warnings about unrelated inaccessible directories
- Linux: internal error related to checking the version of the bundled Git
- macOS:
- Cmd+W did not close log or working tree window
- Stage: did not work for repository located directly at $HOME
Changed:
- Ignore dialog: added low-level property "ignore.defaultSelection" that influences which option is selected by default depending on the selected file count and names
- LFS: added low-level property "executable.addBinDirectoryToPath" to prepend the Git bin directory to the PATH, because otherwise for some configs git-lfs is not found
- Log:
- Graph: added low-level property "log.graph.drawSignedIcon" to hide the icon for signed commits
SmartGit 20.1.5
Fixed:
- Commit view with commit template message does not clean comment line (as Commit dialog does)
- Compare: options for ignoring whitespace are not remembered on "Remember as Default"
- Git-Flow, Start Feature: fixed wording in case of fast-forward merge is necessary
- Log: possible internal error with swapped node cache
- Passwords file: possible empty error dialog in case of corrupt passwords file
- Update check is disabled after setting up SmartGit as registered user
- Workaround for https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8253212
SmartGit 20.1.4
Fixed:
- Changes: is not cleaned up correctly if file is selected and repository is removed outside SmartGit
Compare, Conflict Solver:
- internal error applying last (non-empty) line to other side
Conflict Solver:
- "compare.applyGitFilters" was not honored
Distributed Reviews:
- Integrate Pull Request: squashing fails with Git error "You cannot combine --squash with --commit"
- Files, Copy commands: internal error if invoked in bare repository
- Format Patch default external tool: was only available for head commit (regression)
- GitHub Enterprise/GitLab: client certificates without password couldn't be used
Log:
- Graph: Checkout offered to track even remote head branch, e.g. origin/HEAD
- Refresh: after opening repository, background tasks (like continuing SVN clone) were not scheduled
- Refresh: "File system loop encountered" as part of the node cache refreshing
- Settings: bugtracker-settings.xml was not read on first start
SVN:
- possible problems when trying to resume a clone
- Table control: with table.scrollToSelection=false setting a selection did not unselect previously selected files
- Working Tree window: title was not showing open repository under certain conditions
SmartGit 20.1.3
New Features, Improvements:
- File Log, Blame, Investigate: rename detection for searching the file origin was limited to commits with up to 500 additions/removals
- Search for Repositories: added low-level property repositorySearch.autoSearchInDialog to disable the automatic search (useful for slow machines with hard drives)
Fixed Bugs:
- could not be started with + sign in the path
- BitBucket/others: Create Pull Request dialog contained duplicate target entries
- Distributes Reviews:
- Branches view: "Show Closed Pull Requests" had no effect
- External Tools: even if 2 refs are required, the tool could be invoked on a single ref
- Find Object, open repository: did not always select open repository
- File compare: stderr/stdout redirection for external tools did not work
GitHub:
- possible "404 not found" error for subsequent refresh after adding a comment
- Log: possible out-of-memory error while refreshing comments
Files:
- for file log, the filter pattern from the repository root log was initialized
Graph:
- when filtered, checking out a commit may erroneously check out mapped local/remote branch, e.g. different commit
- Linux: right-clicking set focus too late and hence showed an outdated context menu
Refresh:
- possible endless loop in file system benchmarking code
- Working Tree window: opening broken repository (without admin dir) broke subsequent refreshing and file monitoring until repository was closed and reopened
Windows:
- cloning to path with lower-case drive letter caused core.worktree to be set resulting in a notification of SmartGit - workaround for a Git bug
SmartGit 20.1.2
New Features and Improvements:
- Commit template: set caret at the end of the first (valid) line (instead of the beginning)
- Log, Graph view: set low-level property "log.graph.showMergeCommitsGray" to false to not avoid gray merge commits
- Rebase Interactive, Investigate: don't stop after title when shortening message
- Search/Filter: set low-level property "fileSearchOrFilter.matchInside" to false to match the file name start
- Refresh: set low-level property "nodecache.reflogRoots.followSymlinks" to false to prevent possible "java.nio.file.FileSystemLoopException"
Fixed Bugs:
- Blame: didn't distinguish between trailing line ending or not
- Branches view: Del key did not invoke Delete command on focused remote
- Commit: committing many files created multiple commits
- Compare, Index Editor: did not keep posix file mode on save
- Files view: "intent-to-add" files showed up as "modified"
- Gravatar images: incorrectly sized when switching between display zoom level 100% 200% on the same machine
- JIRA integration (cloud instance): didn't re-ask for password in case of HTTP error 403
- Linux: launcher script suggested to try SWT_GTK3=0 though GTK2 is not supported any more
Log:
- Changes view: changes for "assume unchanged" files were not displayed (as in Working Tree window)
- Commit view: missing primary "parent" link for merge commit when "Follow Only First Parent" is selected
- Files view: internal error comparing Index with conflicts against commit
- Graph view: signed commit symbol was not supported by macOS system font
- window could be closed while a command was running
- pressing Ctrl+Shift+3 if all files are staged, did not focus the right table in the Files view
- Preferences, Colors tab: no editor colors were shown on macOS
Refresh:
- internal error if core.excludesfile points to invalid path
- internal error if HEAD points to non-local branch
- possible internal error related to core.ignoreCase=true on case-sensitive file system (e.g. Linux)
- removed but ignored, physically existing file showed up as untracked
Stage:
- possible internal error for file names containing special characters
- possible error "..System Volume Information"
- Windows: possible error "the following file has local modifications"
- SSH: using "System SSH" Git was not correctly configured for plink passing invalid arguments ("plink: unknown option "-o"")
SmartGit 20.1.1
Fixed Bugs:
- Commit: internal error double-clicking entry in file completion popup
- Clone: internal error if clone finishes after the repository had been removed while cloning
- several commands: internal errors for "unusual" file names
Log:
- Files view (Linux): staging all files loses focus
- Refresh: working tree node doesn't show up after switching back to modified repository
Changes:
- Setup wizard: the Log vs. Working Tree option covers more changed options now
- updated Chinese translation
SmartGit 20.1
Fixed Bugs:
- temp dir cleanup did not work reliable on shutdown
- Windows installer: did not uninstall "Open in SmartGit" explorer context menus
- Windows: tree control uses full row selection as on other platforms, because https://bugs.eclipse.org/bugs/show_bug.cgi?id=438479 seems to be fixed now
SVN:
- Log, Graph: "SVN revision" column won't immediately show up after opening SVN repository (but only after first refresh once it's already open)
SmartGit 19.1.7
Fixed Bugs:
- BitBucket Server: possible internal error when refreshing (related to moved repositories)
- GitHub, Create Pull Request: fails if target repository name contains uppercase letters
Refresh:
- Git-LFS lock file information may fail to parse due to new timestamp format
- Git-LFS locks processing (for own locks) should be more tolerant in case of missing "owner"
- corrupt yml settings files (e.g. containing 0x00 bytes) fail SmartGit to start
- Investigate: showed DeepGit version in title
SmartGit 19.1.6
Fixed Bugs:
- Git-Flow, Integrate/Finish Feature: may unexpectedly skip commits to rebase
- Opening bare repository may fail due to missing "logs" directory
- Internal error setting log level to FINE
Log:
- possible internal error for files obstructured by submodules
Log/Working tree window:
- memory leak when closing
Log Graph/Journal:
- internal error if a user name contained r
Journal:
- changing Auxiliary Ref in submodule did not refresh automatically
Ignore:
- internal error trying to ignore the root directory; resolved by only allowing directories containing only untracked (or ignored) files
Refresh:
- for notification "Repository ... has a locked index" the "Delete" button may not work if .git/index.lock has been removed in the meanwhile
GUI:
- text input field, e.g. filters: Ctrl+Z triggered accelerator instead of accepting as undo for text field
SmartGit 19.1.5
New Features, Improvements:
GUI:
- Table control: added low-level property table.scrollToSelection to prevent scrolling to selection, e.g. after toggling the sort status
Fixed Bugs:
Compare:
- GitHub: query was not tolerant in case of missing parent repositories
- Rebasing commands (reordering, changing messages, ...): had problems with spaces in paths
- Opening a missing repository in 2 windows could result in an internal error when confirming the removal
- Possible internal error related to bare repositories
- Index Editor: did not show a warning if a file could not be saved, e.g. because it was locked by another application
- I18n: variable text parts could be replaced by "1", "2", ...
- Internal error saving passwords
- For commercial users with outdated licenses the evaluation did not work
- Applying changes from default settings (startup.settingsToReplaceFromDefaults) did not work when upgrading from old XML files
- resizing the window did not redraw the "Long lines" view causing garbage to be shown there
- forgots some options when using "Remember as Default"
Log:
- opening a freshly cloned shallow repository failed if a commit listed in .git/shallow was not present in the repository
SmartGit 19.1.4
New Features, Improvements:
- Branches view: ability to copy stash name
- Changes view: include commit ID for "Could not find submodule commit" message
- Hosting providers: added low-level property
- smartgit.hostingProvider.skipCheckForConfigurations to prevent, e.g. notifications "Bitbucket Server integration is not yet configured"
- Added low-level property smartgit.pull.skipCheckForExternalCredentialsHelper to prevent notification "External Credentials Helper detected"
Fixed Bugs:
Log:
- Files: toggling Show Directories did not update the GUI immediately
- Working Tree refresh: possible internal error related to core.ignoreCase=true
- Clicking sourcetree:// URLs in Bitbucket did not open clone wizard any more
SVN:
- Submodule initialization was not possible if smartgit.svn.scanSubmodulesForNonSvnParents=true
- Refresh: uninitialized submodules don't show up if smartgit.svn.scanSubmodulesForNonSvnParents=true
UI:
- Ctrl+Shift+1/2/... did not work if commit message field in Commit/Message view
- Was focused
- Graph/Journal view: focus rect not drawn correctly
- Windows launchers were monitor-dpi-aware by accident
- Other Noteworthy Changes
- Dropped "Merge Directly To" 3rd-party tool due to a couple of problems with changed low-level Git API
SmartGit 19.1.3
Fixed Bugs:
Log, Graph:
- Enter did not the same as double-click
- Focus rect is not drawn any more
- Compare or others: possible internal error applying change
- Output: for Git >= 2.23, progress output like "Compressing objects:" is not properly-recognized anymore
- Stash On Demand: should not fail with "Your local changes have been stashed away, but could not be reapplied." if stashing untracked files is disabled
- Windows: if some special environment variables were set, e.g. JAVA_TOOL_OPTIONS, the launchers did not recognize the bundled JRE and possibly tried to use an outdated one from the system causing an internal error
SmartGit 19.1.2
Fixed Bugs:
Git-Flow:
- Finish Release: Tag Message is not set to tag
- Finish Feature/Hotfix/Release: should not remeove remote branch if "push" option is deselected
Log:
- Commit view: temporary inconsistency might caused assertion
Graph:
- Could become inconsistend between selected refs and shown commits
- When merging a tag (by right-clicking it), commit or other branch name on commit was used instead of the tag
- Adding/removing tag from local branch did not properly update local/remote state (orange vs. black nodes)
- Rebasing state: "done" labels might be in wrong order
- Repository state banner text could get focus with blinking caret, e.g. after having clicked (Rebase) Continue
- Internal error trying to open bare repository containing .git admin directory
- Window | Files tried to focus Directories view, even if hidden
- Pull: possible internal error if repository config could not be read
- Refresh: - reduced short-term memory usage
- Stash on Demand: asked to stash untracked files even if option to stash untracked files was unselected
SVN:
- Cherry Picking a not yet pushed commit (= a commit without a revision) fails with "Aborting commit due to empty commit message "forgot" https credentials
GUI:
- Possible internal error expanding a tree control
SmartGit 19.1.1
Fixed Bugs:
- Commit, Discard: invoking Compare for renamed file does not show source file, but only empty file
Git-Flow:
- Integrate did not honor custom base (if configured)
- Start Hotfix fails if an unrelated version-tag is present
- Start Release may suggest invalid (already existing) release name
- Tools: tools with only ${dirSelect} did not show up in menu
- Startup: under certain conditions always asks for confirmation to send bug traces
SmartGit 19.1.0
- GitLab: Open-link did not work for repositories in subgroups
SVN:
- Cloning created 2 smartgit-*.tmp files in repository
- Duplicate tooltip in the status bar while cloning
GUI:
- Docking: unmaximizing a view with double click could close another view
- If its (X) button was positioned at the same location
SmartGit 18.2.9
Fixed Bugs:
- Git-Flow, Finish Hotfix: when using external Git-Flow no "version tag" is created
- Support for new BitBucket API
SmartGit 18.2.8
New Features, Improvements:
- SSH: support user names wrapped in single-quotes, e.g. ssh://'foo@bar'@server:1234/path
Fixed Bugs:
- Linux launcher: only enforce GTK_IM_MODULE=ibus if it was set to xim
- macOS: an update of the installation bundle caused a directory to remain
Other Noteworthy Changes:
- increased version of bundled Git to 2.21.0
SmartGit 18.2.7
New Features, Improvements:
Git:
- Log: improved error message for "Inconsistency between (cached) commit data detected"
- https: added low-level property connection.https.trustedFingerprints to work around certificate problems with self-signed certificates and proxies
- SSH: authentication-related errors are reported now on re-occurring credentials dialog
Fixed Bugs:
Git:
Log:
- Refresh: false-positive "repository has an error-prone admin area configuration" message for submodules in worktrees
- setting smartgit.log.hostingProviderIntegrationEnabled=true should not disable Distributed Review add-on
- Repositories: opening a repository opened already in another window (working tree or log) causes internal error if renamed or deleted on disk (missing repository)
- Repository Settings on missing repository might cause internal error
Working Tree:
- Merge and other commands with embedded log: branch selection dialog should not hide remote, tracked branches
- Check for New Version: broken if "Automatically download and install updates" has been selected in the preferences
- Docking: maximizing and restoring one view by double clicking its title restores the wrong (too old) size
SmartGit 18.2.6
New Features, Improvements:
Git:
- Fetch (background): continues with next submodules if one failed
- Git-Flow: added low-level property gitflow.integrate.shortMergeMessage
- Journal: added low-level property journal.defaultAuxiliaryRef
Log:
- Repositories: disallow to delete submodules
Fixed Bugs:
- Commit: error "Cannot read file .../.gitbugtraq" if content is invalid
Log:
- Details: unexpected ID detection inside words
- Distributed Reviews: trying to reveal comment failed with "Comment ... could not be revealed"
- File log: Window | Repositories caused internal error
- mergable coloring used hard-to-see color for anchor in dark theme
Refresh:
- possible internal error have a large amount of renamed files
- low-level property "log.wt.refreshOpenButUnselectedModels did not work on nested roots
Working Tree:
- Show Changes: Compare with Each Other did not work for files from different repositories
- delete on submodule did not work anymore
- startup: command line parameter "--investigate" was broken
- unmodified SVN submodules in non-SVN parent repositories showed up if "Show Unchanged Files" was unselected
- JIRA/Bitbucket Server/GitLab: problems when trying to access servers which only support a limited set of ciphers (elliptic curves); installation upgrade is required!
- Windows bundles: fixed outdated readme.txt
SmartGit 18.2.5
New Features, Improvements:
Git:
- Gerrit added low-level property gerrit.checkCommitMsgHookContent to avoid false-positive Gerrit detection
Log:
- Branches, Checkout added low-level property log.checkout.forceSelectionOfBranchAnchor
- Linux startup script easier switching back to GTK2
Fixed Bugs:
Git:
- Commit Amend-option was disabled for merge
Log:
- Commits view revealing HEAD should always reveal HEAD and not stay at working tree node (e.g. double-clicking from Journal)
Refresh:
- log.wt.refreshOpenButUnselectedModels broke refresh of commits breaks in case of invalid Bisect configuration (missing "start" branch)
GUI:
- Customize Accelerators dialog internal error if a filtered-out accelerator is cleared by setting another Compare/Merge, Apply Selection possible internal error if all was selected
SmartGit 18.2.4
New Features, Improvements:
Git:
Log:
- Details view: added low-level property
- Log.details.onlyShowActualCommitRefsWhenFiltered
Hg:
- Support for Mercurial 4.8.*
Fixed Bugs:
Git:
Log:
Commits view:
- Reordering commits did not preserve selection
- Rebase/cherry-pick by drag & drop was broken
- When filtering, "actually on commit"-marker for refs (brighter box) was not properly evaluated
Branches view:
- Reveal after Checkout did not work for behind branch with
- "Just Checkout" option
- Checking out a branch should not reset a manually changed
- Selection
External tools: incorrect parameter "--defaultsVersion" (instead Of "--version") for "Show Git Version" tool (regression)
- Working Tree Window, Files view context menu: LFS submenu might
- Have been empty (if LFS was not yet installed)
- MacOS: warning about default osxkeychain credential helper
Hg:
- Possible performance problems with many draft commits in a Repository with many merges
- Startup: possible internal error when specifying invalid value for
- Low-level property ui.verboseDate.weekdayFormat
GUI:
- Changes view: scrolling with mouse-wheel over connector selected
- Next tab (if there were multiple tabs)
- Customize accelerators: did not warn about duplicate accelerators
- If the commands where invisible because of filtering
SmartGit 18.2.3
New Features, Improvements:
Git:
Log:
- Added low-level property log.dragAndDrop.offerAdvancedOperationsForDropsOntoAncestors to allow drag and drop for advanced rebase and cherry-pick operations
- Open File Log reuses Branches view selection from repository log
Repositories view:
- Select the current repository only if another repository or group was selected before (but, e.g., no subdirectory)
Fixed Bugs:
- Compare, Apply Selection: internal error applying change from an inserted block
Git:
Log:
- Git-Flow Light: for various command dialogs "Fetch" options were disabled
- Pull: "Update existing and fetch new tags" did not work for Git >= 2.20
- Refresh: obsolete modified working tree overlaps new commit for a short time, then vanishes
Working Tree window:
- Changes were not reported gradually anymore
GUI:
- Several views: tab order cycled between table and search input field
- Find Command, Find Object: shortcuts were swapped
SmartGit 18.2.2
New Features:
- Repositories: added low-level property log.wt.refreshOpenButUnselectedModels
- To update the repository state of open, but not currently
- Selected repositories
- Pull with rebase, merge commit: added low-level property
- Pull.rebase.mergeCommit.mergeOrRebase to avoid merge-or-rebase dialog
Fixed Bugs:
Changes:
- Index content might not have been displayed if file was
- Case-changed in working tree
- Staging hunk for case-changed file did not work
Commits:
- Filter broke after changing low-level property
- Log.graph.graphicalFiltering in the preferences
- Switching branches lost Working Tree/Index selection
- File/Subdir log did not remember layout
- Repositories: state got lost when opening multiple repositories
- At once and having "Show Working Tree & Index Permanently"
- Selected
- File Compare: forgot about BOM
SmartGit 18.2.1
Git:
- Added low-level property log.graph.workingTreeAutoSelectionForConflicts to disable auto-selection of the working tree node if conflicts were detected
GUI:
- Added low-level property ui.fonts.useDefaultAsInfo to make the info font the same as the default font (instead of a tinier, derived one)
Fixed Bugs:
- Clone listed only own repositories, but should have listed all with read-access ("member" role)
- GitHub/GitLab/BitBucket integration: internal error trying to merge on server
- Log - resettings filter should not auto-select Working Tree or Index node
- Repositories - could not invoke Pull/Push commands on group
Preferences:
- Proxy port was not remembered after switching off the proxy temporarily
SSH
- Some special SSH server setups caused an error "ClassNotFound:
- Org.ietf.jgss.GSSException" to be raised => these users should force an installation update from the About dialog using the button right beside the version text field
GUI
- Update check: multiple "The upgrade to version x is not covered by your license" notifications showed up
SmartGit 18.2
Fixed Bugs:
Git:
Log:
- Branches view: Ctrl+C did not copy ref name
- Changes view (Windows): old file content does not show up for case-changed files
- Push to Gerrit: should be available in case of multiple Gerrit remotes (if sill unique)
SmartGit 18.1.5
New Features and improvements:
Git:
- Push to Gerrit: if topic is entered, add topic to master-option, like "refs/for/master%topic=topic"
Fixed Bugs:
Git:
- Gitignore/Git-config editor: is bright even with dark theme
- Find Objects: possible internal error when entering a long search string
- Refresh/Log: rename detection limit should be 50% by default (as for Git)
Hg:
- internal error if no Git executable is configured
- startup: possible internal error related to a bad settings.xml
SmartGit 18.1.4
- Change log not available for this version
SmartGit 18.1.3
Git (Log):
- Refresh: improved error message in case of bad stash-reflogs revealing a ref in an existing, filtered log window now resets the filter Updated bundled Git to version 2.17.1 (macOS, Windows; needs new installation or manual triggering of a genuine update in the About dialog)
- Bitbucket integration: improved error reporting
- Output dialog: remembers size (and location)
- Some hosting providers: added low-level property "json.enableGzip" to enable GZIP compression
- Setup wizard: added option to use gravatar.com (in the preferences, it was moved from the Commands > Log page to the Privacy page)
Fixed Bugs (Git):
- Commit Message view: entered message was not stored in the history
- Ignore: internal error trying to ignore directory with certain special characters like '[' in its name
- Local | Rename: allowed to rename the . directory
Log:
- internal error switching back from "Varying Coloring" to "Root Coloring" toggling individual pull requests did not work
- Log/Journal: - right-clicking an unselected commit showed commands for previously selected commit (Linux, macOS)
- Refresh: possible error for files with name "aux" (Windows)
- Stash Selection: failed with quotes in the message
- Bitbucket integration: problems parsing multiple reviewers
- GitHub integration (main window): certain errors were not reported
- GitLab integration: API version v3 is not supported any more
SSH:
- recurring error "The fingerprint of the SSH server has changed"
- an invalid .ssh/known_hosts file might show a lot of notifications about the failed read
- Tools: internal error invoking tool on repository located on drive root (Windows)
- Upgrade (Windows): possible "The process cannot access the file because it is being used by another process" error
SmartGit 18.1.2
New Features and improvements:
Git:
- Log: re-introduced former "varying" coloring
- added low-level property compare.gitCompatibleBinaryDetection
Fixed Bugs:
Git:
- interactive rebased timed out after 2min (Windows)
Journal/Log:
- possible "Node ... not found" error when opening repository
- right-clicking loses selection if scrolled down
- Rebase Head To: "Can't rebase HEAD to HEAD or an anchestor commit" error if
- HEAD is hidden
Hg:
- Conflict Solver: did not open for graft-conflicts
- Log: internal error when opening in Rebasing state
- SSH: certain problems with private key authentication (depending on files
- parallel to the provided private key file)
Linux bundle:
- added work-around for reg-ex related Java crashes caused by syntax
- highlighting code
- DEB bundle did not start on Ubuntu 18.04
SmartGit 18.1.1
New features and improvements:
Git:
- Git-Flow: if the low-level property gitflow.requireCleanWorktreeOnStart is set to true, starting a feature or hotfix with local changes will abort
- Log: if low-level property log.graph.displayCommitDateForAuthor is set to true, it will show the author, but the commit (instead of the author) date
- Output: if low-level property output.showOnlyIfViewInvisible is set to false, the Output dialog is shown independent of the Output view's visibility
Fixed Bugs:
Git:
- Blame: memory leak
- Edit Last Commit Message: internal error when in bisecting mode
- Journal, Move & Squash: when dragging onto first pushed commit, no "already pushed" warning was displayed memory leak when switching between repositories frequently quotes around filter definitions, e.g. git-crypt, caused errors starting these commands possible error "Raw log messge does not parse as log entry"
- Refresh: internal error when opening repositories with core.worktree set
Hg:
- Refresh: possible hang related to conflicts
- Compare: Ignore Whitespace should not display completely unchanged blocks as changed
SmartGit 18.1.0
Log:
- Possible internal error opening log in merging or rebasing state
- Added system property smartgit.nodecache.maxCachesToKeepInMemory to limit the log caches to keep in memory
Investigate (DeepGit):
- Memory leak
- Wrong colors used for system-independent light theme
- Various commands with dialog-based Log (Checkout, Merge, ...): graph filter options missing in File input field's drop-down menu
SmartGit 17.1.6 Build 11221
New features and improvements:
- Log, Tools menu: allow tools that operate on the repository using ${repositoryRootPath}
Fixed bugs:
Git:
- Git-Flow: when merging, stop processing if merge aborts due to file permission problems
- Refresh: possible internal error for special characters in file name and wrong system charset
- Stash Selection: contained redundant "--" when invoking "git stash push"
SmartGit 17.1.5 Build 11217
New features and improvements:
- built-in SSH client: support for diffie-hellman-group-exchange-sha256
Fixed Bugs:
- Git:
- Log:
- Compare:
- Linux/GTK2: possible internal error painting comments
- too large font was used for comments
- SVN: changing URL did not work reliable - disabled
- Bitbucket: possible 401 authentication failures after redoing OAuth
authentication while SmartGit is running
SmartGit 17.1.4 Build 11213
External Diff tools:
- set system property "smartgit.core.cat.applyFilters" to true to apply
- filter..smudge
- System property "smartgit.executable.home" supports $USERPROFILE on Windows
- support for Git 2.16's SSH client detection ("The SSH server '-G' could not be found")
Fixed Bugs:
- after a fresh setup, "Mark as Favorite" notification comes up again every couple of seconds when dismissing with red x
- Changes view, Index Editor: staging LF-only files converted it to CRLF in Index
- Investigate: Open Log may result in internal error if Blame was not yet initialized
Log:
- Branches: toggling single branch in unselected category may add additional 2nd-level branch to selection
- Changes: Compact Changes option did not work (regression)
- Refresh: internal error related to renamed files
User interface:
- Preferences, Text Editor colors: ruler colors were not applied/stored
- OS X: possible internal error related to connecting/disconnecting monitors update check: did remind user to enable update check while it was disabled by system property
SmartGit 17.1.3 Build 11198
New Features, Improvements:
- Log: the count of the loaded commits is now hidden by default (set smartgit.log.commits.showLoadedCount to true to show it)
- JIRA integration: option smartgit.jira.fixResolutionId to specify the issue resolution ID that should be used to mark issues as resolved
- Set smartgit.updateCheck.checkForLatestBuildVisible to false to hide Help | Check for Latest Build
- Investigate: don't require DeepGit license for licensed SmartGit users
Fixed Bugs:
Git:
- Merge, Abort and others: could not be invoked if .gitmodules was in conflicting state
Refresh:
- Include with relative path like ../.gitconfig did not work in .git/config
- Wrong display after creating orphan branch
- Review comments: not able to add first comment to file
- OperaOpera 114.0 Build 5282.185 (64-bit)
- 4K Download4K Video Downloader+ 1.10.0 (64-bit)
- PhotoshopAdobe Photoshop CC 2025 26.1 (64-bit)
- OKXOKX - Buy Bitcoin or Ethereum
- iTop VPNiTop VPN 6.1.0 - Fast, Safe & Secure
- Premiere ProAdobe Premiere Pro CC 2025 25.0
- BlueStacksBlueStacks 10.41.610.1001
- Hero WarsHero Wars - Online Action Game
- TradingViewTradingView - Trusted by 60 Million Traders
- LockWiperiMyFone LockWiper (Android) 5.7.2
Comments and User Reviews