hidos <options> <subcommand> ...


Subcommand commit

Amend digital object contents as a new edition in digital succession.

hidos commit <path_to_contents> <branch_name> <edition_number>

Subcommand create

Create a digital succession.

hidos create --keys <ssh_public_key_file> <new_branch_name>

See the guide to Create Signing Key for instructions on creating an SSH public key file.

A new Digital Succession Identifier (DSI) will be displayed, and the git branch name can be used for further operations. The branch name is not intrinsic to the digital succession and is for convenient identification of successions stored in a git repository.

For testing and trial purposes, you can create an unsigned digital succession:

hidos --unsigned create <new_branch_name>

Read about the --unsigned option for caveats.


You might not like a DSI that you create. Maybe you don't want 0 or O characters, or maybe you don't want l or I characters, because some fonts do not visually distinguish them. Or maybe you don't want - or _ characters. Whatever the reason, every second you can regenerate a new DSI by:

  1. Deleting the just created DSI: git branch -D my_succession
  2. Creating a new DSI: hidos create my_succession

Subcommand dsi

Display the DSI for a specific branch.

hidos dsi <branch_name>

To list all editions along with the SWHID of their binary content, use:

hidos dsi --editions <branch_name>

Subcommand find

Find remote public git repositories based on Digitial Succession Identifier.

hidos find

Find remote git repositories and then add them as remotes to the local git repository.

hidos find --add

Subcommand list

List all digital successions found in a git repository.

hidos list

Both a DSI and branch names will be printed for each digital succession.

Hidos options

Option --unsigned

For evaluation and testing purposes, it is easier to create unsigned digital successions. To do this, use the --unsigned option immediately after hidos on the subcommand line.

hidos --unsigned <subcommand> ...


For long-term public usage, it is necessary for digital successions to be signed. Otherwise, anybody can amend your digital succession once it is public. Use the create subcommand with the --keys option to create a signed digital succession.

Option --git-dir

If your current directory is in a git repository, then Hidos will use it by default if no --git-dir option is given. Alternatively, you can use the --git-dir option to explicitly point to the git repository.

hidos --git-dir <path_to_repo_dir> <subcommand> ...