[HTC EVO 3D] LiquidSolstice:
[Guide][Windows][UPDATED 12/31/11] Use SVN to download Synergy & Other ROM Nightlies

New SVN Users, start reading from here!

As promised, I'm posting this graphical guide up for those who wish to use SVN in order to obtain nightly builds of ROMs and all other items that utilize SVN for distribution. As always, my guides are meant for the completely clueless, and come with screenshots for help :)

First of all. Let's start with the big question.

What is SVN, and why do I care?

SVN is actually not an acronym for anything. "SVN" is the command line phrase that triggers a system called "Subversion", but no one wants to type out Subversion every time they want to refer to svn :P. Long story short, it allows for simple distribution of computer software/ROMs/etc with methodical updating that can be rolled back at any time. It may sound intimidating, but I'll be making it

quite

easy for you to understand, and ultimately, you'll find it quite useful. Don't get intimidated or freaked out. A few days ago, I had never used SVN either, but now it's a piece of cake!

Well, uh, that sounds interesting, but seriously, why do I care?

Well, you should. Let's take our Sense-based ROMs, for instance. They're all roughly 300+ MB (maybe less for the Sense-stripped ROMs).

Doesn't it suck to have to download a new 300+MB zip file each time there's a small fix that you really want to get to?

What if I told you, that using SVN, you only have to download the select files that the ROM devs have updated, which tends to be a fraction of the size, rather than download a full massive zip of the ROM each time? That instead of downloading 300 MB, you'd only have to download 30 to get a bunch of fixes and updates? What if I also told you that you can revert changes which broke your previous setup with ease? Sounds good? Great! Let's get started!

Stuff You'll Be Needing

Tortoise SVN (Free and Open Source)

WinRAR (7zip will work just fine as well)

A Windows PC (XP or higher)

An SVN Link Checkout Link*

A few minutes of time, and a relaxed mind ;)

*What is this? An SVN checkout link is the link that your ROM dev or software author will provide you. It tells Tortoise SVN where to get all those yummy files. For the sake of our example, we will be using the Synergy ROM, which is developed using Google Code. Google Code provides automatic SVN links for those who know how to use it. Read on to understand more.

BOLDED Text - These are folder locations.

Red Underlined/Bolded Text

- These are hyperlinks.

Blue Bolded Text - These are bonus tidbits that may or may not appeal to you.

Step 1: Install Tortoise SVN

This is pretty straight-forward, simply

download the correct installer

for your PC (32 or 64).

Step 2: Create the proper folder structure

So then, you don't HAVE to do it this way, but this is how I do it, and will keep your organized.

Start by making a folder called Evo 3D, anywhere on your computer. (I keep mine inside my My Documents Folder).

Inside it, create two more folders. Because the ROM we are downloading for our example is Synergy, we will title it synergy-evo3d and the other one Current. You may change the title of the first folder accordingly based on what ROM you're downloading it. It doesn't matter what you call it, as long as you know what it is. In the screenshots of this post, all screenshots show the folder titled synergy-evo3d, so if you're downloading a different ROM, mentally replace that name with the name of your ROM in each screenshot ;)

Step 3: Start Downloading!

Now that we have our folders set up, let's be clear about which folder is for what. The synergy-evo3d folder is meant as your "cooking pot". You will update your ROM and revert your ROM from there, much in the same way you'd add more and more spices and ingredients to your cooking pot.

Once you have updated or reverted the ROM, you then will export that updated content into your Current folder, which will end up being the zip you flash to your phone. If this doesn't make sense right now, fear not. I'll explain when we get to that step and why we do it this way.

So let's start the downloading process, because this will take some time.

Part 1: Download

Right-click on the synergy-evo3d folder.

Click on SVN Checkout. The following dialog will pop up.

Now, we need the link of the repository. The developer of your ROM/software will provide this for you, you simply need to ask, or look below for a list of SVN Checkout links for SVN-based ROMs.

If you are downloading Synergy ROM, we can find it at their Google Code site

here

. If you are NOT downloading Synergy ROM, please see the top of this post for the most recently updated list of trunk links.

When you're on that page, select ONLY the shown part of the URL:

We don't want the "svn checkout" part or the "synergy-evo3d-read-only" part. Also, we don't want the last "/" in the URL either.

Remember, if you're not downloading Synergy, look at the top of this post for all recently updated SVN trunk links!

Paste the link of your ROM of choice back into our Tortoise SVN window, and press "OK".

Now begins the downloading process. It will download the proper folder structure. Just sit back, and let it do it's thing. It can take anywhere from 5-10 minutes to an hour and a half, depending on your internet connection. If you have a slower connection, don't worry. Bite the bullet once with this, and then you'll see the beauty of SVN.

Once it finishes, we're left with the completed folder! You'll notice there's now a green checkmark on it, signifying that it's our SVN folder and it has been properly synced:

If we open this folder, we see the following:

Congrats! We synced it properly. Now, here's the thing. Each one of those folders you see contain a hidden .svn folder, which Tortoise SVN uses to keep track of the version numbers whatnot. Therefore, if you zipped up all the files you see right now, you'd have a massive ZIP file full of unneeded files, and it might also malfunction/not flash on your device. This is where we use the "Export" command.

Part 2: Export, Zip, and Flash!

So, to ensure we don't copy any of the .svn folders that are unneeded for our ROM zip, we will use the Export command. This is where we will use the Current folder we created earlier.

Start by right-clicking synergy-evo3d, go to Tortoise SVN, and find "Export".

This dialog will pop up, asking you where to export. Navigate to our EVO 3D folder, and then click on our Current folder.

Click OK. It will begin exporting:

Once it is finished, it will create a synergy-evo3d folder inside the Current folder. If you see green checkmarks on any of these items, you're looking in the wrong location. You need to be looking at EVO 3D/Current/synergy-evo3d

Open it up, and voila! There's our ROM package!

BONUS: From this point on, you can customize the ROM before we zip it up. Stuff in the system/app folder you want to remove? Go on, get rid of it now! Or perhaps you want to add in your own Ringtones now? Do it :)

Once you've made any personal changes you want (or none, if you want to just flash it as is), highlight all of the files, and click "Add to archive".

This window appears. You've probably seen it before if you've ever zipped anything up.

First and foremost, make sure you select the format to be "zip" and not the default "rar".

Then, pick your level of compression. The idea is simple. if you go as simple as "Store", your file will zip up in seconds, but the finishing zip will be large (in my case, roughly 550MB). If you choose to take the "Best" compression level, it will takea few more minutes (depending on your computer) and can be as small as 330 MB. (That's of course approximate, different people may have different sizes depending on what they remove or don't remove).

Finally, name it what you want, and click OK!

When that's all done? Take the zip, put it on your phone's SD card, and flash that thing. :) Enjoy!

But wait, Liquid, you said we could update without downloading each time!

Yes, I did. That will be the next post, scroll down!