Domanda

Ho un repository SVN ospitato su un sito freemium con una dimensione massima repository. Mentre mi avvicino questa capacità sono consapevole di file che ho fatto il check in che so di poter rimuovere in modo permanente per liberare spazio su disco. Come faccio a dire SVN che un file non può essere eliminato solo, ma la sua storia così?

È stato utile?

Soluzione

Non credo ci sia un modo in Subversion per dire non alla versione di un particolare file o almeno dimenticare un file quando cancellato. Come si sconfigge lo scopo del sistema di controllo di versione. si sarà in grado di raggiungere questo obiettivo da parte di alcuni tweaks se si dispone di un repository locale. Tuttavia, senza alcun accesso di amministrazione per il repository, la sua intenzione di essere impossibile farlo.

Se aiuta, rsvndump è uno strumento per prendere una discarica di un repository remoto. Con questo si sarà in grado di ottenere il dump repository al sistema locale. Per rimuovere i file indesiderati è possibile utilizzare questo comando "cat xxx-svn-dump | svndumpfilter escludono $ file> new-svn-dump". Anche se con questo si può ridurre la dimensione del repository, non sarà in grado di aggiornare il repository originale con questo contenuto.

Altri suggerimenti

Guardate questa:

http://subversion.apache.org/faq.html#removal dice:

  

Ci sono casi speciali in cui si   potrebbe desiderare di distruggere tutte le prove di   un file o commesso. (Forse qualcuno   accidentalmente commesso un riservate   documento.) Questo non è così facile, perché   Subversion è volutamente progettato per   informazioni non perdono mai. Le revisioni sono   alberi immutabili che si ispirano agli uno   un altro. Rimozione di una revisione da   la storia potrebbe causare un effetto domino,   creare il caos in tutta la successiva   revisioni e possibilmente invalidare   tutte le copie di lavoro.

Possibile soluzione in questa risposta SO:

il contenuto dei file Elimina da cronologia SVN

Inoltre è possibile potare la vostra storia. Diciamo che sono 100 revisioni, è possibile mantenere l'ultima storia, dicono 50 revisioni. Questo può anche ridurre le dimensioni del vostro repository subversion.

svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump

Se si riesce a vivere senza la vostra storia di commit, potete verifica il codice, rimuovere il repository corrente, creare un nuovo pronti contro termine e quindi commettere il codice per un nuovo repository.

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