Cogito (software)

Last updated

Cogito (originally git-pasky) is a revision control system layered on top of Git. It is historically the first Git frontend, which appeared in April 2005, just days after Git itself. While Git was initially meant just as the low-level interface, Cogito started with the stated goal of becoming a user-friendly front-end.

Cogito is generally considered to be more familiar to people used to working with other SCM tools like CVS and Subversion, although it still follows the model of distributed development used by Git.

Cogito has significantly fewer sub-commands than Git, in line with its purpose to present a simple user interface sufficient for common workflows. As of May 2006, Cogito has only 41 sub-commands, compared to Git's 119. Some features that started in Cogito migrated later to Git, making Git more suitable for standalone use. As an example of simplification of the interface, Cogito hides the concept of "index cache" from the users. Any modified file is considered eligible for commit by Cogito, just as in CVS or Subversion.

Cogito has full compatibility with remote Git repositories. It also retains a high degree of compatibility with Git for local operations. Many Git commands can be used safely on a Cogito managed repository. Conversely, most Cogito commands can be used on repositories primarily managed by Git or StGIT.

Cogito is implemented as a set of Bash scripts (unlike Git, which is written mostly in C and portable Unix shell).

As of April 2007 the project is stalled and declared "for sale", because a lot of the functionality has already been taken over by git, and the maintainer, Petr Baudiš, decided it would be better to focus on improving git-core. [1] Cogito is released under the GNU GPL.

As of May 2008, Cogito does not work well with recent Git versions, and Cogito users are advised to use Git directly or use some other frontends such as EasyGit. [2]

Related Research Articles

A Usenet newsgroup is a repository usually within the Usenet system, for messages posted from users in different locations using the Internet. They are discussion groups and are not devoted to publishing news. Newsgroups are technically distinct from, but functionally similar to, discussion forums on the World Wide Web. Newsreader software is used to read the content of newsgroups.

<span class="mw-page-title-main">Vim (text editor)</span> Improved version of the Vi keyboard-oriented text editor

Vim is a free and open-source, screen-based text editor program. It is an improved clone of Bill Joy's vi. Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.

Concurrent Versions System is a revision control system originally developed by Dick Grune in July 1986.

<span class="mw-page-title-main">Apache Subversion</span> Free and open-source software versioning and revision control system

Apache Subversion is a software versioning and revision control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS).

<span class="mw-page-title-main">Wget</span> Computer command line program for downloading

GNU Wget is a computer program that retrieves content from web servers. It is part of the GNU Project. Its name derives from "World Wide Web" and "get". It supports downloading via HTTP, HTTPS, and FTP.

Gmane is an e-mail to news gateway. It allows users to access electronic mailing lists as if they were Usenet newsgroups, and also through a variety of web interfaces. Since Gmane is a bidirectional gateway, it can also be used to post on the mailing lists. Gmane is an archive; it never expires messages. Gmane also supports importing list postings made prior to a list's inclusion on the service.

In software engineering, the terms frontend and backend refer to the separation of concerns between the presentation layer (frontend), and the data access layer (backend) of a piece of software, or the physical infrastructure or hardware. In the client–server model, the client is usually considered the frontend and the server is usually considered the backend, even when some presentation work is actually done on the server itself.

patch (Unix) Unix utility to apply changes to text files

The computer tool patch is a Unix program that updates text files according to instructions contained in a separate file, called a patch file. The patch file is a text file that consists of a list of differences and is produced by running the related diff program with the original and updated file as arguments. Updating files with patch is often referred to as applying the patch or simply patching the files.

<span class="mw-page-title-main">Elvis (text editor)</span> Enhanced clone of the vi text editor

Elvis is an enhanced clone of the vi text editor, first released in January 1990. It introduced several new features, including syntax highlighting and built-in support for viewing nroff and HTML documents. Elvis is written by Steve Kirkendall and is distributed under the Clarified Artistic License (ClArtistic) which is used by Perl and is a GPL-compatible free software license.

<span class="mw-page-title-main">Git</span> Software for version control of files

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

<span class="mw-page-title-main">Mantis Bug Tracker</span> Bug tracking system

Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and project management tool.

<span class="mw-page-title-main">Mercurial</span> Distributed revision-control tool for software developers

Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows and Unix-like systems, such as FreeBSD, macOS, and Linux.

The FreeBSD Ports collection is a package management system for the FreeBSD operating system. As of February 2020, there are over 38,487 ports available in the collection. It has also been adopted by NetBSD as the basis of its pkgsrc system.

In software development, version control is a class of systems responsible for managing changes to computer programs or other collections of information such that revisions have a logical and consistent organization. The following tables include general and technical information on notable version control and software configuration management (SCM) software. For SCM software not suitable for source code, see Comparison of open-source configuration management software.

<span class="mw-page-title-main">Xconq</span> 1987 open-source strategy video game

Xconq is an open-source computer strategy game. This multiplayer video game was first posted to comp.sources.games on 9 July 1987. Xconq is released as free and open-source software under the terms of the GNU GPL-2.0-or-later.

<span class="mw-page-title-main">TortoiseHg</span>

TortoiseHg is a GUI front-end for Mercurial that runs on Microsoft Windows, Mac OS X, and Linux.

YouTrack is a proprietary, commercial browser-based bug tracker, issue tracking system and project management software developed by JetBrains. This software is designed to facilitate query-based issue search with auto-completion, manipulating issues in batches, customizing the set of issue attributes, and creating custom workflows.

In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed, like Git or Mercurial, or centralized, like Subversion, CVS, or Perforce, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server. Some of the metadata that a repository contains includes, among other things, a historical record of changes in the repository, a set of commit objects, and a set of references to commit objects, called heads.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

References

  1. Petr Baudiš (19 April 2007). "Cogito is for sale". Newsgroup:  gmane.comp.version-control.git. Usenet:   20070419124648.GL4489@pasky.or.cz. Archived from the original on 30 June 2012.
  2. Petr Baudiš. "Re: Documentation/Code Mismatch: cg-switch -l". Newsgroup:  gmane.comp.version-control.git. Usenet:   20080529172817.GA18781@machine.or.cz.[ permanent dead link ]
Notes