<?xml version="1.0" encoding="UTF-8"?>
<article id="Version_control">
  <title>Utilizzo di WinMerge con altri strumenti<indexterm>
      <primary>integrazione</primary>
    </indexterm></title>

  <para>Il confronto e l'unione dei file sono spesso attività secondarie in un
processo di gestione delle modifiche più ampio.Per questo motivo WinMerge
viene spesso utilizzato non solo da solo, ma anche insieme ad altri
strumenti.Inoltre, le utilità diff e merge forniscono funzionalità diverse,
quindi a volte è utile combinare diversi strumenti.Questo argomento descrive
i metodi principali per utilizzare WinMerge con altri strumenti.</para>

  <section>
    <title>Utilizzo dell'interfaccia della riga di comando (CLI)</title>

    <para>L'interfaccia della riga di comando (CLI) di WinMerge, descritta in <xref
linkend="Command_line" />, consente di eseguire WinMerge da una finestra del
prompt dei comandi, da script o da un altro strumento o programma.In
sostanza, qualsiasi programma che consenta di richiamare un eseguibile
esterno con almeno un percorso, può essere utilizzato per avviare
un'operazione WinMerge.</para>

    <para>Ecco solo alcuni esempi:</para>

    <itemizedlist>
      <listitem>
        <para>Un file batch può avviare WinMerge e consentire agli utenti di specificare i
parametri in modo interattivo:</para>

        <literallayout>avviare "WinMerge" /B "C:\Programmi\WinMerge\WinMergeU.exe" /e /s /u /dl %3 /dr %5 %6 %7</literallayout>
      </listitem>

      <listitem>
        <para>Il client Subversion ti consente di chiamare un programma diff esterno e
passare parametri, come questo:</para>

        <literallayout>$ svn diff --diff-cmd "C:\Programmi\WinMerge\WinMergeU.exe" -x "-dl -dr" miofile </literallayout>
      </listitem>
    </itemizedlist>

    <tip>
      <para>Allo stesso modo, molti strumenti GUI (come client di controllo versione e
IDE) che includono strumenti diff integrati consentono invece di configurare
WinMerge come strumento diff predefinito.La sezione successiva descrive come
utilizzare WinMerge in questo modo con TortoiseSVN e Visual Studio Team
Foundation Server.Per altri strumenti, come Eclipse e Perforce, controlla la
loro documentazione o cerca in Internet dettagli ed esempi.</para>
    </tip>
  </section>

  <section id="VersionControl_vcs">
    <title>Utilizzo di WinMerge con sistemi di controllo della versione<indexterm>
        <primary>sistemi di controllo della versione</primary>

        <secondary>integrazione con</secondary>
      </indexterm></title>

    <para>È possibile configurare WinMerge per interagire con alcuni sistemi di
controllo della versione supportati (VCS).Questa sezione descrive
l'integrazione VCS e fornisce alcuni esempi.</para>

    <section>
      <title>Utilizzo di WinMerge come strumento diff del sistema di controllo della
versione</title>

      <indexterm>
        <primary>Integrazione TortoiseSVN</primary>
      </indexterm>

      <para>Quando confronti i file in TortoiseCVS, TortoiseSVN o TortoiseGit, puoi fare
in modo che VCS avvii WinMerge invece della sua utilità diff nativa.Puoi
configurare alcune di queste integrazioni durante l'<link
linkend="Installing_usinginstaller">installazione di WinMerge</link>.</para>

      <example>
        <title>Integrazione TortoiseSVN</title>

        <para>Ecco un'operazione di confronto di esempio in TortoiseSVN che utilizza
l'integrazione WinMerge.L'integrazione con TortoiseCVS e TortoiseGit è
simile.</para>

<orderedlist>
          <listitem>
            <para>In Esplora risorse, vai a una copia di lavoro di Subversion che hai
estratto.</para>
          </listitem>

          <listitem>
            <para>Fai clic con il pulsante destro del mouse su un file che si trova sotto la
gestione di Subversion (solitamente indicato da un'icona TortoiseSVN
distinta) e fai clic su <guimenu >TortoiseSVN</guimenu > nel menu
contestuale.</para>

            <itemizedlist>
              <listitem>
                <para>Se il file non è stato modificato, il menu contestuale contiene la
scorciatoia <guimenuitem >Differenze con la versione precedente</guimenuitem
>.Questo comando confronta la versione estratta del file con la versione
precedente archiviata nel repository.</para>
              </listitem>

              <listitem>
                <para>Se hai modificato il file, il menu contestuale contiene la stessa
scorciatoia <guimenuitem >Diff con la versione precedente</guimenuitem >,
più la scorciatoia <guimenuitem >Diff</guimenuitem >.Questo comando
confronta la tua revisione con la versione corrente (quella che hai
estratto).È utile per rivedere le modifiche apportate.</para>
              </listitem>
            </itemizedlist>
          </listitem>

          <listitem>
            <para>Scegli la scorciatoia <guimenuitem >Diff con la versione
precedente</guimenuitem > o <guimenuitem >Diff</guimenuitem >.Si apre la
finestra WinMerge, con le versioni dei file di destinazione caricate nella
finestra Confronto file.</para>
          </listitem>
        </orderedlist><para>La scorciatoia <menuchoice> <guimenu >TortoiseSVN</guimenu> <guimenuitem
>Diff</guimenuitem > </menuchoice > è disponibile per confrontare due file
qualsiasi nel tuo file system, non solo i file gestiti da Subversion.Per
illustrare come funziona l'integrazione WinMerge in questo caso:</para>

<orderedlist>
          <listitem>
            <para>In Esplora risorse, tieni premuto <keycap>Ctrl</keycap>, seleziona due file
qualsiasi e fai clic con il pulsante destro del mouse.</para>
          </listitem>

          <listitem>
            <para>Scegli <menuchoice> <guimenu >TortoiseSVN</guimenu > <guimenuitem
>Diff</guimenuitem > </menuchoice > nel menu contestuale.</para>

            <para>Si apre la finestra WinMerge, con i file selezionati caricati nella finestra
Confronta file.</para>
          </listitem>
        </orderedlist></example>

      <example>
        <title>Integrazione di Visual Studio Team Foundation Server</title>

        <para>È possibile impostare manualmente WinMerge come strumento predefinito da
utilizzare in Visual Studio per mostrare le differenze in Team Foundation
Server (TFS).Altri sistemi di controllo della versione possono essere
impostati in modi molto simili.</para>

<orderedlist>
          <listitem>
            <para>In Visual Studio, vai al menu <menuchoice> <guimenu >Strumenti</guimenu >
<guimenuitem >Opzioni...</guimenuitem > </menuchoice >.</para>
          </listitem>
		  
          <listitem>
            <para>In <menuchoice> <guimenu >Controllo del codice sorgente</guimenu >
</menuchoice >, trova le opzioni <menuchoice> <guimenu >Visual Studio Team
Foundation Server</guimenu > </menuchoice >.</para>
          </listitem>
		  
          <listitem>
            <para>Fai clic sul pulsante <guimenuitem >Configura strumenti
utente...</guimenuitem >.</para>
          </listitem>

          <listitem>
            <para>Fai clic sul pulsante <guimenuitem >Aggiungi...</guimenuitem >.</para>
          </listitem>
		  
		  <listitem>
            <mediaobject>
<imageobject> <imagedata fileref="screenshots/tfs_configure.png"
format="PNG" /> </imageobject></mediaobject>
			<para>Digitare le seguenti opzioni nello strumento di configurazione.</para>
			<itemizedlist>
              <listitem>
                <para>Estensione: .*</para>
              </listitem>

              <listitem>
                <para>Operazione: Confronta</para>
              </listitem>
			  
			  <listitem>
                <para>Comando: {Percorso di WinMerge}\WinMergeU.exe</para>
              </listitem>
			  
			  <listitem>
                <para>Argomenti: /e /u /dl %6 /dr %7 %1 %2</para>
              </listitem>
            </itemizedlist>
			<para>Dove {Percorso WinMerge} è il percorso in cui è installato WinMerge.Nello
screenshot sopra è installato nel percorso di installazione predefinito
C:\Program Files (x86)\WinMerge\WinMerge.exe</para>
			<para>Gli argomenti sono descritti in <xref linkend="Command_line" />.</para>
          </listitem>
        </orderedlist><para>Ogni volta che dici a TFS di confrontare due file, ora utilizzerà WinMerge.</para>
      </example>
    </section>
  </section>
</article>
