Atomic commitIn the field of computer science, an atomic commit is an operation that applies a set of distinct changes as a single operation. If the changes are applied, then the atomic commit is said to have succeeded. If there is a failure before the atomic commit can be completed, then all of the changes completed in the atomic commit are reversed. This ensures that the system is always left in a consistent state. The other key property of isolation comes from their nature as atomic operations.
GitHubGitHub (, entreprise GitHub, Inc.) est un service web d'hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de versions Git. Ce site est développé en Ruby on Rails et Erlang par Chris Wanstrath, PJ Hyett et Tom Preston-Werner. GitHub propose des comptes professionnels payants, ainsi que des comptes gratuits pour les projets de logiciels libres. Le site assure également un contrôle d'accès et des fonctionnalités destinées à la collaboration comme le suivi des bugs, les demandes de fonctionnalités, la gestion de tâches et un wiki pour chaque projet.
Gestion de versionsthumb|Exemple d'arbre de gestion de versions La gestion de versions ( ou revision control) consiste à gérer l'ensemble des versions d'un ou plusieurs fichiers (généralement en texte). Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source. Cette activité étant fastidieuse et relativement complexe, un appui logiciel est presque indispensable. À cet effet, il existe différents logiciels de gestion de versions qui, bien qu'ayant des concepts communs, apportent chacun leur propre vocabulaire et leurs propres usages.
Two-phase commit protocolIn transaction processing, databases, and computer networking, the two-phase commit protocol (2PC, tupac) is a type of atomic commitment protocol (ACP). It is a distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction. This protocol (a specialised type of consensus protocol) achieves its goal even in many cases of temporary system failure (involving either process, network node, communication, etc.
Distributed version controlIn software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer's computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations (except pushing and pulling), improves the ability to work offline, and does not rely on a single location for backups.
Three-phase commit protocolIn computer networking and databases, the three-phase commit protocol (3PC) is a distributed algorithm which lets all nodes in a distributed system agree to commit a transaction. It is a more failure-resilient refinement of the two-phase commit protocol (2PC). A two-phase commit protocol cannot dependably recover from a failure of both the coordinator and a cohort member during the Commit phase. If only the coordinator had failed, and no cohort members had received a commit message, it could safely be inferred that no commit had happened.
Commitment orderingCommitment ordering (CO) is a class of interoperable serializability techniques in concurrency control of databases, transaction processing, and related applications. It allows optimistic (non-blocking) implementations. With the proliferation of multi-core processors, CO has also been increasingly utilized in concurrent programming, transactional memory, and software transactional memory (STM) to achieve serializability optimistically. CO is also the name of the resulting transaction schedule (history) property, defined in 1988 with the name dynamic atomicity.
Repository (version control)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.
Comparison of version-control softwareIn 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.
GitGit est un logiciel de gestion de versions décentralisé. C'est un logiciel libre et gratuit, créé en 2005 par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. Le principal contributeur actuel de Git, et ce depuis plus de 16 ans, est Junio C Hamano. Depuis les années 2010, il s’agit du logiciel de gestion de versions le plus populaire dans le développement logiciel et web, qui est utilisé par des dizaines de millions de personnes, sur tous les environnements (Windows, Mac, Linux).
Concurrent versions systemCVS (sigle de Concurrent Versions System ("Système de versions concurrentes")) est un système de gestion de versions créé en 1990, qui a été largement utilisé par les projets de logiciels libres. Successeur de SCCS originellement écrit par Dick Grune en 1986, puis complété par Brian Berliner (avec le programme cvs lui-même) en 1989, CVS est par la suite amélioré par de très nombreux contributeurs. Puisqu'il aide les sources à converger vers la même destination, on dira que CVS fait la gestion concurrente de versions ou de la gestion de versions concurrentes.
Résolution de conflitLa résolution de conflit est un concept associé aux relations humaines, principalement lié au management et aux méthodes et outils d'aide à la prise de décision. Elle consiste dans le choix d'une solution à un affrontement et sa mise en œuvre. Lorsqu'il s'agit de pratiques en regard du système judiciaire ou d'une décision étatique, il est question de modes alternatifs de résolution des conflits. Un conflit correspond à l’interaction de personnes interdépendantes qui perçoivent des oppositions de buts et qui voient l’autre partie comme interférant dans la réalisation de leurs buts.
Conflict resolution researchConflict resolution is any reduction in the severity of a conflict. It may involve conflict management, in which the parties continue the conflict but adopt less extreme tactics; settlement, in which they reach agreement on enough issues that the conflict stops; or removal of the underlying causes of the conflict. The latter is sometimes called "resolution", in a narrower sense of the term that will not be used in this article.
Branche des géantes rougesvignette|droite|upright=1.4|Diagramme de Hertzsprung–Russell de l'amas globulaire M5. La branche des géantes rouges part de la fine branche horizontale des sous-géantes vers le haut à droite, avec certaines étoiles RGB plus lumineuses marquées en rouge. La branche des (étoiles) géantes rouges (en anglais : red-giant branch ou RGB), appelée parfois la première branche des géantes, est la partie de la branche des géantes avant que la combustion de l'hélium ne démarre, lors de l'évolution stellaire.
Système de fichiersLe terme système de fichiers (abrégé « FS » pour File System, parfois filesystem en anglais) désigne de façon ambigüe : soit l'organisation hiérarchique des fichiers au sein d'un système d'exploitation (on parle par exemple du file system d'une machine unix organisé à partir de sa racine (/) ) soit l'organisation des fichiers au sein d'un volume physique ou logique, qui peut être de différents types (par exemple NTFS, , FAT32, ext2fs, ext3fs, ext4fs, zfs, btrfs, etc.
Branche horizontaleLa branche horizontale est une zone du diagramme de Hertzsprung-Russell relative à un stade de l'évolution stellaire suivant immédiatement celui de la branche des géantes rouges après le flash de l'hélium. Elle concerne les étoiles ayant une masse du même ordre que celle du Soleil, dont la luminosité a crû et la température superficielle a décru régulièrement lors de l'ascension de la branche des géantes avant de brutalement changer de direction sur le à la suite du flash de l'hélium : à ce stade, ces étoiles ont une luminosité relativement constante alors que leur température superficielle augmente progressivement, ce qui se traduit par un parcours horizontal vers la gauche sur le .
Commande informatiqueUne commande informatique est une instruction répondant à une syntaxe précise, qui, saisie sur l'interface en ligne de commande (d'instructions) d'un système d'exploitation, indique à ce dernier une suite d'ordres et d'actions à exécuter. La commande informatique (à ne pas confondre avec l'instruction informatique) permet d'indiquer un ordre d'exécution d'une tâche dans le cadre d'un système d'exploitation. De manière générale, on entend par commande un mot qui décrit de manière mnémonique un nom de tâche, qu'il est possible de faire suivre par des paramètres.
.bat.bat est l'extension d'un fichier de commandes MS-DOS. Réaliser un tel fichier permet de concevoir des scripts qui seront interprétés par le "shell" ou interpréteur de commandes (command.com ou cmd.exe) pour notamment exécuter des fichiers .EXE ou .COM. Cette extension est principalement utilisée sur les systèmes d'exploitation de Microsoft (DOS et Windows). Elle peut être assimilée (dans une certaine mesure) à l'extension .sh des scripts shell Unix (ceux du Bourne shell plus exactement).
Sensibilité à la casseDans du texte, la casse (minuscule ou majuscule) des lettres peut parfois changer la signification. Les mots en lettres capitales (haut de casse) n'ont pas toujours le même sens s'ils sont écrits en minuscules (bas-de-casse). Par exemple, Rennes est une ville mais rennes désigne des caribous. Dans le Système international d'unités, M est le symbole du préfixe méga et m celui de milli. L'unité newton doit son nom à Newton. Et en astronomie, l'étoile n'est pas la planète .
Tracking systemA tracking system, also known as a locating system, is used for the observing of persons or objects on the move and supplying a timely ordered sequence of location data for further processing. A myriad of tracking systems exists. Some are 'lag time' indicators, that is, the data is collected after an item has passed a point for example a bar code or choke point or gate. Others are 'real-time' or 'near real-time' like Global Positioning Systems (GPS) depending on how often the data is refreshed.