Editable panel is not editable

Support for our DiffMerge utility.

Moderator: SourceGear

Post Reply
Cosmic Prune
Posts: 5
Joined: Wed Jan 02, 2008 10:22 am
Location: UK

Editable panel is not editable

Post by Cosmic Prune » Wed Jan 02, 2008 10:36 am

I apologise in advance for being a complete newbie.

I have connected my Vault client to the repository where our source is stored and done a "Show Differences" against a Renegade file. The Diff comes up just as it should and there are differences clearly visible.

I am merging some code and I want to apply the changes in the left pane (the repository version) to the right pane (my local version). However, the "Apply Changes From Left" button is grayed out and the right pane is not editable, as the help material leads me to believe it should be.

Any ideas what is wrong? How do I achieve my merge?

Thanks.

Cosmic Prune
Posts: 5
Joined: Wed Jan 02, 2008 10:22 am
Location: UK

Post by Cosmic Prune » Wed Jan 02, 2008 11:26 am

Also, the "Show Merge" context menu item is not available ...

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Files are read-only when using Vault's Show Diffs

Post by jeffhostetler » Wed Jan 02, 2008 4:02 pm

When you use the "Show Differences..." feature in Vault it launches
DiffMerge in read-only mode. DiffMerge acts strictly as a diff-viewer
in this mode. I'm not sure why we do it this way in some specific
instances, but it is especially important that we do when, for example,
you're looking at two historical versions.

If you have the current repository version and a parallel renegade
version (in a different file/folder), you can just launch DiffMerge directly
from the Start Menu and open the two files. Put your local/to-be-edited
on in the right panel.

Also, "Show Merge..." is only available when Vault thinks that there are
three versions - a common ancestor, remote changes made to that ancestor
by someone else, and your modified copy - that needs merging.

Hope this helps,
jeff

Cosmic Prune
Posts: 5
Joined: Wed Jan 02, 2008 10:22 am
Location: UK

Re: Files are read-only when using Vault's Show Diffs

Post by Cosmic Prune » Wed Jan 02, 2008 4:39 pm

jeffhostetler wrote:If you have the current repository version and a parallel renegade
version (in a different file/folder), you can just launch DiffMerge directly
from the Start Menu and open the two files. Put your local/to-be-edited
on in the right panel.


Thanks Jeff, but I can't see how to put the repository version into the left pane if I launch DiffMerge standalone. When I try to select the file to open in the left pane, I just get a local file open dialog with no invitation to connect to a repository.

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Perhaps I misunderstood your original situation.

Post by jeffhostetler » Wed Jan 02, 2008 5:14 pm

Perhaps I misunderstood your original situation (I can be a little slow
sometimes). If you have a Renegade file (a file with changes relative
to some version in the repository) and a newer version of the file exists
in the repository, you should be able to do a "Get Latest Version..." on
the file. This should raise a dialog that lets you select "Attempt automatic
merge" or you could select "Do not overwrite/Merge later". One will try
to do all the work of merging and only bother you if there are conflicts;
the other should enable the "Show merge..." context menu item and let
you do the work. Either way, if you have to do the work, you'll get a
3-way window in DiffMerge with the center editable.

I'd make a backup copy of your local renegade file, in case of accidents,
until you get the hang of things.

Hope this helps,
jeff

Cosmic Prune
Posts: 5
Joined: Wed Jan 02, 2008 10:22 am
Location: UK

Re: Perhaps I misunderstood your original situation.

Post by Cosmic Prune » Thu Jan 03, 2008 2:46 am

jeffhostetler wrote:Perhaps I misunderstood your original situation


No, I think you were right first time. The code became branched and needs to be re-merged. The code in the repository is not newer, as such, and there are changes in my local version that need to be applied to the repository version. If anything, there is more new code in my local version.

I had hoped I could just open the DiffMerge from Vault and then go through all the changes in the left pane, adding them to my local version, then check that version in over the repository version.

jeffhostetler
Posts: 534
Joined: Tue Jun 05, 2007 11:37 am
Location: SourceGear
Contact:

Try this then.

Post by jeffhostetler » Thu Jan 03, 2008 8:24 am

Well, in that case, try this.

[1] Move your local version to a different file name, file.local.
Vault should now show the file as "missing".

[2] Checkout the latest version of the file.

[3] Use DiffMerge from the Start Menu, putting file.local in the
left panel and the repository version in the right (editable)
panel. Then apply your local changes to the repository
version.

[4] Checkin the new repository version.

Alternatively, you could swap the files in step [3], if that would
be easier, but then you'd need to move the resulting file.local
back onto the original filename.

There's probably a better way to do this that I'm just not thinking
about, but this will work.

Hope this helps,
jeff

Cosmic Prune
Posts: 5
Joined: Wed Jan 02, 2008 10:22 am
Location: UK

Post by Cosmic Prune » Thu Jan 03, 2008 8:52 am

Yeah, that works. Thanks Jeff.

Post Reply