Deleted a change set in eclipse, crisis ensues - eclipse

I wanted to remove a work item association to an outgoing change set and then associate it to a new work item. However, I selected Remove... on the change set to remove the association, but it instead deleted all my code changes. This is bad. Can this be reverted?

Since it is a change set, that means it is a committed set of files.
If you selected "Remove" in the "Related Artifacts / Associate Change Request" dialog box, this shouldn't be an issue.
You always can test and make a second repo workspace, load that second repo workspace in a second local workspace and see if you get the change set back.
You can modify the flow target of your second repo workspace, and make it reference your first repo workspace, to see if you get that same change set in the "incoming" section of the "Pending Changes" view.

Related

SourceTree Won't Show All My Changes

I want to commit my works. But when I want to see what I changed and wrote them into commit message, I saw some of my changes won't show.
What is the problem?
Change The Maximum Lines And Size In Options
Tools > Options > Diff
Change Max Diff Line Count
And
Change Size Limit (Text)
I'm adding this answer as another possible cause of SourceTree "only showing the change history for a single file". This was annoying me for quite a while. No settings changes would display more than one file. THEN, I realised that the commit summary is actually a panel which slides up over the file list. ZOMG.
Make sure your filter is setup correctly:
For me the filter bugged out and while the main text said "Pending files", the dropdown had nothing selected.
Size Update For the latest ScourceTree
ScourceTree -> Preferences -> Diff -> Size limit(text)
Make sure that you copy the last version of your project, the one that you want to commit, to the directory of your repositories that you set for SourceTree. Replace the old project with the new one then open SourceTree
Open SourceTree, click commit, select all the files that you want to commit, which will probably be all the files you see (becuase SourceTree shows the changed files after you click commit).
On the Puush button on the top you'll se a red notification icon which means that you didn't push the last commit. Once you do that, your changes must be visible on BitBucket and SourceTree
Another possible reason:
Make sure Ignore whitespace in the diff view is not enabled.
If it is not a Pending issue or an options issue mentioned above, make sure Mercurial wasn't inadvertently checked if you're using it with Git. It will manifest in a similar way. If so, you're going to need to deinstall & re-install.

Compare changes with latest from repo

Eclipse shows me with the symbol > which files I have modified, after the last repository update. Before commiting, I want to see the changes I made.
When I go right click->Team->Synchronize with repository I get exactly what I want. The problem is, I only get the view for this one file I clicked. I need to change the view back to Java, to be able to chose the next modified file.
Is it possible, to compare all modified files, one by one, with the latest edition from the repository, without changing the view after each file?
Instead of right clicking a specific file, you can right click the entire project and perform the same operation you describe.

ECLIPSE Subclipse: Occasional error with file selection in synchronize view

I am using Eclipse JUNO with the subclipse plugin.
Generally it works quite well. To commit files to the SVN repository you synchronize to check the changes you have made. Select the files you want to commit, add a comment and simply commit it.
Usually the selected files are then properly committed.
However, sometimes the selected files view in the commit window do not correspond to the actually selected files in the synchronize view. Instead it simply indicates all files in the project's file directory.
If you don't notice and commit you end up committing dozens of files/directories you do not want or need to commit.
I have tried all sorts of things to try and make it do that so that I know which chain of actions triggers it so I can avoid it but of course it never does it when you try.
Does anyone have any suggestions as to what might be causing it or experienced the same? It is definitely not that the selected files are no longer selected. I could clearly see that selection still being active on the left hand side synchronization view but still the commit window was showing a full file selection.
Any help/suggestion much appreciated.
I finally figured it out. Whatever file selection you do is overridden by a folder selection at a higher level => if you accidentally mark the project's main folder all files are transferred.
In the end it is Very simple and logical. The only nuisance is that the specific files you selected at a lower level are highlighted in the commit window's file selection view as well so if you look at the view superficially you get the impression only your selected files will be committed.

Return change set from Outgoing to Unresolved

I checked-in some changes by mistake. Now the changes are in the outgoing changes, but I don't want them to deliver. How can I return them back to the unresolved? If I discard them they vanished from my source code and I lost my work.
You can still discard the change set: see this thread.
By discarding the change set, the changes in it will be reversed. This happens to be the addition of the files once the initial share was performed.
(hence the removal of those files)
To avoid this, you can disconnect the project then discard the change set.
(when you disconnect the project, select the option which don't delete the local files)
This kind of behaviour is intended as you would want to discard a change and have your local shared content to reflect the same state as your repository workspace.
You should be able to simply drag & drop files from Outgoing Change Set to Unresolved in the Pending Changes view. Then you can reuse the Change Set for some other changes.
This will work only until you mark the Change Set as Complete.

perforce label does not list files

I created a label using the new label context menu:
I defined the parameters as follows: (unlocked)
Label:
ms_test
Description:
Created by ms
view:
//depot/Projects/Shared/...
//depot/Projects/AddIn/...
The label is created and shown in the label pane but when I select the label and click on the "List files at ms_test" menu item the log message states "Label ms_test points to 0 files".
Any ideas about why the label is not pointing to any files? How can I make this label to work?
thank you in advance.
Note: I have checked that the view paths are correct and there are file contents and subfolders under then.
I am using P4 client version 2006.1.105584 with no filter on the depot and my client is set to client view of the depot
That means no p4 labelsync or p4 tag commands occurred after the p4 label took place.
Did you create the label as described here?
The following instructions apply to the Windows client (P4WIN) only.
Click the label toolbar button to show the labels page.
Make a new label (right-click in the list); Give it a useful description.
Restrict the View to that needed by the project being labelled (See Using Wildcards and - - Excluding Files for examples).
Drag the project files from the depot over to the label;
Select Add/Replace Files Listed in Label… from the popup menu.
Perforce will open a dialog offering to replace the contents of the label.
Click Ok to add the files.
Even if your label currently references no files, you still can sync it with files:
Select the label from the Labels pane
Right-click to bring up the shortcut menu
Select Sync specific files to bring up a sync dialog
Click Select All
Click Ok
I suspect VonC's answer is pointing in the right direction. On a sidenote, it is worth pointing out that Perforce Labels are badly named and work very very differntly to Labels in virtually any other SCM system.
From the Docs
A Perforce label is a set of tagged file revisions. You can use labels to reproduce the state of these files within a client workspace.
Labels provide a method of naming important sets of file revisions for future reference. For example, you might want to tag the file revisions that compose a particular release with the label release2.0.1. At a later time, you can retrieve all the tagged revisions into a client workspace by syncing the workspace to the label.
Create a label when you want to:
keep track of all the file revisions contained in a particular release of software,
distribute a particular set of file revisions to other users, or
branch from a known set of file revisions.
Essentially what this goobledygook means is that whereas most people use Labels to do exactly what a Changelist number does (eg. Mark a particular point in time) it infact marks the set of files currently synced to in a particular client. This is a bizarre quirk of Perforce and possibly the worst design decision they made in an otherwise wonderful product.
You are probably better off taking note of the changelist number you want (generally the latest at a point in time) and the paths you wish to sync to , that is all the information you need to sync to a point in time.
As of Perforce 2010.1, the correct way to do this is using automatic labels, which are really just a way to name a changelist.