Domanda

Usando Subversion, nella mia copia di lavoro faccio una piccola modifica (aggiornare un numero di versione). Vorrei poi per contrassegnare la mia copia di lavoro. Sarebbe questo tag ancora essere una copia a buon mercato con la modifica, o avrebbe SVN duplicare i file? Mi dispiacerebbe vedere il mio crescere repository enormemente in termini di dimensioni, perché sto cercando di salvare una modifica numero di versione.

Il motivo che mi chiedo di creare un tag che contiene una modifica piuttosto che commettere poi codifica comporta la mia build server. Il server di generazione crea un CCNetLabel che io uso per aggiornare i numeri di versione dei miei progetti (AssemblyInfo.cs). Quando la generazione viene eseguita correttamente si crea un tag. Quando uso ForceBuild il tag è basato sulla copia di lavoro che dovrebbe contenere il numero di versione modificata. Voglio che il tag per contenere il numero di versione appropriata.

Nota:. E 'discutibile se Sto creando una filiale o un tag, tuttavia SVN non fa una distinzione tra i due

È stato utile?

Soluzione

Dipende. Se la vostra copia di lavoro è aggiornata (tutti i nodi hanno la stessa revisione) è proprio a buon mercato come la codifica dal repository.

Per ogni file / directory (o in realtà sottostruttura) con una revisione diversa rispetto ai suoi genitori dati aggiuntivi verranno aggiunti. E se si dispone di modifiche locali saranno aggiunti anche altri dati.

Ma è ancora a buon mercato ragionevole. Non duplicare i file che si trovano già nel repository

Altri suggerimenti

Dalla descrizione sovvertimento

  
      
  • rami e tag sono a buon mercato le operazioni (tempo costante).   Non c'è alcuna ragione per queste operazioni siano costosi, quindi non sono.   Rami e tag sono implementati sia in termini di un'operazione sottostante "copia". Una copia riprende una piccola, costante quantità di spazio Ogni copia è un tag.; e se si avvia commettere su una copia, allora è una filiale pure. (Questo elimina "branch-point di tagging" di CVS, eliminando la distinzione che ha fatto i tag ramo punti necessari, in primo luogo.)
  •   

Nota! Ho appena notato che Subversion è stato spostato nel progetto Apache organizzazione

La creazione di un tag o un ramo in Subversion è molto economico. I file non saranno copiati. Tutto ciò che accade è che sarà creata una nuova revisione, il cui contenuto fondamentalmente solo contenere l'indicazione di dove il tag è stato copiato da. Questa sarà la stessa dimensione di un tag di un progetto con un file di piccole dimensioni o per uno con un milione di quelli più grandi.

Quando si dice "tag mia copia di lavoro", vuol dire "tag mio ramo di lavoro"? È possibile solo i dati dei tag che è già stato commesso da qualche parte nel repository, non le tue modifiche non locali.

Piuttosto un obsoleto post, ma vale la pena menzionare per chi visita che la risposta si può solo affermando 'è possibile solo i dati dei tag che è già stato commesso nel repository ...' lavoro intervenuta non è completamente accurata (almeno non ora).

È possibile contrassegnare una copia di lavoro, che potrebbe contenere le revisioni miste e anche commutato le directory così come modifiche locali.

Per quanto riguarda l'economicità, sì, dovrebbe essere ancora a buon mercato come Subversion diramano per voi, quindi sovrapporre le modifiche alla copia di lavoro in pronti contro termine, risparmiando quanto più spazio possibile

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