How to see which user has checked out source

John Arbash Meinel john at arbash-meinel.com
Wed Jul 19 22:11:01 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Angelo wrote:
> Hi to all
> 
> Could anyone please help me resolve the following problem.
> 

I will try, but your specific situation may not be easily fixable.
Mostly I want to see if I understand your workflow correctly.

>  
> 
> The scenario is as following:
> 
>  
> 
> I have various source repositories created and programmers then checkout
> into their local directories, do the changes and then commit and I then
> update and commit on the source repository.  In other words I am using a
> decentralised with shared mainline workflow.

So do you have a central set of branches, one for each developer, and
then you personally merge things into the mainline?

The biggest thing is knowing whether the changes the developers make are
showing up somewhere other than on their local machine. (You used the
term checkout, so it sounds like it is).

> 
> Now, I want to know if there is a bzr command or plugin that can list
> everyone that has the branch checked out and I want to be able to run
> this command from the shared repository.  The reason is that sometime
> two people are trying to fix the same problem (yes, yes, I know, lack of
> communication) and we only find out when trying to commit on the shared
> repository that there is a conflict which then needs to be resolved.

There isn't a specific way to tell who has a copy of a branch. Because
the target doesn't care who is referencing it.
However, if people are being hygienic, and creating a public location
rather than just a private location there are a few tools.

If they are truly creating checkouts 'bzr checkout
sftp://shared/location', then they won't be able to commit unless they
are up-to-date. Which works just like SVN/CVS. (You can't stop someone
from checking out your project and doing uncommitted work).

If everyone is using their own branch:

'bzr checkout sftp://shared/location/mybranch'

Then you can use bzrtools' 'bzr branches sftp://shared/location' to get
the list of what branches exist.

> 
> I’m trying to prevent this from happening as each person should be
> working on a different problem/enhancement.
> 

Well, if people are not using checkouts (doing:
bzr branch sftp://shared/location my-local-path)

Then by nature, there isn't a way to tell what someone has done until
they make their changes public.

You could have users setup the post-commit-email plugin. So that
everytime they make a commit, an email is sent somewhere, so you can
keep track of what changes are happening.

>  
> 
> Could anyone please help with the command or are there any other
> suggestions on how I can solve this problem?
> 

It is mostly a user education thing at this point. bzr supports a
centralized workflow, but the users have to use it. bzr intentionally
also supports decentralized workflow, so if users use 'branch' or 'get'
instead of 'checkout', there isn't any way to track what they are doing
from the central location.

>  
> 
> TIA
> 
> Angelo

Does this help? You can also ask on IRC (#bzr on irc.freenode.net), in
case it is easier to have more of a back-and-forth conversation.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEvp/lJdeBCYSNAAMRAn+jAKDNbe/8Wth0kBq2FDsCbWv4H3rM6gCfSm5m
8SM7hlus/hg5OjARCLuFJ8s=
=dSAy
-----END PGP SIGNATURE-----




More information about the bazaar mailing list