Sto cercando di aggiungere una strategia di fusione personalizzato simile a quello in questa domanda: Git merge conflict to always take the newest filegit: Come aggiungo una strategia di unione personalizzata?
ho salvato lo script come git-merge-latest.sh
e ha aggiunto le seguenti righe: .git/config
[merge "latest"]
name = select latest file merge driver
driver = git-merge-latest.sh %O %A %B
Tuttavia, quando corro git pull --strategy latest
, ricevo il seguente messaggio:
Could not find merge strategy 'latest'.
Available strategies are: octopus ours recursive resolve subtree.
ho provato il controllo git config merge.latest.driver
, che restituisce l'output previsto. Ho anche cambiato il valore di driver
a true
solo per verificare che non fosse un problema con la ricerca dello script.
Ciò si verifica su due sistemi diversi che eseguono git 1.8.2.2 e 1.7.9.5. Che cosa sto facendo di sbagliato?
potrebbe voler dichiarare esplicitamente che l'aggiunta di una strategia di unione è una questione di modificare il 'git 'codice - non è qualcosa che può essere fatto attraverso le modifiche di configurazione (almeno al momento) ... – twalberg
@twalberg - è possibile collegare il proprio abbastanza facilmente, in realtà; se hai un 'git-merge-xyz' nel tuo percorso allora git lo eseguirà se tu 'git unisci --strategy xyz'. Lo renderò più chiaro nella mia risposta. –
Le specifiche per come scrivere un eseguibile di strategia git merge documentato ovunque? Cosa devo aspettarmi su stdin e quale dovrebbe essere l'output? –