How to "Version" Your Xcode Code - objective-c

Sometimes I did some mistake. After that I made some bug and for some reason the program won't run. I want to go back to previous version. How would I do that?

In xCode 4 you can create a local git repository on creating a project. Look here.
If you are not using xCode 4, you can use external tools for git or svn. Just google for it, you will find a lot of solutions!

You need to use a revision control system. This is a big topic, so start by reading the Wikipedia page.
Xcode has support for a few revision control systems. This question discusses most of them, but git support wasn't available back then (although, personally, I have an irrational hatred of git).

Related

How to install previous releases of wix toolset

I am sorry for this stupid question, but I really need to install version 3.9 of the Wix Toolset. I can only find version 3.10 and 3.11. There is a link on the website to download older archives (also for 3.9rc2), but in this 1.2Gb file I cannot find an installer.
Please do not tell me to install the latest version, I have my own reasons for 3.9 that goes beyond the scope of this question. Any help is truely appreciated.
I should leave this for the WiX guys to answer, but maybe you are very busy and just need to test something?
Building it yourself from the sources isn't an option is it? https://github.com/wixtoolset/wix3/releases (towards the bottom, click the blue image - it says "Show 5 other tags" here). Sounds painful to work that out...
The 3.9 binaries seem to be here (looks like R1): https://github.com/continuoustests/ContinuousTests/tree/master/Installer/ContinuousTests.WixInstaller/wix39-binaries, but not as an installer file. Maybe you just need to test something quickly? If so, obviously please accept your own risk here, I am not sure what these files really are.
I hope I haven't linked to something that is problematic, just delete the whole answer if this should be the case (i.e the binaries pointed to should not ever be used - for some reason, etc...).
I recently had a need to get the old wix38.exe installer for legacy project maintenance, and it was a pain. Tom Blodget's comment above was the key on how to find the required file from the CodePlex archive.
Because there are likely to be other people in the future who require access to these things, I've created a github repository https://github.com/CasaDeRobison/wixtoolset-codeplex that includes the state of the git repository from the CodePlex archive and also makes available the various files from those releases at https://github.com/CasaDeRobison/wixtoolset-codeplex/tree/master/archived-stable-versions
Hopefully others will find this useful as well so that we don't all have to collectively puzzle this out if we have a need for this older software.

how to add latest webrtc sources to android project?

So, there is existing webrtc project, that runs on latest libjingle(25dec 2015). And now, for support purpose, I need to update current version to latest from webrtc repo. How can I do that? I see there java files with c++ with headers in separate folders, have no idea what is going on there, even where files that I actually need, and how to implement that source to project. Is there any in-depth guide for that? Have anyone faced this problem before?
WebRTC's project structure have changed a lot since last year. They are deprecating GYP in favor of GN, it is highly recommended to start from the beginning.
You can read the compilation guide for Android there: https://webrtc.org/native-code/android

What's the recommended way to get the latest sakai code to test against?

My standard route has been to go to confluence, find the docs sections, then navigate through to the install docs for the version, e.g. sakai 10:
https://confluence.sakaiproject.org/x/iYGLBQ
Through one means or another I happened across the source route to this too, so starting here....
http://source.sakaiproject.org/release/
You get redirected to the latest stuff, and appended version numbers to that url gives you other docs, e.g. adding 2.8.2 or 10 to the end of the url
But the links to what I should download are quite often not there, at the time of writing the 10 tar ball and zip in the confluence links are dead and the source.sakaiproject links doesn't have the 10 docs yet (redirects to 2.9.3) presumably this is because v10 is not released yet....
So, I'd like to evaluate a new version of a sakai source install, what's the best way to do this? (considering the official documentation for install is still being formed)
Do I download the latest SVN, or the latest RC or the latest beta or??? How do I know what's best to test against without being "too" bleeding edge? Is there a recommended tar ball/zip link to test against? Is there a "latest good" SVN branch?
The latest code is always in the Sakai trunk (currently svn):
https://source.sakaiproject.org/svn/sakai/trunk/
That code may very well not be stable though as it is where things are being actively developed. If you are not actively developing then you should stick to the releases as indicated on the project website here:
http://sakaiproject.org/current-release
If you want to use something in between (say an upcoming release) then you can grab the most recent tag or maybe use a recent branch (both currently in svn, latest shown below at the time I write this):
https://source.sakaiproject.org/svn/sakai/branches/sakai-10.x/
https://source.sakaiproject.org/svn/sakai/tags/sakai-10-rc02/
The reality of the situation is that if you want to use something other than the release then you should really participate in the dev community for Sakai. Joining the mailing lists and the weekly calls will provide the information you are asking about and much more.

AccuRev - promoting quicker projects past larger ones

I feel like I'm experiencing a common problem, but I wasn't able to find anyone asking about it.
As the title indicates, we're forced to use AccuRev for SCM. We have our development stream under our QA stream. Let's say we're working on a big project that will be in QA for weeks before being released (we're following a scrum strategy). In the meantime, there's a bug fix that needs to go out before this big project. The problem is the bug fix affects some of the same files the big project uses. How would I get my files from development to production, without bringing the big project with me?
Sorry, I hope that makes sense!
Thanks!
If you are using the change package feature in AccuRev, you can select that issue and just promote those changes into the production stream.
Otherwise, you will need to determine the promote transaction(s) of the of the bug you fixed in development and change palette those fixes into production.
I think I found a solution that will work for us.
I plan on creating a snapshot off of the development stream after each successful deployment to production. Bug fixes/smaller projects will work off of this snapshot. That way I can keep anything I'm currently working on in DEV from getting inherited into my bug fix. When I'm ready to deploy my bug fix, I'll create another snapshot and re-parent my big project there. Then I'll revert the change package in QA and development, re-parent my bug fix to development, and promote as normal.
It's a slightly modified version of what's explained in this article: https://accurev.wordpress.com/2008/03/27/pattern-for-stable-development/

Online xcode project (Working together)

I was wondering if Xcode has any possibilities to work on an xcode project from a server.
Like working together on the same xcode project with two people? Kinda like dreamweaver has the possibility to connect to ftp... Would come quite handy.
Didn't found anything on this on stackoverflow or google...
Thnx!
It has SCM support (CVS, Subversion and Perforce). This is the only way to work on the same project I guess.
I work with remote developers and we use either git or svn. Xcode does integrate with repositories but it's not necessary as you can achieve the same thing from the command line.
Using source control will allow multiple developers to work on a single project together. Both git and svn will merge files.
No, Apple has not provided this in the Xcode software. Nor is there any rumors on implementing this, it would be a nice feature but since Apple also doesn't allow plugins for Xcode we have to wait for Apple to add this ability to the software. This would be a really neat feature, but it could be a long time before we see this.
You can use GIT (http://git-scm.com/) and use a remote repository, like dropbox o github.
On XCODE4 you can use git, with out any additional plugin