How to get the changes from other person's workspace in Accurev? - accurev

There are some changes in other person's AccuRev workspace. I can't promote these changes, because there is an overlap. I can't resolve the overlap, because the workspace is not mine. I can't cross-promote these changes, because apparently such functionality doesn't work with workspaces. I'd prefer not to reattach the workspace to my PC, because such action would disrupt the workflow of the other person.
I want to get these changes into my own workspace.
Is there a way?

You can do this a few ways.
By file:
For each file you want, in your workspace, select the file -> open the "version browser" -> select the version of the file from the other workspace -> right click -> You can either "Send to Workspace", Patch or Merge.
By Transaction:
Right click on the other users workspace -> Show History -> Select the transaction you want that includes the changes -> Right click -> Send to Workspace -> Pick your destination workspace.

Related

How to do a svn compare between local code base and latest from repository like in Eclipse

In Eclipse, when click Synchronize view it will show up a tree structure of diff comparison from local to svn repo. Click on each file will pop up view to show code diff.
Is there a similar feature in Intellij and how to activate it? I am on latest Intellij Ultimate btw.
Click on the Version Control button on the bottom, click on the Incoming tab. Hit the refresh button (circle with arrows). First time it will ask you if you want to set up automatic refresh. It will then show any changes pending from the repository. You can click on files and get a diff. (You may have to right click on a revision and select "Show Affected Files".)
There is no exact same view in IDEA. See https://youtrack.jetbrains.com/issue/IDEA-119596
You can use Subversion -> Compare to the Latest repository version from a file's context menu.
There is also the Incoming tab that shows changes from the server not yet applied to your working copy. You could invoke Show Diff with local from the Details pane of the Incoming change

Intellij Idea: Override and update local changes

Is there a way to override/replace the local changes from the version controls (like svn, CVS)? In Eclipse, I can right click on the project->team->synchornize.. then it shows all changes comparing to the repository. Then, If I need to override the file, "update and override" option is there. Correspondingly, Is there such a way to replace local changes in a class or a package with one click in IntelliJ Idea?
(I found a way to compare incoming changes, then I had to get one by one changes to my local class files) . I use IntelliJ Idea community edition 15
For single file you can follow below steps :
a) Right click on file
b) Git ---> Show History
c) It will show a window in which you can see the history of changes, select a commit,right click on it. Select Get.
Link : https://intellij-support.jetbrains.com/hc/en-us/community/posts/207743285/comments/207412185
If I understand the question right, I think you need to revert your local changes then update from the remote. You can do this at a class or package level, or on the whole project.
I think it is going to be an two way process.
Revert the changes (Ctrl+Alt+Z).
Update the project (Ctrl+T).
Choose the project(if you have multiple files changed), right click -> GIT -> Compare with branch(select the branch which you want to override your changes) -> it will show the differences it detected -> click "Get" icon, it prompts "Some files were locally modified" -> choose "Overwrite Modified Files"
But sometimes it doesn't work well.
Another simple but dangerous way is to use git command:
git fetch --all
git reset --hard origin/master
(Then all your local change will be lost)

Accurev: change package merge required

I've got a workspace backed to my collaboration stream (CS), the CS has a parent stream (Parent).
In my workspace I changed a file with version Parent/1 and then promoted it to the collaboration stream some times. Its version became CS/2.
Then I got an update from the Parent and found that I don't need to keep my changes in that file and purged it on the CS. Its version became "CS/2*" on the CS and "Parent/2" in my workspace.
Now I'm trying to make some changes in the file in my workspace and promote it to the CS again, but I've got the message "change package merge required" for the file.
If I understand correctly, it can't be promoted due to the file version in my workspace is not derived from CS/2. How can I resolve the issue and promote new changes to the CS?
P.S. Moreover I have a pack of such files - about 70 files. How can I resolve the problem for the whole pack of files?
Open the issue you are associating your promotion with.
Click on Changes tab.
Select the file from the list in changes tab.
Right click -> Remove.
Now promote using this issue.
the only way that i have found to fix this is to use the "send to>issue (specifying ancestor)" command from the version browser tree.
open accurev
view>view streams (pick your depot)
click the "active issues" icon in the upper-right corner
click the "show active issues" icon under the problem stream
right-click>"send to change palatte" on the source issue
right-click>"browse versions" on the problem file
select "everything" in the "show" dropdown
right-click>"send to">"issue (specifying basis)" on the latest version in the current stream
click on the earliest ancestor (this should be a common ancestor of all versions)
enter the target ticket number and click "ok"
these steps should work for any source/target issue, even "unaffiliated" changes. technically, you shouldn't have to "show everything" and choose the oldest version. you really just need to get back to a common ancestor.

Accurev: Cannot remove workspace/stream

I'm trying to remove a workspace (or clone it to look like the parent, but I can't seem to do either). When I try, however, I get this message: Cannot remove workspace test_workspace, because it has a non-empty default group.
From what I've read, it means that there are active files (as shown by the 3 little green dots to the right of stream). I've tried everything to get those to go away but they just seem to stick around and therefore result in me being unable to remove the stream.
Alternatively, I could completely wipe out the stream and replace with the parent version, but I can't seem to do that either.
Any help would be greatly appreciated.
You need to purge the active files in this workspace.
Open the workspace and click on the "Default Group" filter -> select the files -> right click -> revert to backed.
If no files appear in the "Default Group" filter, click on the stranded filter and do the same as above to revert those files.
If you are using AccuRev 6.x, click on the outgoing mode and click on "Member" and "Stranded" to get a list of the active files.
Once you have done that, you can remove the workspace.
Similar problem here, fixed it following #jstanley's comment.
Open Workspace-> select it-> right click-> Edit.
In that prompt, I set the Location path to where I wanted it to put it on my local machine. For some reason, it was unable to "create a folder" and threw errors, so make sure Append Workspace name is unchecked and you select a folder that already exists.
It then populated the folder on my local machine attached to the workspace. And revert to basis worked, so afterwards I could remove the workspace and delete the folder.

How to download a specific version of the code from RTC?

In SVN we have one option to download code on a particular revision. This provides the flexibility to download code on old revision also for build.
Is there a option in RTC to download a code on particular revision?
Yes: once you have done a repo workspace on a stream (where that old version was baselined), you can select a component (in the components section of your workspace), and click on "Replace with".
You can then chose the baseline you want to see, and it will be downloaded if you have a local workspace or sandbox in place.
Simply don't "deliver" to the stream, or you would replace the most recent baseline by an old one.
For setting a file to an older version, it is a bit manual (as in this thread):
Right click on the file in the change set, and select "show history" (or if the file is in an editor, right click on the editor and select "Team -> Show_History). That will open the History view on the file, form which you can select the version you want.
SOLVED! 🚀
The only thing that worked for me was:
.
On your workspace's tab [Pending Changes] -> RightClick on the component that you want to get file(s) back -> [Show] -> [History]
RightClick on the "PackOfChanges" that has your wanted file(s) -> [Revert]
.
PS: It won't actually revert your actual project state to that day, and won't undo that "commit". The only thing that it does is showing on your workspace's tab [Pending Changes] all the diferences between that day and you actual code, and in every file(s) that you want back you:
"DoubleClick" the file that you want back that was showed by revert, and an Editor will appear with the diferences between you file's actual code and it self on that day, and you pass all the code from the right to the left.
After it's done, on your workspace's tab [Pending Changes], RightClick on the RevertPackage -> Remove
.
Have a nice day! 😄