jm + git   37

Goodbye Microservices: From 100s of problem children to 1 superstar · Segment Blog
Super-happy we resisted many of the microservices gospels and dodged this bullet
architecture  microservices  monolith  git  monorepo 
july 2018 by jm
Git, complicated? Of course not! Commits map to isomorphic contours in source-code phase space
The inspiration for the classic tweet.
it’s simplest to think of the state of your repository as a point in a high-dimensional ‘code-space’,  in which branches are represented as n-dimensional membranes, mapping the spatial loci of successive commits onto the projected manifold of each cloned repository
git  incomprehensible  funny  jargon  topology  dvcs 
march 2018 by jm
Foursquare's open source repo, where they extract reusable components for open sourcing -- I like the approach of using a separate top level module path for OSS bits
open-source  oss  foursquare  libraries  maintainance  coding  git  monorepos 
august 2017 by jm
GitLab Container Registry
GitLab continue to out-innovate Github, which is just wanking around with breaking the UI these days
gitlab  github  git  ci  cd  containers  docker  deployment  coding 
may 2016 by jm
git for Cloud Storage. Create distributed, decentralized and versioned repositories that scale infinitely to 100s of millions of files and PBs of storage. Huge repos can be cloned on your local SSD for making changes, committing and pushing back. Oh yeah, and it dedupes too due to BLAKE2 Tree hashing.
git  ops  storage  cloud  s3  disk  aws  version-control  blake2 
april 2016 by jm
GitHub now supports "squash on merge"

On the other hand -- is a good explanation of why not to adopt it. Pity GitHub haven't made it a per-review option...
github  code-reviews  squashing  merges  git  coding 
april 2016 by jm
git integrity - Google Groups
It seems git's default behavior in many situations is -- despite communicating objectID by content-addressable hashes which should be sufficient to assure some integrity -- it may not actually bother to *check* them.  Yes, even when receiving objects from other repos.  So, enabling these configuration parameters may "slow down" your git operations.  The return is actually noticing if someone ships you a bogus object.  Everyone should enable these.
git  security  integrity  error-checking  dvcs  version-control  coding 
february 2016 by jm
"So you have a mess on your hands" [png]
Excellent flowchart of how to fix common git screwups (via ITC slack)
git  reference  flowchart  troubleshooting  help  coding  via:itc 
january 2016 by jm
Holistic Configuration Management at Facebook
How FB push config changes from Git (where it is code reviewed, version controlled, and history tracked with strong auth) to Zeus (their Zookeeper fork) and from there to live production servers.
facebook  configuration  zookeeper  git  ops  architecture 
october 2015 by jm
Advantages of Monolithic Version Control
another Dan Luu post -- good summary of the monorepo's upside
monorepo  git  mercurial  versioning  source-control  coding  dependencies 
august 2015 by jm
Git team workflows: merge or rebase?
Well-written description of the pros and cons. I'm a rebaser, fwiw.

(via Darrell)
via:darrell  git  merging  rebasing  history  git-log  coding  workflow  dev  teams  collaboration  github 
june 2015 by jm
'A Decentralized GitHub'. nifty
distributed  git  github  bittorrent  bitcoin  gittorrent  dvcs 
may 2015 by jm
'The multiple repository tool'. How Google kludged around the split-repo problem when you don't have a monorepo.
kludges  git  monorepo  monorepi  google  android  aosp  repo  coding  version-control  dvcs 
may 2015 by jm
"git for operating system binaries".

OSTree is a tool for managing bootable, immutable, versioned filesystem trees. It is not a package system; nor is it a tool for managing full disk images. Instead, it sits between those levels, offering a blend of the advantages (and disadvantages) of both.

You can use any build system you like to place content into it on a build server, then export an OSTree repository via static HTTP. On each client system, "ostree admin upgrade" can incrementally replicate that content, creating a new root for the next reboot. This provides fully atomic upgrades. Any changes made to /etc are propagated forwards, and all local state in /var is shared.

A key goal of the project is to complement existing package systems like RPM and Debian packages, and help further their evolution. In particular for example, RPM-OSTree (linked below) has as a goal a hybrid tree/package model, where you replicate a base tree via OSTree, and then add packages on top.
os  gnome  git  linux  immutable  deployment  packaging  via:fanf 
december 2014 by jm
Why your company shouldn’t use Git submodules
'It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects. At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to. It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.'
git  source-control  revision-control  submodules  storage 
april 2014 by jm
Finally got around to migrating this old CPAN module to github
cpan  github  ipc-dirqueue  perl  open-source  hacks  git  svn 
april 2014 by jm
Git is not scalable with too many refs/*
Mailing list thread from 2011; git starts to keel over if you tag too much
git  tags  coding  version-control  bugs  scaling  refs 
february 2014 by jm
A nice node.js app to perform continuous deployment from a GitHub repo via its webhook support, from Matt Sergeant
github  node.js  runit  deployment  git  continuous-deployment  devops  ops 
january 2014 by jm
On undoing, fixing, or removing commits in git
Choose-your-own-adventure style. "Oh dear. This is going to get complicated."

(via Tom)
via:tom  cyoa  git  fixing  revert  source-control  coding 
december 2013 by jm
Docker: Git for deployment
Docker is to deployment as Git is to development.

Developers are able to leverage Git's performance and flexibility when building applications. Git encourages experiments and doesn't punish you when things go wrong: start your experiments in a branch, if things fall down, just git rebase or git reset. It's easy to start a branch and fast to push it.

Docker encourages experimentation for operations. Containers start quickly. Building images is a snap. Using another images as a base image is easy. Deploying whole images is fast, and last but not least, it's not painful to rollback.

Fast + flexible = deployments are about to become a lot more enjoyable.
docker  deployment  sysadmin  ops  devops  vms  vagrant  virtualization  containers  linux  git 
august 2013 by jm
KDE's brush with git repository corruption: post-mortem
a barely-averted disaster... phew.

while we planned for the case of the server losing a disk or entirely biting the dust, or the total loss of the VM’s filesystem, we didn’t plan for the case of filesystem corruption, and the way the corruption affected our mirroring system triggered some very unforeseen and pathological conditions. [...] the corruption was perfectly mirrored... or rather, due to its nature, imperfectly mirrored. And all data on the anongit [mirrors] was lost.

One risk demonstrated: by trusting in mirroring, rather than a schedule of snapshot backups covering a wide time range, they nearly had a major outage. Silent data corruption, and code bugs, happen -- backups protect against this, but RAID, replication, and mirrors do not.

Another risk: they didn't have a rate limit on project-deletion, which resulted in the "anongit" mirrors deleting their (safe) data copies in response to the upstream corruption. Rate limiting to sanity-check automated changes is vital. What they should have had in place was described by the fix: 'If a new projects file is generated and is more than 1% different than the previous file, the previous file is kept intact (at 1500 repositories, that means 15 repositories would have to be created or deleted in the span of three minutes, which is extremely unlikely).'
rate-limiting  case-studies  post-mortems  kde  git  data-corruption  risks  mirroring  replication  raid  bugs  backups  snapshots  sanity-checks  automation  ops 
march 2013 by jm
Using DiffMerge as your Git visual merge and diff tool
A decent 3-way-diff GUI merge tool which works with git on OSX. "git config" command-lines included in this blog post
git  merge  osx  mac  macosx  diff  mergetool  merging  cli  diffmerge 
march 2013 by jm
GitHub Archive
a project to record the public GitHub timeline, archive it, and make it easily accessible for further analysis. GitHub provides 18 event types, which range from new commits and fork events, to opening new tickets, commenting, and adding members to a project. The activity is aggregated in hourly [gzipped JSON] archives, which you can access with any HTTP client.
github  data  git  history  version-control  oss  archival 
march 2013 by jm
airlift/airline · GitHub
Annotations-based git-like CLI helper for Java
git  cli  java 
january 2013 by jm
Large file management with git-annex
'uses Git to manage files that are larger than Git can easily handle—without checking them into the repository. But git-annex provides ways to track those files using much of the same infrastructure as Git, so that moving or deleting those files can all be tracked in much the same way as committed files. In addition, git-annex allows for branches and distributed clones of its trees.' I may investigate using this to sync my MP3s instead of SVN
git  git-annex  version-control 
december 2011 by jm
A few git tips you didn't know about
'git checkout -t' alone is worth the bookmark
git  tips  coding  unix  reference  tricks  via:proggit 
september 2011 by jm
Gerrit, Git and Jenkins
This is the future of code review. Commit directly from your git checkout to the Gerrit code-review system; change is immediately web-visible and enters the review workflow; at the same time, Jenkins checks out the proposed change and runs the test suite; once it's approved, it automatically gets checked in. Brilliant!
git  coding  code-review  workflows  jenkins  gerrit  c-i  testing  automation  from delicious
february 2011 by jm
Using Git to manage a web site
simple, basic demo of a git post-receive hook to auto-check-out every rev committed to a git repository
git  deployment  howto  via:hackernews  from delicious
february 2011 by jm
Forking is a Feature - Anil Dash
thought-provoking piece about GitHub-style forking applied to other disciplines; Tumblr, Dribbble, Forrst being cases where it's happening now
community  development  forking  github  git  opensource  tumblr  dribbble  forrst  wikipedia  from delicious
september 2010 by jm
CPAN and BackPAN, as a set of git repositories; essentially a read-only view of all CPAN releases, ever. good plan; I like the way git is useful as a kind of general-purpose distributed archive system
git  gitpan  cpan  backpan  perl  releases  archives  history  version-control  from delicious
june 2010 by jm
Ben Collins-Sussman: The True Path
Ben C-S rejigs the legendary "ed, man! !man ed" net.humor for a new age of DVCSes
dvcs  ed  git  funny  humour  zealotry  unix  from delicious
september 2009 by jm
Simpleton's guide to git
it really is. Yet another one-page intro to git, but a good one
git  tips  via:joshua  scm  tools  vc 
august 2009 by jm

related tags

android  aosp  apache  architecture  archival  archives  asf  automation  aws  backpan  backups  bitcoin  bittorrent  blake2  branching  bugs  c-i  case-studies  cd  ci  cli  cloud  code-review  code-reviews  coding  collaboration  community  configuration  containers  continuous-deployment  copying  couchdb  cpan  cyoa  data  data-corruption  databases  dependencies  deployment  dev  development  devops  diff  diffmerge  disk  distributed  distribution  docker  dribbble  dvcs  ed  error-checking  facebook  fixing  flowchart  forking  forrst  foursquare  funny  gerrit  git  git-annex  git-bundle  git-log  github  gitlab  gitpan  gittorrent  gnome  google  hacks  help  history  howto  humour  immutable  incomprehensible  integrity  ipc-dirqueue  jargon  java  jenkins  kde  kludges  libraries  linux  mac  macosx  maintainance  mercurial  merge  merges  mergetool  merging  microservices  mirroring  monolith  monorepi  monorepo  monorepos  mvcc  node.js  omgwtf  open-source  opensource  ops  os  oss  osx  packaging  perl  post-mortems  programming  protocols  raid  rate-limiting  rebasing  reference  refs  releases  replication  repo  repository  revert  revision-control  risks  runit  s3  sanity-checks  scaling  scm  security  snapshots  source-control  squashing  storage  submodules  svn  sync  sysadmin  tags  teams  testing  timelines  tips  tools  topology  tricks  troubleshooting  tumblr  unix  vagrant  vc  version-control  versioning  via:darrell  via:fanf  via:hackernews  via:hn  via:itc  via:joshua  via:proggit  via:tom  virtualization  vms  wikipedia  workflow  workflows  zealotry  zookeeper 

Copy this bookmark: