Jump to content

some questions and issues


roniz

Recommended Posts

Hi,

I just installed plastic for evaluation, and I would like to rise some issues:

1. When working on a branch that was updated (committed to) by someone else - In order to get my workspace up to date, it is not enough to do "get latest version" - this only gets the files that don't need to be merged - but I should also do "Merge" to the same branch I'm working on (!?) if any of the files I have checked out where changed as well.

Coming from CVS and VSS, I'm used to having "get latest version" do it all in one step, and I believe that since both steps are needed anyway - that old approach is easier and better.

2. same thing applies for working on a dynamical inheriting branch - when you promote changes from the parent branch to the inheriting branch, you should force (or at least inform) anyone who does "get latest" on the child branch to merge the changes to the files that were changed in the child brunch - thus didn't "inherit" the changes from the parent branch.

3. I would expect "diff" to compare the files in my workspace with the file in the repository.

for some reason this is done only if the file is checked out. If the file is not checked out - it is compared with it's previous version. As far as I see it, it only makes things more confusing, as the user doesn't know what changeset these changes belong to, and what is their context.

This is also very confusing for me, as I use "diff" to look at non-checked-out files that I believe to have changed.

4. The diff tool doesn't allow to edit the file.

I'm used to diffing my changes before committing them, and during the diff - to edit them if needed.

In VSS/CVS with "beyond compare" defined as diff tool - I can do that easily.

It's a big issue for me, and I believe you should either add editing to your compare tool, or at least give the option to use some other compare tool if I want to...

5. If I have a file checked out on a parent branch, and I change the workspace to work on a child branch of it(even when it is a chageset based branch!) - the file is still shown checked out on that child branch and keeps it's changes. and if you don't want it on the current branch (you change branches to change tasks, not to continue with the old one which should be kept "shelved") and you do undo-checkout on that file in that branch - you loose it on the parent branch as well...

6. it seems to me that the plastic plug-in for visual studio is not very stable, as my VS crushed several times in the few hours i played with this integration.

Link to comment
Share on other sites

Hi Roniz,

Hi' date='

I just installed plastic for evaluation, and I would like to rise some issues:

1. When working on a branch that was updated (committed to) by someone else - In order to get my workspace up to date, it is not enough to do "get latest version" - this only gets the files that don't need to be merged - but I should also do "Merge" to the same branch I'm working on (!?) if any of the files I have checked out where changed as well.

Coming from CVS and VSS, I'm used to having "get latest version" do it all in one step, and I believe that since both steps are needed anyway - that old approach is easier and better.

2. same thing applies for working on a dynamical inheriting branch - when you promote changes from the parent branch to the inheriting branch, you should force (or at least inform) anyone who does "get latest" on the child branch to merge the changes to the files that were changed in the child brunch - thus didn't "inherit" the changes from the parent branch.

[/quote']

A feature that allows you to see which files need to be merged "automatically" is in the works, exactly for these scenarios. However, performing the merge will still be explicitly requested by the user.

3. I would expect "diff" to compare the files in my workspace with the file in the repository.

for some reason this is done only if the file is checked out. If the file is not checked out - it is compared with it's previous version. As far as I see it' date=' it only makes things more confusing, as the user doesn't know what changeset these changes belong to, and what is their context.

This is also very confusing for me, as I use "diff" to look at non-checked-out files that I believe to have changed.

[/quote']

I agree the behavior there can be confusing with checkouts and non-checkouts. Even worse, when a file has actually changed but it's not checked out (this is signalled with a blue tick icon over the item instead of the green one), the diff with previous also compares last version in rep with last-1, instead of file on workspace vs last on rep. This will be fixed.

4. The diff tool doesn't allow to edit the file.

I'm used to diffing my changes before committing them' date=' and during the diff - to edit them if needed.

In VSS/CVS with "beyond compare" defined as diff tool - I can do that easily.

It's a big issue for me, and I believe you should either add editing to your compare tool, or at least give the option to use some other compare tool if I want to...

[/quote']

Currently the internal diff tool doesn't allow editing. But you can define your own tool, just head to the client.conf file you can find in c:\users\username\appdata\local\plastic (if using vista, c:\documents and settings\username\... if using XP). There you can define the command lines for diff and merge tools, even define diffrent ones for other file extensions.

5. If I have a file checked out on a parent branch' date=' and I change the workspace to work on a child branch of it(even when it is a chageset based branch!) - the file is still shown checked out on that child branch and keeps it's changes. and if you don't want it on the current branch (you change branches to change tasks, not to continue with the old one which should be kept "shelved") and you do undo-checkout on that file in that branch - you loose it on the parent branch as well...

[/quote']

That's not normal, if you switch to a child branch, your hecked should be shelved and ony shown in the checkouts view, but with a diffrent icon (an orange one), meaning that it's checked out, but not in the current branch. Are you sure you switched the workspace to the child branch, and that an update was performed? (this update is the responsible for shelving the checked out files and retrieving a "clean" copy of the file)

6. it seems to me that the plastic plug-in for visual studio is not very stable' date=' as my VS crushed several times in the few hours i played with this integration.

[/quote']

You mean the SCC plugin or the visual studio 2005+ integration (the Plastic SCM gui inside VS)?

Link to comment
Share on other sites

roniz wrote:

5. If I have a file checked out on a parent branch, and I change the workspace to work on a child branch of it(even when it is a chageset based branch!) - the file is still shown checked out on that child branch and keeps it's changes. and if you don't want it on the current branch (you change branches to change tasks, not to continue with the old one which should be kept "shelved") and you do undo-checkout on that file in that branch - you loose it on the parent branch as well...

That's not normal, if you switch to a child branch, your hecked should be shelved and ony shown in the checkouts view, but with a diffrent icon (an orange one), meaning that it's checked out, but not in the current branch. Are you sure you switched the workspace to the child branch, and that an update was performed? (this update is the responsible for shelving the checked out files and retrieving a "clean" copy of the file)

I tried it several times - when switching to a branch which is not a child branch it works without problems (I don't even need to do 'update' explicitly), but when switching the workspace to a child branch - it works as I described.

roniz wrote:

6. it seems to me that the plastic plug-in for visual studio is not very stable, as my VS crushed several times in the few hours i played with this integration.

You mean the SCC plugin or the visual studio 2005+ integration (the Plastic SCM gui inside VS)?

Yes.

One more thing:

Is there a way to preform shelving without switchign to a different branch (just a 'keep' operation so the checked out file will be saved on the server)?

Is there a way to revert to the last 'shelved' version? - for example, if you have files checked out, and you do a merge with other changes on the same thread, can you get back to your changed files before that merge? (the files can not be checked-in before the merge, since you have to do a merge first, but they can be shelved...)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...