Quick way to wipe xcode version control history to resolve issues? - xcode8

I've been working on a project for a few months using branches, and branches from branches to allow me to roll back to various points. I realise this may not be best practise!
I tried merging into master and got hundreds of errors so instead removed all branches except the current one. Again that might have been bad.
I'd now like to make the current branch the master but a number of files have version control symbols next to them and will not commit.
I tried Product->Clean but is there a way to effectively say to xcode 'make this the master and track all changes from now'. I don't even mind if I lose the change history.

From this post I was able to work this one out.
Turn off source control: Xcode -> Preferences -> Source Control -
Uncheck 'Enable source control'
Show hidden files in Terminal: "defaults write com.apple.finder AppleShowAllFiles -boolean TRUE; killall Finder"
Remove .svn folders from your project
Hide hidden files again in Terminal: "defaults write com.apple.finder AppleShowAllFiles -boolean FALSE; killall Finder"
Remove project from recent projects list: File -> Open Recent -> Clear Menu
Turn source control back on: Xcode -> Preferences -> Source Control -
Check 'Enable source control'
This effectively restarts version control using the current files as master.

Related

How to set IntelliJ IDEA to keep tabs open even if file is deleted?

I often place my tabs in an order I like, or ctrl-tab to recently used tabs. But then I temporarily checkout a branch in git in which those files are missing, and the tabs automatically disappear. Even in simpler editors such as notepad++, deleted files can be kept open in the editor. Can this be done in IntelliJ IDEA? Thanks.
(There seems to be no such option in the obvious File -> Settings -> Editor -> General -> Editor Tabs)
There is unfortunately no such option.
I typically use ctrl-e key very often, to re-open recently used files.
There is another option you could look at, and that is "restore workspace" configuration on switching branches.
You can try settings -> version control -> Confirmation -> Restore workspace on branch switching and see if that helps.

Disable all svn auto checks in Intellij

I'm not sure if this is an intellij version control or SVN issue, but is there a way to disable all auto subversion / version control update checks in Intellij?
When you click the version control tab at the bottom of the IDE and look at local changes, the lists often say "Updating...".
I want to use subversion, but for huge projects the "updating" in intellij version control sometimes takes a good 10 minutes, and it starts randomly for no reason, even when I have not made changes. I checked the settings and I don't have "check every" or "refresh every" options checked under subversion.
Basically I never want Intellij to stop checking the whole project and server every time I make a small change to a file.
When you click the version control tab at the bottom of the IDE and look at local changes, the lists often say "Updating...".
This means IDE is refreshing the local status of the files to correctly show them in the Local changes and other respective places. It is not related to remote servers.
It could take long because of e.g. huge number of unversioned files in the project. In this case, adding them to svn:ignore should help.

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.

IntelliJ - not asking if I want to save a file

I'm new to the IntelliJ IDE. In the past I was working with Visual Studio or Eclipse.
In those IDEs there was an asterisk * above the name of the file which has been modified.
But in IntelliJ with the default configuration I can't see if the file is modified. What's more the file is saved automatically when I change focus to another window.
I've found some options under Settings -> IDE Settings -> General -> Synchronization:
Synchronize files on frame activation
Save files on frame deactivation
Save files automatically if application is idle for...
After unchecking all that options the file is not saved automatically every time I change focus to another window, which is good. But still I can't:
see if the file is modified (no asterisk)
decide if the file should be saved when I'm closing it (IDE doesn't ask for that)
And when I'm closing IntelliJ file which has been modified is saved without even noticing.
Do you know what can I do to change how IntelliJ behaves?
After unchecking mentioned options go to:
Settings/Editor(IDE Settings)/Editor Tabs:
Check "Mark modified tabs with asterisk"
On 2019.3 Ultimate it's under:
Settings/Editor/General/Editor Tabs:
Mark modified (*)
The exact Save feature like eclipse is not available in IntelliJ.
Because IntelliJ IDEA has the ability to change so many files
simultaneously in large refactoring actions, and change them without
ever opening them, single file saves don't make very much sense. In
recognition of this, IntelliJ IDEA reserves the right to save any of
your files literally whenever it wishes. It's actually quite nice to
never have to worry about your file's save statuses, once you get used
to it.
"What if I don't like some changes I made, and want to roll them
back?", I hear you say. Well, for that IntelliJ IDEA includes this
amazing feature called the Local History. Every time it saves your
files, IntelliJ IDEA actually saves a diff of your file from it's
previous state, and saves that as well. You can see the entire edit
history of your files (going back some number of days), see the
changes you've made, and roll back any change. It rules triumphantly,
and more than makes up for the temporary disorientation caused by lack
of single-file save.
https://intellij-support.jetbrains.com/hc/en-us/community/posts/206336279/comments/207351939
To show an asterisk when a file is modified: open Settings (CTRL+ALT+S), switch to Editor > General > Editor Tabs and select the Mark modified tab with asterisk checkbox.
To remove autosave, uncheck: Appearance & Behavior > System Settings > Save files on frame deactivation