Jump to content

4.0 Exclusive checkout - not seen on other clients


roadrunner

Recommended Posts

In version 4.0.237.2, the GUI has an option to Checkout and another to Checkout Exclusive. In either case, other clients cannot see this checkout status when connected to the same shared repository. I'm assuming this is a bug as there's no other reason for Checkout Exclusive is there? Is there a planned fix coming for this soon? This seems to be the case even if the revision type is set to Binary (on a .JPG file for example)

Link to comment
Share on other sites

(We are still using 3.0, not sure how 4.0 works in comparison).

When you say other clients don't "see" the checkout status, do you mean it doesn't show up when displaying All checkouts (or 4.0 equivalent), or other users are also able to check out the file after the exclusive checkout? If either/both is true, sounds like this may be a bug in 4.0.

Link to comment
Share on other sites

Hi roadrunner,

You are going to use the exclusive checkout for binary or text files? Do you know that plastic can handle the workflow in a single branch in a very easy way performing merges, right?

We have more priority tasks right now, are you a CommunityEdition user or do you have purchased any support/product licenses?

Regards,

Manu.

Link to comment
Share on other sites

Exclusive use is desired for both Binary and Text files. Binary files such as graphical resources, and some text files. Most everything can be merged later, but there are times where it's desirable to lock a file from shared use in the shared repo. Some files are simply more painful to merge than others...if you know that ahead of time, lock it. Also, some sections might be in for a big refactor (15+ year old legacy codebase) If you plan on a refactoring a few units, it's best to lock those to prevent merging issues. It simply puts a tool in the developers hands to let them decide when a lock will save future headache.

Community Edition user.

Link to comment
Share on other sites

Hi roadrunner,

I totally understand you, in that cases the exclusive checkout is very useful...

I can only say that we are going to develop it, but right now there are things with more priority... We are a small team and we have to dismiss (for some time) some tasks....

Link to comment
Share on other sites

We need exclusive checkout for several uses right now.

You could "easily" simulate it using before-checkout triggers, having some sort of global list, but it takes some time to implement. This is exactly what we want to do.

My goal is to have it up and running before the end of January, but we've really a lot of things on the table right now.

My plan is to modify a little bit the "checkout" operation so that "exclusive checkout" continues making sense even on distributed environments... so, have some sort of "central server" to control "exclusive checkouts"... It will be optional so teams can choose whether they want to work on "checkout mode" or not.

Link to comment
Share on other sites

  • 1 month later...

Hello there,

long time since I posted something. I ran into the same issue like the thread starter and wondered if you already were able to implement the announced feature since we have the same issue with binary files and solving it by management is not very suitable - at least for the long run ;-)

Looking forward to hear from you.

Link to comment
Share on other sites

  • 3 weeks later...

That's good news, fingers crossed it will be released soon. We are just evaluating plastic at the moment and need to avoid losing work when two people work on a binary file simultaneously, as selecting one or the other as the result of a merge is not acceptable.

What are your thoughts on allowing a project to be setup so that certain file extensions or pattern matches can only be checked out exclusively? I would hope that such files also automatically received the make read only option on clients.

Our ideal working scenario is that any files as possible work in the plastic way, in that they can be writable all the time on the client and edited by anyone at any time. These files would be any file that can be merged or that carries little risk of loss of work if a merge question of select which one you want is presented.

However some binary files need protection and you don't want users changing them accidentally without first ensuring that no one else is working with that file. I can't see a safe way of working with Plastic without this.

Link to comment
Share on other sites

Hello andsee,

I think the 4.1 with the exclusive checkout feature will be released this week. I'll shortly explain you how it works. The exclusive checkout (locking) can now be configured per path.

To configure it create a file "lock.conf" in the server directory

with the following format:

rep:local_repname lockserver:server:port

path_rules

where

* local_repname: is the name of the repository where you want

to perform exclusive checkouts

* server: the lock server

* port: the port where the lock server is configured

* path_rules: an entry per rule specifiying file names

with wildcards

Example:

rep:default lockserver:localhost:8084

*.doc

*.xls

*.jpg

document.vcs

/install/readme/*

Once the file "lock.conf" has been created and the server restarted,

each time a file matching the rules is checkedout, it will be checkedout

in exclusive mode (locked), so no other checkout can happen.

Link to comment
Share on other sites

The lock.conf sounds like a good option - similar to SVN config file with [auto-props] per extension with the addition of setting a particular repo server as the single lock server. Is there a way to manually select a file for locking without editing the lock.conf file? (Using the current server as the default lock server)

Link to comment
Share on other sites

Excellent, can't wait to get this implemented!

One question: If I need to lock files in multiple Repositories do I simply repeat structure once for each Rep in the same lock.conf file?:

rep:local_repname1 lockserver:server:port

path_rules

rep:local_repname2 lockserver:server:port

path_rules

etc?

Link to comment
Share on other sites

  • 3 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...