[merge] tags in repository

Goffredo Baroncelli kreijack at tiscalinet.it
Fri Jan 26 21:55:30 GMT 2007


On Friday 26 January 2007, you (John Arbash Meinel) wrote:
> Goffredo Baroncelli wrote:
> > On Thursday 25 January 2007 06:06, Ilpo Nyyssönen wrote:
> >> Alexander Belchenko <bialix at ukr.net> writes:
> > [...]
> >> Good for you. Not so good for someone who has put several projects to
> >> same repository. When that someone pushes or someone other pulls from
> >> him/her, all the other project tags go too.
> >
> > The problem exists also for develop branch... Even tough a branch is not
> > finished, its tags will be pulled during a pull of the main branch...
> >
> > The main issue which I see is the following:
> > I develop a feature in a _private_ branch inside a repository with a 
published
> > branch. If I tag a revision common to the public branch, when someone pull
> > from my "public" branch, he get also the "private" tag.
> > And if the "puller" public its repository, these tags will go in other
> > repositories...
> >
> > As possible solution, I can see:
> > - provide both per repository tags ( which are under repository/.bzr) and 
per
> > branch tags ( which are under repository/branch/.bzr ).
> > or
> > - the idea of "private" tags, tags which as default are not pulled. We can 
use
> > a prefix ( like '_' ) to differentiate the "private" tags from 
the "public"
> > tags.
> >
> > My 2c
> > Goffredo
> 
> You do realize that if you are sharing a public repository, even though
> the branch itself might be private, the contents of the revisions are
> exposed.

Hi Jhon,

I know that if the repository is public, automatically all the branches are 
public. But the point is not here.

The point is that when you pull from a branch, you pull information related to 
all the branches. The problem is a pullution of _unnecessary_ information.

repo$ bzr init branch-a; cd branch-a; <hack-commit-hack-commit>
repo/branch-a$ bzr revno
5
repo/branch-a$ cd ..
repo$ bzr branch branch-a branch-b
repo$ cd branch-b; <hack-commit-hack-commit>
repo/branch-b$ bzr tag 2 foo  # note revno2 is common to "branch-a" !!!!!


On other host

repo2$ bzr pull http://otherhost/branch-a
repo2$ bzr tag-list
foo: revno:2

The tag foo is created inside the branch "branch-b" on a revision in common 
with the branch "branch-a". 
And this is true for every branch; and for every pull this is also true.
I have fear that this can cause a massive explosion of tags.

[...]
> 
> We could change the tag pulling logic so that it checks what tags are in
> the ancestry being pulled, and only copies those across. But this adds a
> lot of complexity for, IMO, little gain.

It is sufficent for every imported tag to check if the related revision id is 
in the repository. But this doesn't solve all the problem.

> 
> John
Goffredo

-- 
gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijack at inwind.it>
Key fingerprint = CE3C 7E01 6782 30A3 5B87  87C0 BB86 505C 6B2A CFF9



More information about the bazaar mailing list