Domanda

Ho un progetto SVN al lavoro che assomiglia a questo:

Deposito

 project
   |-- docs
   |-- scripts
   `-- app
        |-- trunk
        |-- branches
        |     `-- development
        `-- tags
            |-- Release_1.0
            |-- ...
            `-- Release_5.3

Voglio la mia cartella di lavoro in questo modo:

Copia funzionante

 dir_root
   |-- docs
   |-- scripts
   |-- trunk
   `-- branches
         `-- development

Vorrei eseguire il commit del codice da "dir_root/trunk" e "dir_root/docs" contemporaneamente in un commit per avere solo 1 numero di revisione.

Come posso effettuare il checkout per ignorare la cartella "tags" ed essere comunque in grado di impegnarmi in più directory.

Nota:

  • Non riesco a controllare tutto il repository perché "tags" contiene troppe versioni.
  • Ho provato a utilizzare directory sparse, ma continua a darmi questo errore "svn:'/dir_root' non è una copia funzionante"quando provo a impegnarmi.
È stato utile?

Soluzione

Dall'errore sembra che ciascuna delle cartelle sotto dir_root è stato effettuato il checkout separatamente.Così dir_root di per sé non corrisponde project cartella nell'SVN.

Potresti iniziare facendo il check-out project con --depth immediates in dir_root.Questo creerà una struttura di cartelle simile a quella in SVN nel tuo dir_root.Successivamente puoi aggiornare le sottocartelle che ti interessano (es. docs, trunk, eccetera.).Una volta fatto ciò, puoi apportare modifiche ai contenuti ed eseguire un singolo commit da dir_root che contengono modifiche a dir_root/trunk E dir_root/docs.

Altri suggerimenti

Creare una directory con svn:externals con la struttura che hai menzionato risolverà il tuo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top