refactor(branch-picker): fix popover corner radius, remove local branch delete, move new-branch to top

This commit is contained in:
xintaofei
2026-04-21 23:14:57 +08:00
parent 67c837901d
commit 08fb508736
17 changed files with 40 additions and 183 deletions

View File

@@ -2120,26 +2120,6 @@ pub async fn git_rebase(
}) })
} }
#[cfg_attr(feature = "tauri-runtime", tauri::command)]
pub async fn git_delete_branch(
path: String,
branch_name: String,
force: bool,
) -> Result<String, AppCommandError> {
let flag = if force { "-D" } else { "-d" };
let output = crate::process::tokio_command("git")
.args(["branch", flag, &branch_name])
.current_dir(&path)
.output()
.await
.map_err(AppCommandError::io)?;
if !output.status.success() {
return Err(git_command_error(&format!("branch {flag}"), &output.stderr));
}
Ok(String::from_utf8_lossy(&output.stdout).trim().to_string())
}
pub(crate) async fn git_delete_remote_branch_core( pub(crate) async fn git_delete_remote_branch_core(
path: &str, path: &str,
remote: &str, remote: &str,

View File

@@ -264,7 +264,6 @@ mod tauri_app {
folders::git_set_remote_url, folders::git_set_remote_url,
folders::git_merge, folders::git_merge,
folders::git_rebase, folders::git_rebase,
folders::git_delete_branch,
folders::git_delete_remote_branch, folders::git_delete_remote_branch,
folders::git_list_conflicts, folders::git_list_conflicts,
folders::git_conflict_file_versions, folders::git_conflict_file_versions,

View File

@@ -450,22 +450,6 @@ pub async fn git_rebase(
Ok(Json(result)) Ok(Json(result))
} }
#[derive(Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GitDeleteBranchParams {
pub path: String,
pub branch_name: String,
pub force: bool,
}
pub async fn git_delete_branch(
Json(params): Json<GitDeleteBranchParams>,
) -> Result<Json<()>, AppCommandError> {
folder_commands::git_delete_branch(params.path, params.branch_name, params.force)
.await?;
Ok(Json(()))
}
#[derive(Deserialize)] #[derive(Deserialize)]
#[serde(rename_all = "camelCase")] #[serde(rename_all = "camelCase")]
pub struct GitDeleteRemoteBranchParams { pub struct GitDeleteRemoteBranchParams {

View File

@@ -195,7 +195,6 @@ pub fn build_router(state: Arc<AppState>, token: String, static_dir: std::path::
.route("/git_new_branch", post(handlers::git::git_new_branch)) .route("/git_new_branch", post(handlers::git::git_new_branch))
.route("/git_checkout", post(handlers::git::git_checkout)) .route("/git_checkout", post(handlers::git::git_checkout))
.route("/git_reset", post(handlers::git::git_reset)) .route("/git_reset", post(handlers::git::git_reset))
.route("/git_delete_branch", post(handlers::git::git_delete_branch))
.route("/git_merge", post(handlers::git::git_merge)) .route("/git_merge", post(handlers::git::git_merge))
.route("/git_rebase", post(handlers::git::git_rebase)) .route("/git_rebase", post(handlers::git::git_rebase))
.route("/git_worktree_add", post(handlers::git::git_worktree_add)) .route("/git_worktree_add", post(handlers::git::git_worktree_add))

View File

@@ -11,17 +11,11 @@ import {
GitBranch, GitBranch,
Loader2, Loader2,
Plus, Plus,
Trash2,
} from "lucide-react" } from "lucide-react"
import { useAppWorkspace } from "@/contexts/app-workspace-context" import { useAppWorkspace } from "@/contexts/app-workspace-context"
import { useTabContext } from "@/contexts/tab-context" import { useTabContext } from "@/contexts/tab-context"
import { useTaskContext } from "@/contexts/task-context" import { useTaskContext } from "@/contexts/task-context"
import { import { gitListAllBranches, gitCheckout, gitNewBranch } from "@/lib/api"
gitListAllBranches,
gitCheckout,
gitNewBranch,
gitDeleteBranch,
} from "@/lib/api"
import { isDesktop, openFileDialog } from "@/lib/platform" import { isDesktop, openFileDialog } from "@/lib/platform"
import type { GitBranchList } from "@/lib/types" import type { GitBranchList } from "@/lib/types"
import { Button } from "@/components/ui/button" import { Button } from "@/components/ui/button"
@@ -178,19 +172,6 @@ export const ConversationContextBar = memo(function ConversationContextBar({
toast.error(msg) toast.error(msg)
} }
}} }}
onDeleteBranch={async (branchName) => {
const taskId = `delete-branch-${ownFolder.id}-${Date.now()}`
addTask(taskId, tBd("tasks.deleteBranch", { branchName }))
updateTask(taskId, { status: "running" })
try {
await gitDeleteBranch(ownFolder.path, branchName, false)
updateTask(taskId, { status: "completed" })
} catch (err) {
const msg = err instanceof Error ? err.message : String(err)
updateTask(taskId, { status: "failed", error: msg })
toast.error(msg)
}
}}
/> />
</div> </div>
</TooltipProvider> </TooltipProvider>
@@ -312,7 +293,6 @@ interface BranchPickerProps {
currentBranch: string | null currentBranch: string | null
onCheckout: (branchName: string) => Promise<void> onCheckout: (branchName: string) => Promise<void>
onNewBranch: (branchName: string, startPoint?: string) => Promise<void> onNewBranch: (branchName: string, startPoint?: string) => Promise<void>
onDeleteBranch: (branchName: string) => Promise<void>
} }
const BranchPicker = memo(function BranchPicker({ const BranchPicker = memo(function BranchPicker({
@@ -321,7 +301,6 @@ const BranchPicker = memo(function BranchPicker({
currentBranch, currentBranch,
onCheckout, onCheckout,
onNewBranch, onNewBranch,
onDeleteBranch,
}: BranchPickerProps) { }: BranchPickerProps) {
const t = useTranslations("Folder.conversationContextBar") const t = useTranslations("Folder.conversationContextBar")
const tBd = useTranslations("Folder.branchDropdown") const tBd = useTranslations("Folder.branchDropdown")
@@ -369,8 +348,8 @@ const BranchPicker = memo(function BranchPicker({
<ChevronsUpDown className="size-3 shrink-0 text-muted-foreground" /> <ChevronsUpDown className="size-3 shrink-0 text-muted-foreground" />
</Button> </Button>
</PopoverTrigger> </PopoverTrigger>
<PopoverContent align="start" className="p-0 w-80"> <PopoverContent align="start" className="p-0 w-80 overflow-hidden">
<Command> <Command className="rounded-2xl">
<CommandInput placeholder={t("searchBranch")} /> <CommandInput placeholder={t("searchBranch")} />
<CommandList> <CommandList>
{loading ? ( {loading ? (
@@ -380,39 +359,44 @@ const BranchPicker = memo(function BranchPicker({
) : ( ) : (
<> <>
<CommandEmpty>{t("noBranches")}</CommandEmpty> <CommandEmpty>{t("noBranches")}</CommandEmpty>
{branchList && branchList.local.length > 0 && ( <CommandGroup>
<CommandGroup <CommandItem
heading={tBd("localBranches", { onSelect={() => {
count: branchList.local.length, setOpen(false)
})} setNewBranchName("")
setNewBranchOpen(true)
}}
> >
{branchList.local.map((b) => ( <Plus className="h-4 w-4" />
<CommandItem {tBd("newBranch")}
key={`local-${b}`} </CommandItem>
value={`local ${b}`} </CommandGroup>
onSelect={() => { {branchList && branchList.local.length > 0 && (
setOpen(false) <>
if (b !== currentBranch) void onCheckout(b) <CommandSeparator />
}} <CommandGroup
> heading={tBd("localBranches", {
<GitBranch className="h-4 w-4" /> count: branchList.local.length,
<span className="flex-1 truncate">{b}</span> })}
{b === currentBranch && ( >
<Check className="h-4 w-4 shrink-0" /> {branchList.local.map((b) => (
)} <CommandItem
{b !== currentBranch && ( key={`local-${b}`}
<Trash2 value={`local ${b}`}
className="h-3.5 w-3.5 opacity-50 hover:opacity-100" onSelect={() => {
onClick={(e) => { setOpen(false)
e.stopPropagation() if (b !== currentBranch) void onCheckout(b)
setOpen(false) }}
void onDeleteBranch(b) >
}} <GitBranch className="h-4 w-4" />
/> <span className="flex-1 truncate">{b}</span>
)} {b === currentBranch && (
</CommandItem> <Check className="h-4 w-4 shrink-0" />
))} )}
</CommandGroup> </CommandItem>
))}
</CommandGroup>
</>
)} )}
{branchList && branchList.remote.length > 0 && ( {branchList && branchList.remote.length > 0 && (
<CommandGroup <CommandGroup
@@ -437,19 +421,6 @@ const BranchPicker = memo(function BranchPicker({
))} ))}
</CommandGroup> </CommandGroup>
)} )}
<CommandSeparator />
<CommandGroup>
<CommandItem
onSelect={() => {
setOpen(false)
setNewBranchName("")
setNewBranchOpen(true)
}}
>
<Plus className="h-4 w-4" />
{tBd("newBranch")}
</CommandItem>
</CommandGroup>
</> </>
)} )}
</CommandList> </CommandList>

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Checkout إلى {branchName}", "checkoutTo": "Checkout إلى {branchName}",
"mergeBranch": "دمج {branchName}", "mergeBranch": "دمج {branchName}",
"rebaseTo": "Rebase إلى {branchName}", "rebaseTo": "Rebase إلى {branchName}",
"deleteBranch": "حذف الفرع {branchName}",
"deleteRemoteBranch": "حذف الفرع البعيد {branchName}", "deleteRemoteBranch": "حذف الفرع البعيد {branchName}",
"initGitRepo": "تهيئة مستودع Git", "initGitRepo": "تهيئة مستودع Git",
"pullCode": "سحب الكود", "pullCode": "سحب الكود",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "دمج الفرع", "mergeTitle": "دمج الفرع",
"rebaseTitle": "Rebase للفرع", "rebaseTitle": "Rebase للفرع",
"deleteTitle": "حذف الفرع",
"mergeDescription": "دمج {branchName} في الفرع الحالي {currentBranch}؟", "mergeDescription": "دمج {branchName} في الفرع الحالي {currentBranch}؟",
"rebaseDescription": "إجراء rebase للفرع الحالي {currentBranch} على {branchName}؟", "rebaseDescription": "إجراء rebase للفرع الحالي {currentBranch} على {branchName}؟",
"deleteDescription": "حذف الفرع {branchName}؟ لا يمكن التراجع عن هذا الإجراء.",
"forceDeleteTitle": "حذف الفرع بالقوة",
"forceDeleteDescription": "الفرع {branchName} لم يتم دمجه بالكامل. هل أنت متأكد من أنك تريد حذفه بالقوة؟ لا يمكن التراجع عن هذا الإجراء.",
"deleteRemoteTitle": "حذف الفرع البعيد", "deleteRemoteTitle": "حذف الفرع البعيد",
"deleteRemoteDescription": "هل تريد حذف الفرع البعيد {branchName}؟ سيؤدي ذلك إلى إزالته من المستودع البعيد ولا يمكن التراجع عن هذا الإجراء." "deleteRemoteDescription": "هل تريد حذف الفرع البعيد {branchName}؟ سيؤدي ذلك إلى إزالته من المستودع البعيد ولا يمكن التراجع عن هذا الإجراء."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "التبديل إلى هذا الفرع", "switchToBranch": "التبديل إلى هذا الفرع",
"mergeBranchIntoCurrent": "دمج {branchName} في {currentBranch}", "mergeBranchIntoCurrent": "دمج {branchName} في {currentBranch}",
"rebaseCurrentToBranch": "Rebase لـ {currentBranch} على {branchName}", "rebaseCurrentToBranch": "Rebase لـ {currentBranch} على {branchName}",
"deleteBranch": "حذف الفرع",
"versionControl": "التحكم في الإصدارات", "versionControl": "التحكم في الإصدارات",
"initGitRepo": "تهيئة مستودع Git", "initGitRepo": "تهيئة مستودع Git",
"pullCode": "سحب الكود", "pullCode": "سحب الكود",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Zu {branchName} wechseln", "checkoutTo": "Zu {branchName} wechseln",
"mergeBranch": "{branchName} mergen", "mergeBranch": "{branchName} mergen",
"rebaseTo": "Auf {branchName} rebasen", "rebaseTo": "Auf {branchName} rebasen",
"deleteBranch": "Branch {branchName} löschen",
"deleteRemoteBranch": "Remote-Branch {branchName} löschen", "deleteRemoteBranch": "Remote-Branch {branchName} löschen",
"initGitRepo": "Git-Repository initialisieren", "initGitRepo": "Git-Repository initialisieren",
"pullCode": "Code pullen", "pullCode": "Code pullen",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "Branch mergen", "mergeTitle": "Branch mergen",
"rebaseTitle": "Branch rebasen", "rebaseTitle": "Branch rebasen",
"deleteTitle": "Branch löschen",
"mergeDescription": "{branchName} in den aktuellen Branch {currentBranch} mergen?", "mergeDescription": "{branchName} in den aktuellen Branch {currentBranch} mergen?",
"rebaseDescription": "Aktuellen Branch {currentBranch} auf {branchName} rebasen?", "rebaseDescription": "Aktuellen Branch {currentBranch} auf {branchName} rebasen?",
"deleteDescription": "Branch {branchName} löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
"forceDeleteTitle": "Branch erzwungen löschen",
"forceDeleteDescription": "Der Branch {branchName} ist nicht vollständig gemergt. Möchten Sie ihn wirklich erzwungen löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
"deleteRemoteTitle": "Remote-Branch löschen", "deleteRemoteTitle": "Remote-Branch löschen",
"deleteRemoteDescription": "Remote-Branch {branchName} löschen? Dies entfernt ihn aus dem Remote-Repository und kann nicht rückgängig gemacht werden." "deleteRemoteDescription": "Remote-Branch {branchName} löschen? Dies entfernt ihn aus dem Remote-Repository und kann nicht rückgängig gemacht werden."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "Zu diesem Branch wechseln", "switchToBranch": "Zu diesem Branch wechseln",
"mergeBranchIntoCurrent": "{branchName} in {currentBranch} mergen", "mergeBranchIntoCurrent": "{branchName} in {currentBranch} mergen",
"rebaseCurrentToBranch": "{currentBranch} auf {branchName} rebasen", "rebaseCurrentToBranch": "{currentBranch} auf {branchName} rebasen",
"deleteBranch": "Branch löschen",
"versionControl": "Versionskontrolle", "versionControl": "Versionskontrolle",
"initGitRepo": "Git-Repository initialisieren", "initGitRepo": "Git-Repository initialisieren",
"pullCode": "Code pullen", "pullCode": "Code pullen",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Checkout to {branchName}", "checkoutTo": "Checkout to {branchName}",
"mergeBranch": "Merge {branchName}", "mergeBranch": "Merge {branchName}",
"rebaseTo": "Rebase to {branchName}", "rebaseTo": "Rebase to {branchName}",
"deleteBranch": "Delete branch {branchName}",
"deleteRemoteBranch": "Delete remote branch {branchName}", "deleteRemoteBranch": "Delete remote branch {branchName}",
"initGitRepo": "Initialize Git repository", "initGitRepo": "Initialize Git repository",
"pullCode": "Pull code", "pullCode": "Pull code",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "Merge branch", "mergeTitle": "Merge branch",
"rebaseTitle": "Rebase branch", "rebaseTitle": "Rebase branch",
"deleteTitle": "Delete branch",
"mergeDescription": "Merge {branchName} into current branch {currentBranch}?", "mergeDescription": "Merge {branchName} into current branch {currentBranch}?",
"rebaseDescription": "Rebase current branch {currentBranch} onto {branchName}?", "rebaseDescription": "Rebase current branch {currentBranch} onto {branchName}?",
"deleteDescription": "Delete branch {branchName}? This action cannot be undone.",
"forceDeleteTitle": "Force Delete Branch",
"forceDeleteDescription": "Branch {branchName} is not fully merged. Are you sure you want to force delete it? This action cannot be undone.",
"deleteRemoteTitle": "Delete Remote Branch", "deleteRemoteTitle": "Delete Remote Branch",
"deleteRemoteDescription": "Delete remote branch {branchName}? This will remove it from the remote repository and cannot be undone." "deleteRemoteDescription": "Delete remote branch {branchName}? This will remove it from the remote repository and cannot be undone."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "Switch to this branch", "switchToBranch": "Switch to this branch",
"mergeBranchIntoCurrent": "Merge {branchName} into {currentBranch}", "mergeBranchIntoCurrent": "Merge {branchName} into {currentBranch}",
"rebaseCurrentToBranch": "Rebase {currentBranch} onto {branchName}", "rebaseCurrentToBranch": "Rebase {currentBranch} onto {branchName}",
"deleteBranch": "Delete branch",
"versionControl": "Version Control", "versionControl": "Version Control",
"initGitRepo": "Initialize Git repository", "initGitRepo": "Initialize Git repository",
"pullCode": "Pull code", "pullCode": "Pull code",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Cambiar a {branchName}", "checkoutTo": "Cambiar a {branchName}",
"mergeBranch": "Fusionar {branchName}", "mergeBranch": "Fusionar {branchName}",
"rebaseTo": "Rebase a {branchName}", "rebaseTo": "Rebase a {branchName}",
"deleteBranch": "Eliminar rama {branchName}",
"deleteRemoteBranch": "Eliminar rama remota {branchName}", "deleteRemoteBranch": "Eliminar rama remota {branchName}",
"initGitRepo": "Inicializar repositorio Git", "initGitRepo": "Inicializar repositorio Git",
"pullCode": "Hacer pull del código", "pullCode": "Hacer pull del código",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "Fusionar rama", "mergeTitle": "Fusionar rama",
"rebaseTitle": "Rebase de rama", "rebaseTitle": "Rebase de rama",
"deleteTitle": "Eliminar rama",
"mergeDescription": "¿Fusionar {branchName} en la rama actual {currentBranch}?", "mergeDescription": "¿Fusionar {branchName} en la rama actual {currentBranch}?",
"rebaseDescription": "¿Hacer rebase de la rama actual {currentBranch} sobre {branchName}?", "rebaseDescription": "¿Hacer rebase de la rama actual {currentBranch} sobre {branchName}?",
"deleteDescription": "¿Eliminar la rama {branchName}? Esta acción no se puede deshacer.",
"forceDeleteTitle": "Forzar eliminación de rama",
"forceDeleteDescription": "La rama {branchName} no está completamente fusionada. ¿Estás seguro de que quieres forzar su eliminación? Esta acción no se puede deshacer.",
"deleteRemoteTitle": "Eliminar rama remota", "deleteRemoteTitle": "Eliminar rama remota",
"deleteRemoteDescription": "¿Eliminar la rama remota {branchName}? Esto la eliminará del repositorio remoto y no se puede deshacer." "deleteRemoteDescription": "¿Eliminar la rama remota {branchName}? Esto la eliminará del repositorio remoto y no se puede deshacer."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "Cambiar a esta rama", "switchToBranch": "Cambiar a esta rama",
"mergeBranchIntoCurrent": "Fusionar {branchName} en {currentBranch}", "mergeBranchIntoCurrent": "Fusionar {branchName} en {currentBranch}",
"rebaseCurrentToBranch": "Rebase de {currentBranch} sobre {branchName}", "rebaseCurrentToBranch": "Rebase de {currentBranch} sobre {branchName}",
"deleteBranch": "Eliminar rama",
"versionControl": "Control de versiones", "versionControl": "Control de versiones",
"initGitRepo": "Inicializar repositorio Git", "initGitRepo": "Inicializar repositorio Git",
"pullCode": "Hacer pull del código", "pullCode": "Hacer pull del código",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Basculer vers {branchName}", "checkoutTo": "Basculer vers {branchName}",
"mergeBranch": "Fusionner {branchName}", "mergeBranch": "Fusionner {branchName}",
"rebaseTo": "Rebase vers {branchName}", "rebaseTo": "Rebase vers {branchName}",
"deleteBranch": "Supprimer la branche {branchName}",
"deleteRemoteBranch": "Supprimer la branche distante {branchName}", "deleteRemoteBranch": "Supprimer la branche distante {branchName}",
"initGitRepo": "Initialiser le dépôt Git", "initGitRepo": "Initialiser le dépôt Git",
"pullCode": "Pull du code", "pullCode": "Pull du code",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "Fusionner la branche", "mergeTitle": "Fusionner la branche",
"rebaseTitle": "Rebase de la branche", "rebaseTitle": "Rebase de la branche",
"deleteTitle": "Supprimer la branche",
"mergeDescription": "Fusionner {branchName} dans la branche actuelle {currentBranch} ?", "mergeDescription": "Fusionner {branchName} dans la branche actuelle {currentBranch} ?",
"rebaseDescription": "Rebaser la branche actuelle {currentBranch} sur {branchName} ?", "rebaseDescription": "Rebaser la branche actuelle {currentBranch} sur {branchName} ?",
"deleteDescription": "Supprimer la branche {branchName} ? Cette action est irréversible.",
"forceDeleteTitle": "Forcer la suppression de la branche",
"forceDeleteDescription": "La branche {branchName} n'est pas entièrement fusionnée. Êtes-vous sûr de vouloir la supprimer de force ? Cette action est irréversible.",
"deleteRemoteTitle": "Supprimer la branche distante", "deleteRemoteTitle": "Supprimer la branche distante",
"deleteRemoteDescription": "Supprimer la branche distante {branchName} ? Cette action la supprimera du dépôt distant et ne pourra pas être annulée." "deleteRemoteDescription": "Supprimer la branche distante {branchName} ? Cette action la supprimera du dépôt distant et ne pourra pas être annulée."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "Basculer vers cette branche", "switchToBranch": "Basculer vers cette branche",
"mergeBranchIntoCurrent": "Fusionner {branchName} dans {currentBranch}", "mergeBranchIntoCurrent": "Fusionner {branchName} dans {currentBranch}",
"rebaseCurrentToBranch": "Rebaser {currentBranch} sur {branchName}", "rebaseCurrentToBranch": "Rebaser {currentBranch} sur {branchName}",
"deleteBranch": "Supprimer la branche",
"versionControl": "Contrôle de version", "versionControl": "Contrôle de version",
"initGitRepo": "Initialiser le dépôt Git", "initGitRepo": "Initialiser le dépôt Git",
"pullCode": "Pull du code", "pullCode": "Pull du code",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "{branchName} にチェックアウト", "checkoutTo": "{branchName} にチェックアウト",
"mergeBranch": "{branchName} をマージ", "mergeBranch": "{branchName} をマージ",
"rebaseTo": "{branchName} にリベース", "rebaseTo": "{branchName} にリベース",
"deleteBranch": "ブランチ {branchName} を削除",
"deleteRemoteBranch": "リモートブランチ {branchName} を削除", "deleteRemoteBranch": "リモートブランチ {branchName} を削除",
"initGitRepo": "Git リポジトリを初期化", "initGitRepo": "Git リポジトリを初期化",
"pullCode": "コードをプル", "pullCode": "コードをプル",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "ブランチをマージ", "mergeTitle": "ブランチをマージ",
"rebaseTitle": "ブランチをリベース", "rebaseTitle": "ブランチをリベース",
"deleteTitle": "ブランチを削除",
"mergeDescription": "{branchName} を現在のブランチ {currentBranch} にマージしますか?", "mergeDescription": "{branchName} を現在のブランチ {currentBranch} にマージしますか?",
"rebaseDescription": "現在のブランチ {currentBranch} を {branchName} にリベースしますか?", "rebaseDescription": "現在のブランチ {currentBranch} を {branchName} にリベースしますか?",
"deleteDescription": "ブランチ {branchName} を削除しますか?この操作は元に戻せません。",
"forceDeleteTitle": "ブランチを強制削除",
"forceDeleteDescription": "ブランチ {branchName} はまだ完全にマージされていません。強制削除してもよろしいですか?この操作は元に戻せません。",
"deleteRemoteTitle": "リモートブランチの削除", "deleteRemoteTitle": "リモートブランチの削除",
"deleteRemoteDescription": "リモートブランチ {branchName} を削除しますか?この操作はリモートリポジトリからブランチを削除し、元に戻せません。" "deleteRemoteDescription": "リモートブランチ {branchName} を削除しますか?この操作はリモートリポジトリからブランチを削除し、元に戻せません。"
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "このブランチに切り替え", "switchToBranch": "このブランチに切り替え",
"mergeBranchIntoCurrent": "{branchName} を {currentBranch} にマージ", "mergeBranchIntoCurrent": "{branchName} を {currentBranch} にマージ",
"rebaseCurrentToBranch": "{currentBranch} を {branchName} にリベース", "rebaseCurrentToBranch": "{currentBranch} を {branchName} にリベース",
"deleteBranch": "ブランチを削除",
"versionControl": "バージョン管理", "versionControl": "バージョン管理",
"initGitRepo": "Git リポジトリを初期化", "initGitRepo": "Git リポジトリを初期化",
"pullCode": "コードをプル", "pullCode": "コードをプル",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "{branchName}(으)로 체크아웃", "checkoutTo": "{branchName}(으)로 체크아웃",
"mergeBranch": "{branchName} 병합", "mergeBranch": "{branchName} 병합",
"rebaseTo": "{branchName}로 리베이스", "rebaseTo": "{branchName}로 리베이스",
"deleteBranch": "브랜치 {branchName} 삭제",
"deleteRemoteBranch": "원격 브랜치 {branchName} 삭제", "deleteRemoteBranch": "원격 브랜치 {branchName} 삭제",
"initGitRepo": "Git 저장소 초기화", "initGitRepo": "Git 저장소 초기화",
"pullCode": "코드 pull", "pullCode": "코드 pull",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "브랜치 병합", "mergeTitle": "브랜치 병합",
"rebaseTitle": "브랜치 리베이스", "rebaseTitle": "브랜치 리베이스",
"deleteTitle": "브랜치 삭제",
"mergeDescription": "{branchName}을(를) 현재 브랜치 {currentBranch}에 병합할까요?", "mergeDescription": "{branchName}을(를) 현재 브랜치 {currentBranch}에 병합할까요?",
"rebaseDescription": "현재 브랜치 {currentBranch}를 {branchName} 위로 리베이스할까요?", "rebaseDescription": "현재 브랜치 {currentBranch}를 {branchName} 위로 리베이스할까요?",
"deleteDescription": "브랜치 {branchName}을(를) 삭제할까요? 이 작업은 되돌릴 수 없습니다.",
"forceDeleteTitle": "브랜치 강제 삭제",
"forceDeleteDescription": "브랜치 {branchName}가 완전히 병합되지 않았습니다. 강제 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"deleteRemoteTitle": "원격 브랜치 삭제", "deleteRemoteTitle": "원격 브랜치 삭제",
"deleteRemoteDescription": "원격 브랜치 {branchName}을(를) 삭제하시겠습니까? 이 작업은 원격 저장소에서 브랜치를 제거하며 되돌릴 수 없습니다." "deleteRemoteDescription": "원격 브랜치 {branchName}을(를) 삭제하시겠습니까? 이 작업은 원격 저장소에서 브랜치를 제거하며 되돌릴 수 없습니다."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "이 브랜치로 전환", "switchToBranch": "이 브랜치로 전환",
"mergeBranchIntoCurrent": "{branchName}을(를) {currentBranch}에 병합", "mergeBranchIntoCurrent": "{branchName}을(를) {currentBranch}에 병합",
"rebaseCurrentToBranch": "{currentBranch}를 {branchName}로 리베이스", "rebaseCurrentToBranch": "{currentBranch}를 {branchName}로 리베이스",
"deleteBranch": "브랜치 삭제",
"versionControl": "버전 관리", "versionControl": "버전 관리",
"initGitRepo": "Git 저장소 초기화", "initGitRepo": "Git 저장소 초기화",
"pullCode": "코드 pull", "pullCode": "코드 pull",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "Fazer checkout para {branchName}", "checkoutTo": "Fazer checkout para {branchName}",
"mergeBranch": "Mesclar {branchName}", "mergeBranch": "Mesclar {branchName}",
"rebaseTo": "Rebase para {branchName}", "rebaseTo": "Rebase para {branchName}",
"deleteBranch": "Excluir branch {branchName}",
"deleteRemoteBranch": "Excluir branch remoto {branchName}", "deleteRemoteBranch": "Excluir branch remoto {branchName}",
"initGitRepo": "Inicializar repositório Git", "initGitRepo": "Inicializar repositório Git",
"pullCode": "Fazer pull do código", "pullCode": "Fazer pull do código",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "Mesclar branch", "mergeTitle": "Mesclar branch",
"rebaseTitle": "Rebase da branch", "rebaseTitle": "Rebase da branch",
"deleteTitle": "Excluir branch",
"mergeDescription": "Mesclar {branchName} na branch atual {currentBranch}?", "mergeDescription": "Mesclar {branchName} na branch atual {currentBranch}?",
"rebaseDescription": "Fazer rebase da branch atual {currentBranch} sobre {branchName}?", "rebaseDescription": "Fazer rebase da branch atual {currentBranch} sobre {branchName}?",
"deleteDescription": "Excluir a branch {branchName}? Esta ação não pode ser desfeita.",
"forceDeleteTitle": "Forçar exclusão do branch",
"forceDeleteDescription": "O branch {branchName} não está totalmente mesclado. Tem certeza de que deseja forçar a exclusão? Esta ação não pode ser desfeita.",
"deleteRemoteTitle": "Excluir branch remoto", "deleteRemoteTitle": "Excluir branch remoto",
"deleteRemoteDescription": "Excluir o branch remoto {branchName}? Isso o removerá do repositório remoto e não poderá ser desfeito." "deleteRemoteDescription": "Excluir o branch remoto {branchName}? Isso o removerá do repositório remoto e não poderá ser desfeito."
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "Mudar para esta branch", "switchToBranch": "Mudar para esta branch",
"mergeBranchIntoCurrent": "Mesclar {branchName} em {currentBranch}", "mergeBranchIntoCurrent": "Mesclar {branchName} em {currentBranch}",
"rebaseCurrentToBranch": "Rebase de {currentBranch} sobre {branchName}", "rebaseCurrentToBranch": "Rebase de {currentBranch} sobre {branchName}",
"deleteBranch": "Excluir branch",
"versionControl": "Controle de versão", "versionControl": "Controle de versão",
"initGitRepo": "Inicializar repositório Git", "initGitRepo": "Inicializar repositório Git",
"pullCode": "Fazer pull do código", "pullCode": "Fazer pull do código",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "切换到 {branchName}", "checkoutTo": "切换到 {branchName}",
"mergeBranch": "合并 {branchName}", "mergeBranch": "合并 {branchName}",
"rebaseTo": "变基到 {branchName}", "rebaseTo": "变基到 {branchName}",
"deleteBranch": "删除分支 {branchName}",
"deleteRemoteBranch": "删除远程分支 {branchName}", "deleteRemoteBranch": "删除远程分支 {branchName}",
"initGitRepo": "初始化 Git 仓库", "initGitRepo": "初始化 Git 仓库",
"pullCode": "更新代码", "pullCode": "更新代码",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "合并分支", "mergeTitle": "合并分支",
"rebaseTitle": "变基分支", "rebaseTitle": "变基分支",
"deleteTitle": "删除分支",
"mergeDescription": "确定将 {branchName} 合并到当前分支 {currentBranch} 吗?", "mergeDescription": "确定将 {branchName} 合并到当前分支 {currentBranch} 吗?",
"rebaseDescription": "确定将当前分支 {currentBranch} 变基到 {branchName} 吗?", "rebaseDescription": "确定将当前分支 {currentBranch} 变基到 {branchName} 吗?",
"deleteDescription": "确定删除分支 {branchName} 吗?此操作不可恢复。",
"forceDeleteTitle": "强制删除分支",
"forceDeleteDescription": "分支 {branchName} 尚未完全合并,确定要强制删除吗?此操作不可恢复。",
"deleteRemoteTitle": "删除远程分支", "deleteRemoteTitle": "删除远程分支",
"deleteRemoteDescription": "确定删除远程分支 {branchName} 吗?此操作将从远程仓库中移除该分支,且不可恢复。" "deleteRemoteDescription": "确定删除远程分支 {branchName} 吗?此操作将从远程仓库中移除该分支,且不可恢复。"
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "切换到此分支", "switchToBranch": "切换到此分支",
"mergeBranchIntoCurrent": "将 {branchName} 合并到 {currentBranch}", "mergeBranchIntoCurrent": "将 {branchName} 合并到 {currentBranch}",
"rebaseCurrentToBranch": "将 {currentBranch} 变基到 {branchName}", "rebaseCurrentToBranch": "将 {currentBranch} 变基到 {branchName}",
"deleteBranch": "删除分支",
"versionControl": "版本控制", "versionControl": "版本控制",
"initGitRepo": "初始化 Git 仓库", "initGitRepo": "初始化 Git 仓库",
"pullCode": "更新代码", "pullCode": "更新代码",

View File

@@ -1015,7 +1015,6 @@
"checkoutTo": "切換到 {branchName}", "checkoutTo": "切換到 {branchName}",
"mergeBranch": "合併 {branchName}", "mergeBranch": "合併 {branchName}",
"rebaseTo": "變基到 {branchName}", "rebaseTo": "變基到 {branchName}",
"deleteBranch": "刪除分支 {branchName}",
"deleteRemoteBranch": "刪除遠端分支 {branchName}", "deleteRemoteBranch": "刪除遠端分支 {branchName}",
"initGitRepo": "初始化 Git 倉庫", "initGitRepo": "初始化 Git 倉庫",
"pullCode": "更新程式碼", "pullCode": "更新程式碼",
@@ -1027,12 +1026,8 @@
"confirm": { "confirm": {
"mergeTitle": "合併分支", "mergeTitle": "合併分支",
"rebaseTitle": "變基分支", "rebaseTitle": "變基分支",
"deleteTitle": "刪除分支",
"mergeDescription": "確定將 {branchName} 合併到目前分支 {currentBranch} 嗎?", "mergeDescription": "確定將 {branchName} 合併到目前分支 {currentBranch} 嗎?",
"rebaseDescription": "確定將目前分支 {currentBranch} 變基到 {branchName} 嗎?", "rebaseDescription": "確定將目前分支 {currentBranch} 變基到 {branchName} 嗎?",
"deleteDescription": "確定刪除分支 {branchName} 嗎?此操作無法復原。",
"forceDeleteTitle": "強制刪除分支",
"forceDeleteDescription": "分支 {branchName} 尚未完全合併,確定要強制刪除嗎?此操作不可恢復。",
"deleteRemoteTitle": "刪除遠端分支", "deleteRemoteTitle": "刪除遠端分支",
"deleteRemoteDescription": "確定刪除遠端分支 {branchName} 嗎?此操作將從遠端倉庫中移除該分支,且不可恢復。" "deleteRemoteDescription": "確定刪除遠端分支 {branchName} 嗎?此操作將從遠端倉庫中移除該分支,且不可恢復。"
}, },
@@ -1040,7 +1035,6 @@
"switchToBranch": "切換到此分支", "switchToBranch": "切換到此分支",
"mergeBranchIntoCurrent": "將 {branchName} 合併到 {currentBranch}", "mergeBranchIntoCurrent": "將 {branchName} 合併到 {currentBranch}",
"rebaseCurrentToBranch": "將 {currentBranch} 變基到 {branchName}", "rebaseCurrentToBranch": "將 {currentBranch} 變基到 {branchName}",
"deleteBranch": "刪除分支",
"versionControl": "版本控制", "versionControl": "版本控制",
"initGitRepo": "初始化 Git 倉庫", "initGitRepo": "初始化 Git 倉庫",
"pullCode": "更新程式碼", "pullCode": "更新程式碼",

View File

@@ -792,14 +792,6 @@ export async function gitRebase(
return getTransport().call("git_rebase", { path, branchName }) return getTransport().call("git_rebase", { path, branchName })
} }
export async function gitDeleteBranch(
path: string,
branchName: string,
force = false
): Promise<string> {
return getTransport().call("git_delete_branch", { path, branchName, force })
}
export async function gitDeleteRemoteBranch( export async function gitDeleteRemoteBranch(
path: string, path: string,
remote: string, remote: string,

View File

@@ -648,14 +648,6 @@ export async function gitRebase(
return invoke("git_rebase", { path, branchName }) return invoke("git_rebase", { path, branchName })
} }
export async function gitDeleteBranch(
path: string,
branchName: string,
force = false
): Promise<string> {
return invoke("git_delete_branch", { path, branchName, force })
}
export async function gitListConflicts(path: string): Promise<string[]> { export async function gitListConflicts(path: string): Promise<string[]> {
return invoke("git_list_conflicts", { path }) return invoke("git_list_conflicts", { path })
} }