2010-11-01 5 views
1

Nous avons intégré Git avec la fusion de Perforce. Nous avons invoqué le p4merge et cela montre 5 conflits. J'ai résolu seulement un conflit et ai sauvé la fusion. Lorsque j'essaie de ré-appeler le p4merge en utilisant l'outil gitmerge, il est écrit "aucune fusion requise". Nous ne sommes pas en mesure de réinviter le mergetool même si la fusion n'est pas complète.Git avec la fusion P4 a des problèmes

Veuillez aviser.

+0

Avez-vous peut-être prématurément dire git les autres conflits ont été résolus, en exécutant 'git add '? Je pourrais voir cela étant vraiment facile à faire accidentellement s'il y avait plusieurs conflits dans un fichier et vous avez seulement résolu un ... – Cascabel

+0

Peut-être que cette question a votre réponse? [git: deux ou plusieurs conflits de fusion dans un seul fichier avec p4merge] (http://stackoverflow.com/questions/4067202/git-2-or-more-merge-conflicts-in-a-single-file-how- p4merge-handles) – Cascabel

Répondre

0

Comme Jefromicomments, la question "GIT 2 or more merge conflicts in a single file - how p4merge handles?" points à une cause possible (état 0, même si des conflits existent)

wrappers peut aider à déboguer la situation (see some in this gist).
Vérification du fabricant de conflits peut vous aider à retrouver un statut de non-0, like in this script (pour emacs, mais vous pouvez l'adapter à un autre outil)

# check modified file 
if [ ! $(egrep -c '^(<<<<<<<|=======|>>>>>>>|####### Ancestor)' ${_MERGED}) = 0 ]; then 
    _MERGEDSAVE=$(${_MKTEMP} --tmpdir `${_BASENAME} ${_MERGED}`.XXXXXXXXXX) 
    ${_CP} ${_MERGED} ${_MERGEDSAVE} 
    echo 1>&2 "Oops! Conflict markers detected in $_MERGED." 
    echo 1>&2 "Saved your changes to ${_MERGEDSAVE}" 
    echo 1>&2 "Exiting with code 1." 
    exit 1 
fi 
Questions connexes