Language Selection

English French German Italian Portuguese Spanish

DVCS Round-Up: One System to Rule Them All?--Part 1

Filed under

A recent development in the field of version (or revision) control software is the emergence of distributed systems. These discard the notion of a central repository where all project history is kept, and replace it by a network of several repositories that are synchronised regularly. In this model, a developer has a complete repository on his hard disk, which is synchronised with the “outside” whenever deemed necessary. This way one can commit early and often, without fear of breaking the others' code, and it also reduces network load as it does not need a network connection for every small change. In practise, of course there will be a central repository after all, but this is a decision made by the developers and not dictated by the system.

Working distributed has other advantages, too. For example, backups become a no-brainer, since every developer has the complete project history. The classic dilemma of who should have write access to the main project repository becomes significantly less problematic, since the maintainers simply pull the changes from a few persons they trust, which in turn (hopefully) have done likewise beforehand. Linus Torvalds referred to this as a “network of trust,” which is actually the same principle for any security and encryption software.

So, while distributed version control has several advantages, one problem remains: we have to choose one that (hopefully) fits our needs. At the time of this writing, at least half a dozen systems compete for the developers' affections, and this series will hopefully provide you with a basis for your decision.

In this review, we will take a look at six different revision control systems. Namely these are git, Mercurial, darcs, Monotone, Bazaar (which is used by the Ubuntu project), and SVK (which is based upon Subversion). All six systems are distributed, and we will take a look at the different workflows supported (or enforced) by them.

More Here

More in Tux Machines

GNU/Linux-powered Ataribox

  • Mysterious ‘Ataribox’ console finally gets a name and pre-order window
    Atari’s new entry into the console market now has an official name: The Atari VCS. The device was originally teased as the “Ataribox” last year during the E3 gaming convention: A new Linux-based system providing all your favorite Atari classics along with games from independent developers. Visually, it’s a throwback to the Atari 2600 console, only with a sleeker, modern look and updated hardware. Atari calls it a “gaming and entertainment platform.”
  • GDC 2018 | The Ataribox is real, and it's more computer than gaming console
    Atari COO Michael Arzt told Tom’s Hardware that the machine will indeed run Linux (or, at least, a derivative of Linux) with its own Atari-themed UI. The device can be controlled through either a classically-styled joystick or a more modern gamepad. Users can also connect a keyboard and mouse through either USB or Bluetooth.
  • The Ataribox is here at GDC, but it's also kind of not (hands-on)
    In fact, Atari execs told us there's no longer a set price or a promised release date for the console -- because many of its key pieces, like its AMD processor and customized Linux operating system, are still coming together.

Security: Syzbot, FOSS Updates, and AMD

JDK 10 Released

  • JDK 10: General Availability
    JDK 10, the first release produced under the six-month rapid-cadence release model [1][2], is now Generally Available. We've identified no P1 bugs since we promoted build 46 almost two weeks ago, so that is the official GA release, ready for production use.
  • Java JDK 10 Reaches General Availability With Experimental Java-Based JIT Compiler
    JDK 10 has reached general availability as the first Java release under Oracle's new six-month release model. Mark Reinhold of Oracle has announced the availability now of JDK 10 with its official GA release now that no more high priority bugs are present.
  • Java 10 Released With New Features: Download Here
    Ever since its inception, Java has continued to rule the hearts of programmers as one of the most loved and used programming languages around. In 2017, Oracle and Java community decided to move to a new six-month cycle. The recently released JDK 10 is the first Oracle release in the new cycle. So, in a way, this implementation of Java Standard Edition (SE) 10 is the beginning of a new era. It follows Java 9, which arrived just six months ago.

Ubuntu: Logic Supply and Linux 4.15/Linux 4.16

  • Tiny Apollo Lake based mini-PCs run Ubuntu
    Logic Supply unveiled two 116 x 83 x 34mm mini-PCs built around a Celeron N3350: a CL200 with 3x USB ports and a CL210 that doubles memory to 2GB LPDDR4 and 32GB eMMC, and adds a second mini-DP and GbE port. Logic Supply announced its smallest mini-PCs to date with CL200 and CL210 models that measure just 116 x 83 x 34mm. The CL200 ships with Ubuntu 16.04 while the more advanced CL210 also offers Windows 10 IoT. Both of these “IoT Edge Device” mini-PCs tap Intel’s dual-core, 1.1GHz Celeron N3350 with 6W TDP from the Apollo Lake generation, and support digital media, data acquisition, automation, and network gateway applications.
  • Ubuntu 18.04 LTS Continues Prepping With The Linux 4.15 Kernel
    There were various calls by independent end-users voicing their two cents that Ubuntu 18.04 "Bionic Beaver" should ship with Linux 4.16 instead of Linux 4.15, but that isn't going to happen. In several different places the past few weeks I've seen various remarks made of how "Ubuntu 18.04 should ship with Linux 4.16" on the basis of either better Spectre/Meltdown support, Linux 4.16 will be out in time and neither 4.15 or 4.16 are even LTS releases, better hardware support, or users simply wanting all the goodies in Linux 4.16. But that's simply foolish given Ubuntu 18.04 is being a Long Term Support release and how close the timing ends up being as is.
  • Kernel Team summary: March 21, 2018
    On the road to 18.04 we have a 4.15 based kernel in the Bionic repository.