Intro Technical details Using vcsh Outlook Outro. vcsh. manage config files in $HOME via fake bare git repositories

Similar documents
Intro ikiwiki etckeeper vcsh git-annex bup Zsh mr Outro. Gitify your life. web, blog, configs, data, and backups

Version control system (VCS)

Computer Science Design I Version Control with Git

Using git to download and update BOUT++

GUIDE TO MAKE A REAL CONTRIBUTION TO AN OPEN SOURCE PROJECT 1. 1

Git for Version Control

CSE 391 Lecture 9. Version control with Git

Lecture 01 - Working with Linux Servers and Git

Intro to Linux & Command Line

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18

Version control with Git.

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

Fundamentals of Git 1

FEEG Applied Programming 3 - Version Control and Git II

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Versioning with git. Moritz August Git/Bash/Python-Course for MPE. Moritz August Versioning with Git


! #Running this command from the top directory of your project will add all your changes."! $ git add."

CSCI 2132: Software Development. Norbert Zeh. Faculty of Computer Science Dalhousie University. Subversion (and Git) Winter 2019

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Git. Ľubomír Prda. IT4Innovations.

CS314 Software Engineering Configuration Management

Git: Distributed Version Control

CS 320 Introduction to Software Engineering Spring February 06, 2017

Software Revision Control for MASS. Git Basics, Best Practices

Software Development I

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

Git Introduction CS 400. February 11, 2018

GETTING TO KNOW GIT: PART II JUSTIN ELLIOTT PENN STATE UNIVERSITY

git-flow Documentation

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network

2 Initialize a git repository on your machine, add a README file, commit and push

Using Git to Manage Source RTL

Git & Github Fundamental by Rajesh Kumar.

Git: Distributed Version Control

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Introduction to Git and Github Repositories

CPSC 491. Lecture 19 & 20: Source Code Version Control. VCS = Version Control Software SCM = Source Code Management

Version Control: Gitting Started

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014

Version Control Systems (Part 1)

Introduction to distributed version control with git

Version Control Systems: Overview

Improving Your Life With Git

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

CSE 390 Lecture 9. Version control and Subversion (svn)

Outline. Introduction to Version Control Systems Origins of Git Git terminology & concepts Basic Git commands Branches in Git Git over the network

Version Control Systems

Distributed Version Control

Revision Control. An Introduction Using Git 1/15

Lecture 2: Data in Linguistics, Git/GitHub, Jupyter Notebook. LING 1340/2340: Data Science for Linguists Na-Rae Han

Revision control. INF5750/ Lecture 2 (Part I)

Lab Objective. Lab Assignment. Downloads and Installation

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

How to be a 1337 h4ck3r: Git + Linux

Version Control with Git

Introduction to Version Control

Introduction to Git. Database Systems DataLab, CS, NTHU Spring, 2018

Software Revision Control for MASS. Git Installation / Configuration / Use

Git. Presenter: Haotao (Eric) Lai Contact:

ardpower Documentation

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Software Project (Lecture 4): Git & Github

Revision Control and GIT

Using Git For Development. Shantanu Pavgi, UAB IT Research Computing

Version Control with Git ME 461 Fall 2018

Lab 1 1 Due Wed., 2 Sept. 2015

A BASIC UNDERSTANDING OF VERSION CONTROL

Outline. Version Control System (VCS) basics Git terminology & concepts Basic Git commands Branches in Git Git over the network (time permitting)

SECTION 1: CODE REASONING + VERSION CONTROL

SECTION 1: CODE REASONING + VERSION CONTROL

Revision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:

Laboratorio di Programmazione. Prof. Marco Bertini

A Practical Introduction to Version Control Systems

CSCE UVM Hands-on Session-1 Pre-Work

Topics covered. Introduction to Git Git workflows Git key concepts Hands on session Branching models. Git 2

TDDC88 Lab 4 Software Configuration Management

Version control. what is version control? setting up Git simple command-line usage Git basics

AIS Grid School 2015

CS 261 Recitation 1 Compiling C on UNIX

Source Code Management wih git

Lab 4: Bash Scripting

Created by: Nicolas Melillo 4/2/2017 Elastic Beanstalk Free Tier Deployment Instructions 2017

CSE 331 Software Design & Implementation

Bazaar VCS. Concepts and Workflows

A quick (and maybe practical) guide to Git and version control. By Jay Johnson

Game Server Manager Documentation

Agenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)

Version Control Systems. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Introduction to GIT. Jordi Blasco 14 Oct 2011

1. Which of these Git client commands creates a copy of the repository and a working directory in the client s workspace. (Choose one.

What is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)

A L A TEX-oriented intro to Git

DEVNET Introduction to Git. Ashley Roach Principal Engineer Evangelist

CESSDA Expert Seminar 13 & 14 September 2016 Prague, Czech Republic

Splunk & Git. The joys and pitfalls of managing your Splunk deployment with Git. Copyright 2018

Hg Tutorial. For : COP Object oriented Programming (Using C++) Biswas Parajuli

Online Remote Repositories

Transcription:

Intro Technical details Using Outlook Outro manage config files in $HOME via fake bare git repositories Richard Hartmann, RichiH@{freenode,OFTC,IRCnet}, richih.mailinglist@gmail.com 2012-02-04

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro Who am I? Project & Network Operations Manager at Globalways AG freenode & OFTC staff Passionate about FLOSS Author of

Intro Technical details Using Outlook Outro What is git? Version control system Distributed No need for central repository Allows you to commit while offline Full history in every checkout Best version control system available (imo...)

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro What is? Implemented in POSIX shell; portable version control shell or version control system $HOME Based on git git unable to maintain several working copies in one directory Sucks if you want to keep your configs in git uses fake bare git repositories to work around this Think of it as an extension to git

Intro Technical details Using Outlook Outro fake bare.. what? Normal git repo: working copy in $GIT WORK TREE git data in $GIT WORK TREE/.git aka $GIT DIR Bare git repo: git data in $GIT DIR no $GIT WORK TREE Fake bare git repo: working copy in $GIT WORK TREE git data in $GIT DIR $GIT WORK TREE == $HOME $GIT DIR == $XDG CONFIG HOME//repo.d/$repo. core.bare = false

Intro Technical details Using Outlook Outro Problems with fake bare git repos Fake bare repos are messy to set up and use Reason why git disallows shared $GIT WORK TREE: complexity due to context-dependency Mistakes lead to confusion or data loss; imagine $GIT WORK TREE set and git add git reset --hard HEAD~1 git checkout -- * git clean -f

Intro Technical details Using Outlook Outro Solution: Wraps around git Hides complexity and does sanity checks Several git repos checked out into $HOME at once One repo for zsh, vim, mplayer, etc Enables specific subsets of repos per host Manages complete repo life-cycle

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro Create new repo # create new repo init vim # add files to it run vim git add.vim.vimrc # commit using shorthand form vim commit # push using longhand form run vim git push

Intro Technical details Using Outlook Outro Made-up life-cycle # clone repo into new name zsh clone git://github.com/richih/zshrc.git zsh # optionally update legacy repos setup zsh # display all files managed by this repo run zsh git ls-files # rename repo just because rename zsh zshrc # delete repo delete zshrc

Intro Technical details Using Outlook Outro run vs enter # do everything from outside run zsh git add.zshrc run zsh git commit run zsh git push # the same, but from within enter zsh git add.zshrc git commit git push exit

Intro Technical details Using Outlook Outro Playing nice with others shells can display exported ENV in $PROMPT vcs info mr via plugin, mainline soon git-annex to manage non-configuration files Simple but powerful hook system

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro Future work More unit tests Get into more distributions Spread awareness to reach critical mass Maybe extend support to subversion, mercurial, etc

Intro Technical details Using Outlook Outro Outline 1 Intro 2 Technical details 3 Using 4 Outlook 5 Outro

Intro Technical details Using Outlook Outro Where to get it git clone git://github.com/richih/.git Native packages for Debian Ubuntu Arch Linux (AUR) Small bug in README.md, use v0.20120203 or git

Intro Technical details Using Outlook Outro Thanks! Thanks for listening! Questions? Follow me outside when my time-slot is over. See slide footer for further contact Information.