Console Upload FAQ

Avatar
written by Robin Luckey
sep 10 2008

What is the console upload service?
Where is the upload server?
What is my upload server login name?
What is my password?
How do I give you my SSH public key?
I'm trying to use ssh but it's not working!
Where do I put my files?
The project directory doesn't exist!
I uploaded my files, but Ohloh isn't doing anything!
What is an "instruct" file?
What is the format of an instruct file?
Where should I upload my instruct file?
What happens to my instruct file after it is processed?
Something went wrong. How can I see my error messages?
Why is Ohloh rejecting my upload? Why do I see a 422 error?



What is the console upload service?

In addition to Web-based interactive file upload, Ohloh supports automated upload using the scp and sftp tools. This allows you to build a script to automatically upload your files and enter package and release data to Ohloh.

You can also use any GUI application that implements the sftp protocol.

Where is the upload server?

The upload server is at upload.ohloh.net.

What is my upload server login name?

Your server login name is that same as your Ohloh account login, converted to all lower case. For example, if your Ohloh account login is 'Robin', then your upload server login is 'robin'.

What is my upload server password?

There are no passwords on the upload server. You can only log in using an SSH key pair. If you are prompted for a password, this either means that your upload account has not yet been created, or that your SSH key pair is not configured properly.

How do I give you my SSH public key?

Enter your SSH public key on your account profile edit page.

If you need help creating an SSH key, there is an excellent guide at Github.

After you supply us with your SSH public key, it will take about 5 minutes for your account to be enabled on our upload server.

I'm trying to use `ssh` but it's not working!

The upload server allows only scp and sftp connections. You must use one of these tools, or a GUI application that implements sftp.

Where do I put my files?

Upload your files to <account-login>@upload.ohloh.net:<project-name>/files. For example, using Linux or OS X you might transfer a file called 'setup.exe' like this:

scp setup.exe myname@upload.ohloh.net:myproject/files
The project directory doesn't exist!

Make sure that you are a manager for this project.

The project directory name will be the same as the project 'url name' converted to all lower case. The 'url name' is the same name used in the browser address bar when viewing the project on the Ohloh website.

I uploaded my files, but Ohloh isn't doing anything!

Make sure you upload an instruct file that includes the named file. Ohloh will not process your uploaded files until you submit an instruct file. Also, it may take several minutes before changes on the upload server will be visible on the Ohloh website.

What is an "instruct" file?

An instruct file is a special XML file that provides package and release data about your uploaded files. Ohloh will not process your uploaded files until you provide an instruct file that references the uploaded files.

You should upload the instruct file as the last step of your upload, after all of your files are ready.

What is the format of an instruct file?

An instruct file is an XML file, and it must be named with extension '.xml'. You can use instruct.xsd to validate your instruct file before you upload it.

Here's an example instruct file:

<packages>
  <package name="Source Code">
    <releases>
      <release name="1.0.0">
        <files>
          <file name="myproject-1.0.0.tar.gz"/>
          <file name="myproject-1.0.0.zip"/>
        </files>
      </release>
    </releases>
  </package>
</packages>

You can list as many packages, releases, and files as you like. If these packages and releases do not already exist on the Ohloh website, they will be created.

Where should I upload my instruct file?

There is a special directory just for instruct files. Do not put them in the same directory as your uploaded project files.

Instruct files should be uploaded to <account-login>@upload.ohloh.net:<project-name>/instructs. For example, using Linux or OS X you might transfer a file called 'sample.xml' like this:

scp sample.xml myname@upload.ohloh.net:myproject/instructs

You can use any filename you like, as long as it ends with '.xml'.

What happens to my instruct file after it is processed?

After your instruct file is successfully processed, it is renamed to have extension '.done'. After several weeks it will eventually be deleted. If you would like to reprocess the file for some reason, you can rename it to '.xml'.

If your instruct file cannot be processed because of syntax errors, missing files, or an internal Ohloh problem, it will be renamed to have extension '.fail'. After several weeks it will be deleted. You can rename the file to have extension '.xml' to have it reprocessed.

Something went wrong. How can I see my error messages?

A log is maintained at <account-login>@upload.ohloh.net:<project-name>/logs/upload.log.

You can download this log file to see a history of this project.

Why is Ohloh rejecting my upload? Why do I see a 422 error?

If your instructs are failing and you see a 422 Unprocessable Entity error in the log, it's likely that you are trying to re-upload an existing file. Ohloh requires that every project upload have a unique name. You cannot re-upload new bits on top of an existing filename.