[HTC EVO 3D] LiquidSolstice:
Part 3: Updating Incrementally

So then, now that we've gone through all that trouble, we've just discovered that Virus, TrevE and Ziggy, being the crazy developers they are, just added 10 or 15 more changes which you saw

here

. ASDJKHA SLDFKJHS DLKJFHSD KL CURSES!!!!

But this is the fun of SVN ;) Read on.

Go back to your EVO 3D folder. Right click on your synergy-evo3d folder.

Click on it, and it will update ONLY what Virus/TrevE/Ziggy changed. If they removed a file, Tortoise SVN will remove it. If they added a file, Tortoise SVN will add it. And of course, if they edit a file, Tortoise SVN will update that file. When it completes, you'll be told what revision it is at. It may take a few minutes, just be patient :)

You'll notice it only downloaded about 26 MB, and has placed/overwritten/removed all files accordingly. It also states that I am now properly at Revision # 259.

BONUS: Want to see what was updated and why it was updated? Simply click "Show Log" to get to THIS window:

[*]

[*]You'll be able to see all the revisions made since your last update, and you can go farther back in time if you'd like. If you're the kind of guy who presses "Show Details" when installing applications on Windows, play around with this window, you'll find much that is interesting :)

Once it finishes, press OK. Go back to EVO 3D/Current/synergy-evo3d. Ensure it's not your SVN folder by making sure you see no green checkmarks on any of the folders or files. Once you have made sure of this, delete the synergy-evo3d folder completely.

If your previous ROM zip is still in there, either delete it too or move it somewhere else. This is to make space/room for the fresh Export we are about to do.

Return to our main EVO 3D folder. Right click, and then export to the Current folder, just like we did the first time. Once it finishes, again, zip it up, just like we did the first time. If you forgot this step, or want to make sure you're doing it right, scroll up to "Part 2: Export, Zip, and Flash!" in post #1.

And that's it! A hell of a lot easier than downloading the ROM over and over, eh? Keep reading, the fun isn't over yet.

Part 4: Reverting To Previous Builds

So then. This is the nature of the beast known as the "nightly" build. A revision has gone in and borked your setup. Maybe it's killed off your battery life, maybe it changed something visual you don't like, maybe it removed an app that you preferred to have in the ROM. Your reasons may vary, but it doesn't matter. You can revert to a working version very easily.

Heads up! This can get a bit hairy depending on what you want to do. There's recommended strategies, and then there's things I wouldn't recommend. Read on to learn more.

Alright then, let's begin.

Remember that "Show Log" button we hit earlier when upgrading? We want to go back there now. Right click on your SVN folder, and click on "Show Log".

Then, this window will pop up. It's a catalog of all the changes made. You can control by many different factors. Let's start by finding the timeframe of the revision you want to go back to. Then, from there, you'll notice there's a search box.

So there's two scenarios here.

One, you already know what build number you want to revert to, in which case, scroll down until you find the right revisions.

Two, you're not entirely sure what revision you want, but you remember the changelog comment. For instance, let's say I'm having issues with the kernel. To see all the changelog comments that contain the word "kernel", I type "kernel" into the search box and press Enter:

Or we could go even more detailed.

Let's say you're a Themer, and you're trying to find a certain framework-res.apk that was modified at some point to ensure your theme still works or to redo your theme.

Simple! We just type "framework-res.apk" into the searchbox, and we press enter.

As you can see, it is showing me every single change that modified the file "framework-res.apk".

For the sake of keeping it simple for this guide, I theoretically want to find all changes related to the "overscroll" effect. So I type it in, pick the revision I want, and then I right click it.

~~~ STOP.~~~

This is where you need to stop and think about what you're doing. As you can see, you have two options in the screenshot above. You can revert to that revision, or you can revert changes from that revision. There is a HUGE difference between the two, and there is a list of things you need to remember before you pick which one to do.

Use Revert To Revision (Recommended)

This will revert ALL changes since the revision you clicked on. If you are on Revision 296 and want to revert to Revision 260, ALL revisions between 261 and 296 will be reversed. If something was added, it will be deleted. Modified files will be restored to what they were in 260. Removed files will be readded to where they were as of build 260.

Use this Option ONLY if:

The latest revision has wrecked a key part of your phone, such as the mobile network, the 4G, the battery, MMS, etc etc, and you need said functions working asap.

You want to revert to a revision that you feel simply worked better, and you will stick with that revision until the changelog reflects that your complaints have been addressed.

It's simply a temporary deal while you wait out the process of more fixes being added.

Use Revert Changes From Revision (Not Recommended)

This will revert a SINGLE revision's changes only. For instance, if you are on revision 290, and there was a change in Revision 260 you liked better than the one in 290, it will only take that single change from 260 and "inject" it into your current 290 build. If this sounds too complicated to you, DO NOT DO IT. Read the NOTE at the end of this section to understand why.

Use this Option ONLY if:

You are an advanced developer, and you're interested in figuring out what changes Team Synergy made to what, and how it affects the items around it.

You are a ROM themer, and you need access to previous files to troubleshoot your theme as you upgrade it.

You are an advanced user and you are trying to troubleshoot how one file that Team Synergy changed is affecting your programs/development/mods etc.

~~~Continue.~~~

Decide which one suits you (most likely the first option), and click Yes when it asks you to confirm. It will finish reverting the changes (it calls this "reverse-merging")

Once it completes, follow the steps to Re-Export, and Flash!

NOTE:

Using SVN Revert is a tricky thing. For now, as far as what I've guided you to know, SVN is only a TEMPORARY solution. And it can also be a problematic one. Why? Because you'll still want to update to a new build, right? No matter which option you chose above, using SVN update will overwrite any revisions Reverts that you have done before. This will get to be a problem if you try to keep reverting back to a version you prefer. The more and more you cherry-pick which changes you want to keep, the more and more unstable you may make the ROM. You might also miss out on new features; say that the ROM's framework-res.apk was updated with some new features as of revision 290, but you're still using the framework-res.apk from build 260. You won't be able to get any of those new features. It gets worse when you get to System files. What if you chose to keep a reverted apk, and in a new build, it gets overwritten? If you keep your old apk, and newer builds have dependencies on that apk, you'll run into errors, because the system will not find the apk it's looking for, it will find your old one.

Essentially, the best place to get ROM fixes is straight from the Devs. Use SVN Revert ONLY as a temporary solution until they fix it!

There's plenty more coming, but I'm tired of this thread again, stay tuned. I'll add some more helpful tips later on ;)

Well guys, that's it for the guide for now. As always, I do my best to make sure you have the easiest and clearest guides to go by, because XDA is about the more knowledgeable spreading their knowledge to the less. Enjoy, and most importantly, spread what you learned here to other people that use SVN. They may not be using SVN for ROMs, but the guide is more or less the same as long as they have their own SVN link.