Local history/revision of files in Xcode

Aasim Naseem 15

Hello friends ..

hope things are going good on your desk ..

Last night I was going through my tweets, and there I found something really interesting; I crawled it for few minutes and after reading some blog posts I came to know about a very useful but hidden feature that I always miss in Xcode .i.e. local history/revision of your code files; (What!! what did you say!!! Say again )

Surprised !! Ya its natural; I was too when I first tested this feature; Oliver Drobnik first highlighted this feature in his blog post here after discussing with some Apple engineer. Infact Xcode autosaves the versions of all of your code files you created inside your project; (oh waoo, why I did never know this before? That sounds great) You can view those revisions with respect to their time, compare them and can revert any file to your desire revision; You can even delete a revision to cleanup version history; (man, enough; I can’t wait more, Tell me where is that option? File menu, edit, project? in which menu? )

Well, unlike eclipse (a well know editor to develop java based applications) Xcode doesn’t provide any viewer to view those revisions; (What!! are you in your senses!! No viewer? Then why the Xcode saves those revisions if it doesn’t allow us to view them? No man you are kidding han!!) No, I’m not kidding, its true; Xcode doesn’t provide any viewer to view those revisions; The questions why Xcode saves them, is still unanswered to me; But hold your breath, there is always a back door to step into home; (: We shall use TextEdit application to view and restore those revisions; (TextEdit application!!! Man you know what, too many surprises in a row are injurious to health; Take care of me bro please) 

To view the revision of any file, open it in TextEdit and chose File -> Revert Document option; You will see the current version and all previous revisions side by side as shown in below screenshot;

click to enlarge
click to enlarge

I think the layout is pretty self descriptive; Select the revision from timeline at right and Restore it; To delete any revision just click the file name in title bar and select Delete Revision option; (Yess, its showing me complete history, from the day when I created this file; Thumbs up bro, +1)

Usage: Sometimes when you are working on a module or fixing a bug, soon you feel that you have messed up all the code; Even the previously implemented thing are not working now; You try to undo your changes but you aren’t sure  what was the stable state of your code; Don’t worry; Just take a sip of coke and revert your code; Simple enough; You can do it by reverting your code to, let say, the code of 2 hours before, or the code state at day end of yesterday;

Smiling han!!! You should; (:
Happy development;

Next Step: File a feature request at Apple development forum to add viewer to view, compare and restore the revisions; (Ya they should add such viewer inside the Xcode; I’m gone add my ticket there)

Flag Counter

Comments 15

  1. literally a LIFESAVER, git reset –hard had almost lost me hours of work and nothing had been helping, until I tried this. Thanks so much.

  2. Dude, you saved my life !!!!!!! I lost some important code in XCode, but now it’s restored ! thank you so much !

  3. you’re in point of fact a just right webmaster. The site loading pace is incredible. It sort of feels that you’re doing any unique trick. In addition, The contents are a masterpiece. you have done a wonderful process on this subject!

Leave a Reply

Your email address will not be published.