Files
yaak/src-web/components/git/showAddRemoteDialog.tsx
Gregory Schier d84fec8c7c Fix git pull conflicts with pull.ff=only and improve commit UX
- Replace git pull with fetch + merge to avoid conflicts with global
  git config (e.g. pull.ff=only) and background fetch --all
- Disable commit/commit+push buttons when message is empty
- Always show Push/Pull menu items even without remotes configured
- Default remote name to 'origin' when adding a new remote
2026-02-12 14:49:30 -08:00

21 lines
763 B
TypeScript

import type { GitRemote } from '@yaakapp-internal/git';
import { gitMutations } from '@yaakapp-internal/git';
import { showPromptForm } from '../../lib/prompt-form';
import { gitCallbacks } from './callbacks';
export async function addGitRemote(dir: string, defaultName?: string): Promise<GitRemote> {
const r = await showPromptForm({
id: 'add-remote',
title: 'Add Remote',
inputs: [
{ type: 'text', label: 'Name', name: 'name', defaultValue: defaultName },
{ type: 'text', label: 'URL', name: 'url' },
],
});
if (r == null) throw new Error('Cancelled remote prompt');
const name = String(r.name ?? '');
const url = String(r.url ?? '');
return gitMutations(dir, gitCallbacks(dir)).addRemote.mutateAsync({ name, url });
}