How to Make A Repository (for GetIt)

Note: 3rd Party Repositories require AppSnap. If you don't have at least v1.3.1, install it now.

Intro
Hosting your own repository allows you to help yourself and your community, by making it possible to install more applications via GetIt (which will then inject it into AppSnap and index it).
When a user adds a repository, they get easy-install-access to more applications. If your favorite applications are not yet in GetIt, there is a simple solution: Go make a repository that has them! :)


What does a Repository file look like?
Theoretically, this depends on which app-getting engine you are using. Right now, only AppSnap supports this feature, so the choice is easy.

There are lots of examples for what an AppSnap Repository looks like. For example:
All these are fine choices for examples. Perhaps the shortest you want to look at (the one that will most resemble what you will end up with) is the last one. That one indexes only Puchisoft software (GetIt, SmileyHouse,...). But for the best commentary and help, you should look at the first one, AppSnap's db.ini.
The author has provided many examples and help, including info on how to auto-install any NSIS or InnoSetup-made installers.

For online help with making AppSnap format databases, see http://appsnap.genotrance.com/#%5B%5BAppSnap%20Database%5D%5D


Step 1: Make your Repository.ini (and Test it)
Using the above information, you have now written your Repository.ini (if you need more help, try the forum).
Save it somewhere on your hard drive.

Now to Test it:
Overwriting userdb.ini will cause you to lose other 3rd Party Repository info. To get it back, just run "getit.exe updatedb" or "Update Databases" from the GUI.


Step 2: Host your Repository.ini 
That's basically it. That is, unless you want to do just a little bit more, and be make it really easy for users to add your repository.
Read on, if so. Otherwise, just tell people the URL of your repository.

Step 3: Make your AddRepository.git (and Test it)
This is a feature that was added in 0.30 of GetIt. To make it really easy for people to add a repository, files exist, that when opened, will allow users to Add your Repository in one click.
Example: Click Here to see an Example, allowing you to Add some Repositories

Cool, huh? There are two things that make this work:
  1. This URL ( getit://http://puchisoft.com/GetIt/AddRepositories_example.git ) is just the URL (starting with HTTP) of a special GIT file, plus getit:// in front, to call GetIt to open this link up
  2. The special GIT file, with Repository link information inside
So here is how to make a GIT file of this nature:
For this example, your AddRepository.git looks like so:
[GIT]
MinVer=31
Type=Repositories
[Repositories]
0=AppSnap"http://www.repositoryland.com/Repository.ini"

When you are done editing, save the .git file, and try running it (double click it). You should see an "Add Repository?" dialog with your URL. :)

Step 4: Host your AddRepository.git
Upload this file right next to your Repository.ini (or anywhere really, it doesn't matter). Then all you have to do is link to it.

You don't have to use the getit:// format. The only difference is that if you don't link to it that way, the user will be asked to Save or Open the .git file (or they might even have to Right-click and do Save-as). Then when the user finally opens the .git file, they see the "Add Repository?" dialog just the same.

If you do use the getit:// url format, the "Add Repository?" dialog will pop up with only one click (after the first time the user allows the protocol).

So once you updated your AddRepository.git, you will have a URL like:  
http://www.repositoryland.com/AddRepository.git
To use the getit:// url format, just pre-append getit:// to your URL, like so: getit://
http://www.repositoryland.com/AddRepository.git

Get a feel for the difference:
http://puchisoft.com/GetIt/AddRepositories_example.git
getit://http://puchisoft.com/GetIt/AddRepositories_example.git

That is all! Now go on and make your repository! :)