Una nota su come ottenere l'ultimo numero di revisione:
Diciamo che ho cd
-ed in una sottodirectory revisionata ( MyProjectDir
). Quindi, se chiamo svnversion
:
$ svnversion .
323:340
... ottengo " 323:340
", che immagino significhi: " hai elementi qui, che vanno dalla revisione 323 alla 340 ".
Quindi, se chiamo svn info
:
$ svn info
Path: .
URL: svn+ssh://server.com/path/to/MyProject/MyProjectDir
Repository Root: svn+ssh://server.com/path/to/MyProject
Repository UUID: 0000ffff-ffff-...
Revision: 323
Node Kind: directory
Schedule: normal
Last Changed Author: USER
Last Changed Rev: 323
Last Changed Date: 2011-11-09 18:34:34 +0000 (Wed, 09 Nov 2011)
... ottengo " 323
" come revisione - che in realtà è la revisione più bassa tra quelle riportate da svnversion
!
Possiamo quindi utilizzare svn info
in modalità ricorsiva per ottenere maggiori informazioni dalla directory locale:
> svn info -R | grep 'Path\|Revision'
Path: .
Revision: 323
Path: file1.txt
Revision: 333
Path: file2.txt
Revision: 327
Path: file3.txt
Revision: 323
Path: subdirA
Revision: 328
Path: subdirA/file1.txt
Revision: 339
Path: subdirA/file1.txt
Revision: 340
Path: file1.txt
Revision: 323
...
... (rimuovere il grep
per vedere maggiori dettagli).
Infine, cosa fare quando vogliamo verificare qual è l'ultima revisione del repository online (in questo caso, @ server.com
)? Quindi emettiamo di nuovo svn info
, ma con -r HEAD
(nota la differenza tra l' -R
opzione maiuscola in precedenza e minuscola -r
ora):
> svn info -r 'HEAD'
USER@server.com's password:
Path: MyProjectDir
URL: svn+ssh://server.com/path/to/MyProject/MyProjectDir
Repository Root: svn+ssh://server.com/path/to/MyProject
Repository UUID: 0000ffff-ffff-...
Revision: 340
Node Kind: directory
Last Changed Author: USER
Last Changed Rev: 340
Last Changed Date: 2011-11-11 01:53:50 +0000 (Fri, 11 Nov 2011)
La cosa interessante è che - svn info
fa ancora riferimento alla sottodirectory corrente ( MyProjectDir
), tuttavia, il percorso online è riportato come MyProjectDir
(al contrario .
del caso locale) - e la revisione online riportata è la più alta ( 340
- al contrario di quella più bassa, 323
riportata localmente).