-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(git): Separate local and remote branches in branch display #2412
base: master
Are you sure you want to change the base?
Conversation
All contributors have signed the CLA ✍️ ✅ |
Overviewsrc/git.ts:Info:Single Functions:postProcess: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((line) => {
return {
name: line.substring(0, 7),
icon: "fig://icon?type=node",
description: line.substring(7),
};
});
} postProcess: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((line) => {
return {
name: line.substring(0, 7),
icon: "fig://icon?type=node",
description: line.substring(7),
};
});
} postProcess: function (out) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((file) => {
return {
// account for conventional commit messages
name: file.split(":").slice(2).join(":"),
insertValue: file.split(":")[0],
icon: `fig://icon?type=node`,
};
});
} postProcess: function (out, tokens) {
const output = filterMessages(out);
if (output.startsWith("fatal:")) {
return [];
}
return output.split("\n").map((file) => {
return {
name: file,
insertValue: (!tokens.includes("--") ? "-- " : "") + file,
icon: `fig://icon?type=file`,
description: "Staged file",
};
});
} postProcess: function (out) {
const remoteURLs = out.split("\n").reduce((dict, line) => {
const pair = line.split("\t");
const remote = pair[0];
const url = pair[1].split(" ")[0];
dict[remote] = url;
return dict;
}, {});
return Object.keys(remoteURLs).map((remote) => {
const url = remoteURLs[remote];
let icon = "box";
if (url.includes("github.com")) {
icon = "github";
}
if (url.includes("gitlab.com")) {
icon = "gitlab";
}
if (url.includes("heroku.com")) {
icon = "heroku";
}
return {
name: remote,
icon: `fig://icon?type=${icon}`,
description: "Remote",
};
});
} postProcess: function (output) {
return output.split("\n").map((tag) => ({
name: tag,
icon: "🏷️",
}));
} script: function (context) {
if (context.includes("--staged") || context.includes("--cached")) {
return [
"bash",
"-c",
`git --no-optional-locks status --short | sed -ne '/^M /p' -e '/A /p'`,
];
} else {
return [
"bash",
"-c",
`git --no-optional-locks status --short | sed -ne '/M /p' -e '/A /p'`,
];
}
} URLs:
|
Hello @do-not-do-that,
Please add a 👍 as a reaction to this comment to show that you read this. |
I have read the CLA Document and I hereby sign the CLA |
Bug Cause
When retrieving the branch list, both local and remote branches are fetched and exposed with the same names.
As a result, when users use the autocomplete feature, they see suggestions for branches that have been deleted locally (or remotely).
#2101 #2268
Additional Features
Scenario
AS-IS
TO-BE
There could be multiple solutions, such as showing only local branches. Please provide suggestions, and I will make adjustments accordingly.