Git, complicated? Of course not! Commits map to isomorphic contours in source-code phase space
6 weeks ago by jm
The inspiration for the classic tweet.
git
incomprehensible
funny
jargon
topology
dvcs
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
6 weeks ago by jm
Fsq.io
august 2017 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
may 2016 by jm
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
s3git
git
ops
storage
cloud
s3
disk
aws
version-control
blake2
april 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. http://s3git.org
april 2016 by jm
GitHub now supports "squash on merge"
april 2016 by jm
yay.
On the other hand -- http://www.thecaucus.net/#/content/caucus/tech_blog/516 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
On the other hand -- http://www.thecaucus.net/#/content/caucus/tech_blog/516 is a good explanation of why not to adopt it. Pity GitHub haven't made it a per-review option...
april 2016 by jm
git integrity - Google Groups
git
security
integrity
error-checking
dvcs
version-control
coding
february 2016 by jm
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.
february 2016 by jm
"So you have a mess on your hands" [png]
january 2016 by jm
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
october 2015 by jm
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
What is the fastest way to clone a git repository over a fast network connection? - Stack Overflow
september 2015 by jm
"git bundle create" -- neat trick
git
distribution
copying
git-bundle
cli
september 2015 by jm
Advantages of Monolithic Version Control
august 2015 by jm
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?
june 2015 by jm
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
(via Darrell)
june 2015 by jm
GitTorrent
may 2015 by jm
'A Decentralized GitHub'. nifty
distributed
git
github
bittorrent
bitcoin
gittorrent
dvcs
may 2015 by jm
Travis Brown on Twitter: ".@stuhood walks us through the tiny print of his "most controversial slide". #SFScala"
february 2015 by jm
The argument for the "monorepo" -- ie. lots of projects in a single Git repo. There's lots more discussion pro/con on twitter, e.g.: https://twitter.com/search?q=monorepo&src=typd , https://twitter.com/hivetheory/timelines/449385567982067713
monorepo
git
repository
dependencies
libraries
coding
february 2015 by jm
OSTree
os
gnome
git
linux
immutable
deployment
packaging
via:fanf
december 2014 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.
december 2014 by jm
Why your company shouldn’t use Git submodules
april 2014 by jm
'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
jmason/IPC-DirQueue
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/*
february 2014 by jm
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
deploy_to_runit
january 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
december 2013 by jm
Choose-your-own-adventure style. "Oh dear. This is going to get complicated."
(via Tom)
via:tom
cyoa
git
fixing
revert
source-control
coding
(via Tom)
december 2013 by jm
Docker: Git for deployment
docker
deployment
sysadmin
ops
devops
vms
vagrant
virtualization
containers
linux
git
august 2013 by jm
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.
august 2013 by jm
What is the CouchDB replication protocol? Is it like Git? - Stack Overflow
april 2013 by jm
Good write up of CouchDB replication
protocols
couchdb
sync
replication
git
mvcc
databases
merging
timelines
april 2013 by jm
KDE's brush with git repository corruption: post-mortem
march 2013 by jm
a barely-averted disaster... phew.
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
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).'
march 2013 by jm
GitHub Archive
github
data
git
history
version-control
oss
archival
march 2013 by jm
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.
march 2013 by jm
How to revert a faulty merge in git
february 2013 by jm
omgwtf, this is pretty horrific.
merging
git
merge
omgwtf
version-control
branching
february 2013 by jm
airlift/airline · GitHub
january 2013 by jm
Annotations-based git-like CLI helper for Java
git
cli
java
january 2013 by jm
Large file management with git-annex
december 2011 by jm
'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
september 2011 by jm
'git checkout -t' alone is worth the bookmark
git
tips
coding
unix
reference
tricks
via:proggit
september 2011 by jm
Gerrit, Git and Jenkins
february 2011 by jm
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
february 2011 by jm
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
september 2010 by jm
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
gitPAN
june 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
september 2009 by jm
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
august 2009 by jm
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 ⊕ mirroring ⊕ 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: