Bug: Files reported as read only when they are not

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
rakkar3
Posts: 50
Joined: Sat May 06, 2006 2:05 pm

Bug: Files reported as read only when they are not

Post by rakkar3 » Fri Jun 16, 2006 4:39 pm

Version 3.18

How to reproduce:
Make a renegade file by modifying something on the harddrive.
Check it out
Select "Do not overwrite / merge later"
Right click and select show differences
Click the pencil in the upper right corner (either one)

Because of this bug I am unable to merge files I work on.
Attachments
vaultbug1.jpg
A renegade file is edited
vaultbug1.jpg (20.12 KiB) Viewed 2868 times
vaultbug2.jpg
Incorrectly states read only
vaultbug2.jpg (30.25 KiB) Viewed 2868 times
vaultbug3.jpg
The file is not read only.
vaultbug3.jpg (30.61 KiB) Viewed 2868 times
vaultbug4.jpg
My settings
vaultbug4.jpg (58.87 KiB) Viewed 2868 times

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Jun 19, 2006 10:10 am

By default, the diff tool is configured to be read-only. You can change this in Tools->Options->Diff/Merge->Diff Arguments by removing the /ro1 or /ro2 arguments.

rakkar3
Posts: 50
Joined: Sat May 06, 2006 2:05 pm

Post by rakkar3 » Mon Jun 19, 2006 10:21 am

Thanks for the response.

When I right click on the file whose status is "Edited", and this file is checked out, "Show Merge" and "Resolve Merge Status" is greyed out. Why?

When I remove the /r01 and /r02 options I can now right click and have an option "Delete this change" when I do a show differences. But how do I merge?

If you've used Perforce, the merge tool there has three panes. One is the file in the repository. One is the file on your HD. The third is the merged result. When there are conflicts I can select which version to use, or I can type into the window and resolve it myself.

Does Vault have equivalent functionality?

dan
Posts: 2448
Joined: Wed Dec 17, 2003 5:03 pm
Location: SourceGear
Contact:

Post by dan » Mon Jun 19, 2006 12:12 pm

The Show Merge and Resolve Merge Status menu items are only available when the file is in a Needs Merge state. If the file is merely edited, there is nothing to be merged into the working copy, because there are no changes that were checked into the server since you started editing the file.

Note that a Get Latest by default will automatically merge changes into your working file, and if there are no conflicts, the state of the file will be Edited after the automerge.

If a file were in a Needs Merge state, a Show Merge would bring up the the Diff/Merge tool in Merge mode, and it would have the 3 panes you are expecting.

rakkar3
Posts: 50
Joined: Sat May 06, 2006 2:05 pm

Post by rakkar3 » Mon Jun 19, 2006 8:16 pm

Suppose I modify a file, make some changes, and decide I want to revert most, but not all, of those changes. So I select "Do not overwrite / Merge Later" rather than "Attempt Automatic Merge". This means that a merge would have taken place, and is a valid operation, but I want to do it manually rather than automatically.

The merge option should still be available, but is greyed out. Is this a bug?

If I understand the scenario you described, I wasn't able to merge because the file wasn't checked in since I checked it out. So I would be able to merge by logging in as another user, checking out the file, making a trivial change (such as adding a space), and checking in the file. However, I don't think this shouldn't be necessary. I believe the conceptual model of merge is that you have two different files and should be able to choose what parts of each file to combine to produce a third output file. So in my case, the two input files are what is in vault and what is on my harddrive, with the output overwriting what is on my harddrive.
Attachments
NoMerge.jpg
NoMerge.jpg (53.44 KiB) Viewed 2826 times
NoMerge2.jpg
Merge is greyed out
NoMerge2.jpg (24.08 KiB) Viewed 2826 times

GregM
Posts: 485
Joined: Sat Mar 13, 2004 9:00 am

Post by GregM » Mon Jun 19, 2006 8:40 pm

You're right, it's not necessary to check in the file as another user. A 3 way merge is for merging two separate sets of changes from a common base. You only have 1 set of changes, and you want to remove some of them. Just use View Differences, and overwrite the changes in your local file that you don't want to keep with the version in the repository. You'll need to remove the /ro switches from the Diff command line too.

Post Reply