OpenBSD Journal

Game of Trees 0.98 released

Contributed by Peter N. M. Hansteen on from the are these all trees dept.

The version control system gameoftrees 0.98 has been released and should soon show up in OpenBSD -current packages. An update for the -portable version will follow as well.

The main improvements in the new release are listed in the release notes as

- speed up got tag -l by caching timestamps in got_ref_cmp_tags()
- provide a macro for vi(1) path for use by -portable at compile time
- avoid a rename/stat race when gotd installs a new pack and then uses it
- make 'got ref -l' output consistent when packed references exist
- make 'got ref -l' work consistently when a reference argument is given
- add initial support for notifications to gotd(8), via email and http/json
- display process title in syslog when a gotd child process exits
- hide a pointless end-of-file error on imsg pipe in libexec helpers
- plug a memory leak in 'got blame'
- add support for topological sorting to the commit graph
- add log -t option which enables topological sorting of commits
- make 'got rebase' find a merge base with topological sorting if needed
- call unveil(2) earlier during import, commit, histedit, and tag commands
- make 'got status' display interrupted rebase, histedit, and merge operations
- got.1: escape Eq since it's a GNU roff macro, to fix rendering in -portable
- regress: use seq instead of jot, for portability reasons
- get rid of unnecessary "dns inet" pledge promises while fetching via git://
- add http clone/fetch support using a new got-fetch-http helper
- drop git+ssh protocol name from documentation; Git has done the same
- require -R option for staging or unstaging directory contents
- got patch: fix applying on empty files

See the release notes for details. Stefan Sperling (stsp@) provided some further description in a fediverse post, which may be well worth signing up to a friendly Mastodon instance for.

  1. By Sebastian Rother (2001:9e8:f8f:d400:c572:aa0a:7c7e:8efa) on

    Linus Torvalds once said 2 importent things:

    He would not use the GPL again and he would not have done so with his todays Experience (I am not kidding).

    He is not happy with GIT and what and how it is today (tons of Scripts and other things he dislikes).

    So a serious hint: Ask Linus to maybe join the GOT-Project or take a look. Even if he does not join, others might do. Just send him an e-Mail and ask him briefly. GOT is not strictly about OpenBSD, it is about managing a Codebase.

    1. By System Operator ( on

      What Linus Torvalds says and claims in various moments of time is for his own audience and not global.
      That is a political and also a policy statement, which is an argument against certain license versions
      and is factually and historically incorrect and also wrong, and a lie, and has an negative zero value.

      The reality shows different, and it is also a different project class and type and size, thus uses the
      different versioning system, which is a successful software project itself, but not very useful as is.
      The user facing interfaces of its programs are the actual reimplementation objectives of this project.

      As long as Linux is a decent compatible and POSIX compliant UNIX reimplementation, it is following the
      same design and organisation of the system, kernel operation and reimplements everything UNIX-like, so
      the licensing and the politicised quotations are totally irrelevant and useless even for Linux itself.
      By all means, avoid GNU occultism as the failure of popularity because it was popular for pop reasons.

      Take software as quality and reliability and correctness, not as an policy and organisation instrument
      and these details will matter a lot less, and only delimit software authoring houses, not individuals.
      Independent people and independent projects have the freedom to not be limited by a small set of rules
      and limitations in the interest of the publisher disguised as a freedom disclaimer that does not work.

      What works is people and groups participating and not being obstructed by licensing, patents, policies
      and trade, naming and financial models of corrupting the software reliability, correctness, validity..

      OpenBSD thus uses the centralised repository system CVS, and not Git.. and the BSD licensing, not GNU.
      OpenBSD is also actually using CVS and RSYNC reimplementations, part of the operating system releases.

      Permissive software licencing & centralised software repository is the model so far by the OpenBSD OS.
      It is one much more open, free and non-protective, non-enforcing and non-propagating licensing model..

      By all means policy, licensing, patents, restrictions and other legal limitations are a net negative..
      For everyone, for humanity and for the development of software, it only serves capitals & distribution
      objectives and goals, of multiple variants that are incompatible and non-standard competing variation.

      Avoid moments like this, when you have to be lectured on basic principles to understand implications..
      Quote & study technical aspects and scope and applicability and application notes of software instead.
      Understand what is the intended use, where it fits, how it works, why and how to avoid the policies of
      its designed and intended organisation it implies, there are contraptions and complications and traps.

      Try to avoid these common pitfalls, if you have problems understanding, read multiple times the above.

    2. By Stefan Sperling (stsp) on

      Nobody needs to be bugging Linus about what version control system he should be using. This has happened before and it was just as wrong then as it is now.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]