public Path getRevisionInfo(long timestamp)
	{
		// Get the revision in question
		DbConnection db = DbConnection.getInstance();
		RevisionInfo revision = db.getSpecificRevision(file, timestamp);
		Path pathToTempFile = null;
		PrintWriter output = null;

		// Figure out the extension. However, we only add the period (making it a "real" extension)
		// if there actually was an extension (since splitting on periods will return a size 1 array
		// if there are no periods)
		String[] fileNameSplit = file.getFileName().toString().split("\\.");
		String extension = fileNameSplit[fileNameSplit.length - 1];
		if(fileNameSplit.length > 1)
		{
			extension = "." + extension;
		}

		try
		{
			// Create a temporary file for the revision
			pathToTempFile = Files.createTempFile("revision", "." + extension);

			// Write the diff or binary content to that temp file
			if(revision.diff != null)
			{
				Files.write(pathToTempFile, revision.diff.getBytes());
			}
			else
			{
				Files.write(pathToTempFile, revision.binary);
			}

			logger.info("Created temporary file at " + pathToTempFile.toString() + " for revision "
					+ file.toString() + " (" + timestamp + ")");
		}
		catch(IOException e)
		{
			Errors.nonfatalError("Could not create temporary file for revision.", e);
		}
		finally
		{
			if(output != null)
			{
				output.close();
			}
		}

		return pathToTempFile;
	}