2017-06-25 25 views
0

J'essaie de fusionner les modifications Du dossier SVN au dossier Mon dossier local qui contient le code de révision précédent et de nouvelles modifications. Below Method prend SrcUrl et le chemin local du dossier qui a de nouveaux changements et srcrev détient le numéro de révision qui doit être fusionné de svn à mon dossier local.SharpSVN.Merge() ne fonctionne pas, renvoie true, mais ne peut pas voir les modifications dans le code

SVN.Merge() renvoie True, mais je ne parviens pas à voir les modifications de code dans mon dossier local après la fusion.

Quelqu'un peut-il s'il vous plaît dites-moi où je fais une erreur.

public void Merge(String SrcUrl,String localpath,long SrcRev) 
{ 
    using (SvnClient client = new SvnClient()) 
    { 
     try 
     { 
     SvnMergeArgs mergeArgs = new SvnMergeArgs(); 
     mergeArgs.Depth = SvnDepth.Infinity; 
     //Attaching the events 
     mergeArgs.Notify += new EventHandler<SvnNotifyEventArgs>(Merge_Notify); 
     mergeArgs.SvnError += new EventHandler<SvnErrorEventArgs>(Merge_Error); 
     mergeArgs.Conflict += new EventHandler<SvnConflictEventArgs>(Merge_Confilct); 
     mergeArgs.Force = false; 

     SvnRevisionRange svnRange = new SvnRevisionRange(SrcRev, SrcRev); 

     SvnUriTarget MyTarget = new SvnUriTarget(new Uri(SrcUrl)); 

     if(client.Merge(localpath, MyTarget, svnRange, mergeArgs)) 
        MessageBox.Show("Merged successfully"); 
    } 
    catch (SvnException se) 
    { 
     MessageBox.Show(se.Message,"svn merge error",MessageBoxButtons.OK, 
     MessageBoxIcon.Error); 
     } 
    } 
} 

Répondre

1

La modification a-t-elle déjà été fusionnée? Subversion suit tout ce qui est déjà fusionné dans la propriété 'svn: mergeinfo', et si la modification est déjà fusionnée, vous obtenez un succès, comme avec tout autre client Subversion.

Notez que vous souhaitez toujours fusionner une plage de révision. Vous fusionnez les modifications entre deux révisions différentes. Le client svn implémente son argument -c en passant la plage de la révision passée moins 1, à la révision car il s'agit de ce qui est modifié dans cette révision spécifique.