[merge] tags in repository
John Arbash Meinel
john at arbash-meinel.com
Fri Jan 26 19:28:58 GMT 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
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.
So if I do:
bzr init-repo --no-trees repo/
bzr push public repo/public
bzr branch repo/public repo/private
chmod go-rwx repo/private
bzr checkout repo/private personal
cd personal
bzr commit -m "is this hidden?"
At this point, someone cannot do "bzr branch http://goffredo/repo/private"
But they could do:
GET http://goffredo/repo/.bzr/repository/inventory.kndx
# Check the revision id
bzr branch repo/public -r revid:<revision-id>
And get your private branch.
So if you truly need private stuff to be private, then it cannot share a
repository.
However, there is a different issue that is similar to what you say.
Which is if I have 2 branches, and I branch from 1 of them, I may get
tags for revisions that I don't have. (We only pull across revisions
that are in the ancestry of the branch you pulled, but we are pulling
all 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.
John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFulZ6JdeBCYSNAAMRAkvVAJ4qnQ38sN5h6Jis99GRLvOjm2Z8hACfSe4I
CAsIKNK0gzVyS9w4dges5TU=
=Th34
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list