Jul 172016
 

This is a small update (1 year later) of a great article by Ilmari Kontulainen, first posted on blog.deveo.com.

I’ll post the original article in blockquote and my notes in green.

Storing large binary files in Git repositories seems to be a bottleneck for many Git users. Because of the decentralized nature of Git, which means every developer has the full change history on his or her computer, changes in large binary files cause Git repositories to grow by the size of the file in question every time the file is changed and the change is committed. The growth directly affects the amount of data end users need to retrieve when they need to clone the repository. Storing a snapshot of a virtual machine image, changing its state and storing the new state to a Git repository would grow the repository size approximately with the size of the respective snapshots. If this is day-to-day operation in your team, it might be that you are already feeling the pain from overly swollen Git repositories.

Luckily there are multiple 3rd party implementations that will try to solve the problem, many of them using similar paradigm as a solution. In this blog post I will go through seven alternative approaches for handling large binary files in Git repositories with respective their pros and cons. I will conclude the post with some personal thoughts on choosing appropriate solution.

Continue reading »

Flattr this!

Dec 092013
 

This is my vim configuration to work with Git + Puppet manifests, mostly it’s based on some good articles about this that I found online:

  1. Using vim and Debian to do puppet development
  2. Puppet editing like a pro
  3. Using Vim to edit Puppet code

Using this repository you’ll enable the following plugins:

  • pathogen Makes it super easy to install plugins and runtime files in their own private directories.
  • snipmate.vim snipMate.vim aims to be an unobtrusive, concise vim script that implements some of TextMate’s snippets features in Vim.
  • syntastic Syntastic is a syntax checking plugin that runs files through external syntax checkers and displays any resulting errors to the user. This can be done on demand, or automatically as files are saved. If syntax errors are detected, the user is notified and is happy because they didn’t have to compile their code or execute their script to find them.
  • tabular Sometimes, it’s useful to line up text. Naturally, it’s nicer to have the computer do this for you, since aligning things by hand quickly becomes unpleasant.
  • vim-puppet Make vim more Puppet friendly!
  • vim-fugitive Provides an amazingly deep Git integration for vim.

Also you’ll find a snippets directory with a custom list of snippet for Puppet.

Continue reading »

Flattr this!

Dec 122012
 

Only recently I’ve started to work with Git, don’t blame me I’m mainly a system administrator not a developer, and one of the things I’ve been asked to setup is a way to have a cloned Git project shared over SSH to a particular group of person that share the same linux group.

The issue is this setting are the permissions that must be properly set so you and the others don’t end up stomping on each other when pushing changes, so let’s see how to achieve this goal quickly.

Continue reading »

Flattr this!

Etckeeper – Keep under control your configuration files !

Article based on the work of  Angelo D’Autilia  posted on Salug Journal in Italian. An useful tool for the management of a shared server is etckeeper. This software is a collection of bash scripts that allow you to control through a distributed revision system our directory /etc/ where there are the configuration files of most […]