È sempre possibile utilizzare il parametro -r
per riferirsi ad una revisione specifica. Quando si esegue questa operazione, è inoltre possibile utilizzare il blocco delle revisioni @rev
per accertarsi di fare riferimento al layout della revisione di Subversion in una particolare revisione. Di seguito verrà creato un tag dal tronco sulla revisione 577 e chiamare questo tag REV-1.2
:
$ svn cp -r 577 https://subversion.assembla.com/svn/my_assembla_svn_directory/trunk
https://subversion.assembla.com/svn/my_assembla_svn_directory/tags/REV-1.2
Se non si dispone di un trunk
, branches
, e tags
directory, è necessario spostare il vostro lavoro al fine di creare qualche:
$ # Move the current directory to the "trunk"
$ svn cp https://subversion.assembla.com/svn/my_assembla_svn_directory \
https://subversion.assembla.com/svn/my_assembla_svn_directory/trunk
$ # Make a corresponding tags and branches directories too
$ svn mkdir https://subversion.assembla.com/svn/my_assembla_svn_directory/branches
$ svn mkdir https://subversion.assembla.com/svn/my_assembla_svn_directory/tags
$ # Now, we can delete the old location. Let your developers know this,
$ # so they're not surprised by this and will be able to do a "svn relocate"
$ svn delete https://subversion.assembla.com/svn/my_assembla_svn_directory/
$ # Whoops. I should have done the tagging when I had a chance.
$ #Oh well, we'll use the `@rev` pinning:
$ svn -r557 cp https://subversion.assembla.com/svn/[email protected] \
https://subversion.assembla.com/svn/my_assembla_svn_directory/tags/REL-1.2
Subversion non implementa codifica e ramificazione se non come una copia. Questo non è inusuale. Perforce implementa la ramificazione allo stesso modo. In realtà, una volta che si ottiene l'uso ad essa, funziona davvero bene:
- E 'facile vedere i rami e tag validi (semplicemente fare un
svn ls
sulla directory giusta
- La storia completa di tag e rami È facile vedere chi ha apportato la modifica, quando, perché, ecc.
- Viene visualizzata la cronologia completa del tag o del ramo. Se qualcuno modifica un tag o un ramo, viene visualizzato chi lo ha fatto in modo molto chiaro.
- Scoraggia il tipo di diramazione helter-skelter che si vede in molti altri sistemi di controllo di versione quando gli sviluppatori selezionano e scelgono su vari rami e sul tronco cosa ramificare o taggare. Ciò rende molto difficile fare il monitoraggio della storia. Lo schema di Subversion ti incoraggia a pensare a rami e tag che influenzano tutti i file in un progetto.
fonte
2012-06-22 19:35:59