On 05/19/2013 09:51 AM, Zé wrote:

Again, the problem is that subversion does not support branches or tags.
  All it supports is basic file operations on a file system, and they
are not adequate for simulating branches or tags.

Regarding tags, there's a better way to handle them in subversion:

1) Here's the repo status:

$ pwd
/tmp/working_copy/trunk

ze@ubuntu:trunk$ svn log --limit 3
------------------------------------------------------------------------
r6 | ze | 2013-05-19 09:58:38 +0100 (Sun, 19 May 2013) | 1 line

Marked v2
------------------------------------------------------------------------
r5 | ze | 2013-05-19 09:56:55 +0100 (Sun, 19 May 2013) | 1 line

Marked v1
------------------------------------------------------------------------
r1 | ze | 2013-05-19 09:35:25 +0100 (Sun, 19 May 2013) | 1 line

Initial import
------------------------------------------------------------------------

2a) This might be an alias to a "svn tag checkout v1"

$ svn checkout -r5 file:///tmp/repository/trunk wc
D    wc/this_repo_state_would_be_v2.txt
A    wc/this_repo_state_would_be_v1.txt
Checked out revision 5.

2b) This might be an alias to a "svn tag checkout v2"

$ svn checkout -r6 file:///tmp/repository/trunk wc
A    wc/this_repo_state_would_be_v2.txt
A    wc/main.c
Checked out revision 6.


These would be proper tags: they are immutable, they take over essentially zero space in the repository, don't store redundant information, and are completely free to be created and deleted. No network traffic is needed.

I suspect that the only thing that would be needed for subversion to offer proper support for tags is to implement a list that tracked label names, revision number and the path to a specific subdir tracked by the subversion repository.


--
Zé

Reply via email to