fix(git_branch): correct variable name for remote branch (#3897)
This commit is contained in:
parent
d4d84a592c
commit
bd7957f01c
|
@ -461,7 +461,7 @@
|
|||
"default": {
|
||||
"always_show_remote": false,
|
||||
"disabled": false,
|
||||
"format": "on [$symbol$branch]($style)(:[$remote]($style)) ",
|
||||
"format": "on [$symbol$branch(:$remote_branch)]($style) ",
|
||||
"ignore_branches": [],
|
||||
"only_attached": false,
|
||||
"style": "bold purple",
|
||||
|
@ -2543,7 +2543,7 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"format": {
|
||||
"default": "on [$symbol$branch]($style)(:[$remote]($style)) ",
|
||||
"default": "on [$symbol$branch(:$remote_branch)]($style) ",
|
||||
"type": "string"
|
||||
},
|
||||
"symbol": {
|
||||
|
|
|
@ -1419,17 +1419,17 @@ The `git_branch` module shows the active branch of the repo in your current dire
|
|||
|
||||
### Options
|
||||
|
||||
| Option | Default | Description |
|
||||
| -------------------- | -------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `always_show_remote` | `false` | Shows the remote tracking branch name, even if it is equal to the local branch name. |
|
||||
| `format` | `"on [$symbol$branch]($style) "` | The format for the module. Use `"$branch"` to refer to the current branch name. |
|
||||
| `symbol` | `" "` | A format string representing the symbol of git branch. |
|
||||
| `style` | `"bold purple"` | The style for the module. |
|
||||
| `truncation_length` | `2^63 - 1` | Truncates a git branch to `N` graphemes. |
|
||||
| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use `""` for no symbol. |
|
||||
| `only_attached` | `false` | Only show the branch name when not in a detached `HEAD` state. |
|
||||
| `ignore_branches` | `[]` | A list of names to avoid displaying. Useful for "master" or "main". |
|
||||
| `disabled` | `false` | Disables the `git_branch` module. |
|
||||
| Option | Default | Description |
|
||||
| -------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
||||
| `always_show_remote` | `false` | Shows the remote tracking branch name, even if it is equal to the local branch name. |
|
||||
| `format` | `"on [$symbol$branch(:$remote_branch)]($style) "` | The format for the module. Use `"$branch"` to refer to the current branch name. |
|
||||
| `symbol` | `" "` | A format string representing the symbol of git branch. |
|
||||
| `style` | `"bold purple"` | The style for the module. |
|
||||
| `truncation_length` | `2^63 - 1` | Truncates a git branch to `N` graphemes. |
|
||||
| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use `""` for no symbol. |
|
||||
| `only_attached` | `false` | Only show the branch name when not in a detached `HEAD` state. |
|
||||
| `ignore_branches` | `[]` | A list of names to avoid displaying. Useful for "master" or "main". |
|
||||
| `disabled` | `false` | Disables the `git_branch` module. |
|
||||
|
||||
### Variables
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ pub struct GitBranchConfig<'a> {
|
|||
impl<'a> Default for GitBranchConfig<'a> {
|
||||
fn default() -> Self {
|
||||
GitBranchConfig {
|
||||
format: "on [$symbol$branch]($style)(:[$remote]($style)) ",
|
||||
format: "on [$symbol$branch(:$remote_branch)]($style) ",
|
||||
symbol: " ",
|
||||
style: "bold purple",
|
||||
truncation_length: std::i64::MAX,
|
||||
|
|
|
@ -396,6 +396,42 @@ mod tests {
|
|||
repo_dir.close()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_remote() -> io::Result<()> {
|
||||
let remote_dir = fixture_repo(FixtureProvider::Git)?;
|
||||
let repo_dir = fixture_repo(FixtureProvider::Git)?;
|
||||
|
||||
create_command("git")?
|
||||
.args(&["checkout", "-b", "test_branch"])
|
||||
.current_dir(repo_dir.path())
|
||||
.output()?;
|
||||
|
||||
create_command("git")?
|
||||
.args(&["remote", "add", "--fetch", "remote_repo"])
|
||||
.arg(remote_dir.path())
|
||||
.current_dir(repo_dir.path())
|
||||
.output()?;
|
||||
|
||||
create_command("git")?
|
||||
.args(&["branch", "--set-upstream-to", "remote_repo/master"])
|
||||
.current_dir(repo_dir.path())
|
||||
.output()?;
|
||||
|
||||
let actual = ModuleRenderer::new("git_branch")
|
||||
.path(&repo_dir.path())
|
||||
.config(toml::toml! {
|
||||
[git_branch]
|
||||
format = "$branch(:$remote_name/$remote_branch)"
|
||||
})
|
||||
.collect();
|
||||
|
||||
let expected = Some("test_branch:remote_repo/master");
|
||||
|
||||
assert_eq!(expected, actual.as_deref());
|
||||
repo_dir.close()?;
|
||||
remote_dir.close()
|
||||
}
|
||||
|
||||
// This test is not possible until we switch to `git status --porcelain`
|
||||
// where we can mock the env for the specific git process. This is because
|
||||
// git2 does not care about our mocking and when we set the real `GIT_DIR`
|
||||
|
|
Loading…
Reference in New Issue