Commit graph

15 commits

Author SHA1 Message Date
Jan De Dobbeleer 07eba99d6e feat(git): expose directory 2022-08-28 15:40:20 +02:00
Piotr Kalinowski a2533c8f5b fix(git): better cross-platform path resolution and tests
The simple filepath.IsAbs() is not enough on Windows, where the relative
path may start with a separator and should then be taken relative to the
volume name.

So, introduce resolveGitPath() helper function that will do the right
thing on both Windows and other systems. As a bonus, it returns paths
converted to slashes for ease of use with the rest of the git segment:
- Git for Windows uses only slashes.
- Slashes do work as a path separator on Windows anyway.
- Some tests in git segment still use (and rightfully so) slashes.

Add tests for resolveGitPath() on both types of systems and fix
TestEnableInWorktree using a system-dependent testing constant as a root
path.
2022-08-03 18:20:00 +02:00
Piotr Kalinowski 3895210ab3 fix(git): further fixes for submodule worktrees
filepath.Join() just concatenates paths. We have to check manually for
an absolute path and discard the first component to end up with the
correct path.

Also, fix the tests to demonstrate actual behaviour of git, not what
filepath.Join() was doing.

Additionally, note that on Windows git paths in gitdir use unix
separators, so search for `/worktrees/` instead of using system
separator, just like when processing all the other cases.
2022-08-03 18:20:00 +02:00
Jan De Dobbeleer 18e23f93a8 chore: rename platform variables 2022-08-03 18:03:04 +02:00
Jan De Dobbeleer f2ccee6df6 fix(git): support submodules woth worktrees
resolves #2514
2022-07-14 20:18:45 +02:00
Jan De Dobbeleer 37a4c3eb4e feat(git): expose repo name 2022-07-01 13:19:06 +02:00
Jan De Dobbeleer 718ce22682 feat(git): set ignore-submodules flag
resolves #2455
2022-06-30 18:13:08 +02:00
Jan De Dobbeleer dc851fcf53 feat(git): override untracked mode for all repo's
resolves #2454
2022-06-30 18:13:08 +02:00
Jan De Dobbeleer 8bcbe02510 fix(git): add untracked
resolves #2349
2022-05-30 08:59:22 +02:00
Dave Moor a9c1292d83 feat: add svn segment 2022-05-30 08:59:22 +02:00
Jan De Dobbeleer bcf7d59e83 feat(git): set untracked files mode
resolves #2117
2022-04-22 08:22:53 +02:00
L. Yeung 0c7afaa7f7 fix(git): detect upstream-gone status correctly 2022-04-14 08:38:07 +02:00
lnu 09735e7ccc feat(git): --separate-git-dir support 2022-04-11 22:37:19 +02:00
Chris Donnelly 06e08074fe fix(git): detect when upstream no longer exists
Currently the git segment does not detect when an upstream is removed
(e.g., a PR is merged and the remote branch is deleted).

This change adds functionality to detect when upstream is removed;
if the status reports "branch.upstream" but no "branch.ab", it is gone.

The UI has also been changed to reflect this third state;
it now matches posh-git's behavior, which only shows the Gone icon
if an upstream branch is set but does not report ahead/behind counts.
2022-02-04 19:14:27 +01:00
Jan De Dobbeleer 9e7abe4541 refactor: move segments to module 2022-02-03 10:44:18 +01:00
Renamed from src/segment_git_test.go (Browse further)