<?xml version="1.0" encoding="UTF-8"?>
 <rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://pinboard.in">
    <title>Pinboard (jm)</title>
    <link>https://pinboard.in/u:jm/public/</link>
    <description>recent bookmarks from jm</description>
    <items>
      <rdf:Seq>	<rdf:li rdf:resource="https://notes.billmill.org/blog/2024/03/How_I_use_git_worktrees.html?ck_subscriber_id=512829374"/>
	<rdf:li rdf:resource="https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github"/>
	<rdf:li rdf:resource="https://www.jessesquires.com/blog/2022/04/19/github-suspending-russian-accounts/"/>
	<rdf:li rdf:resource="https://segment.com/blog/goodbye-microservices/"/>
	<rdf:li rdf:resource="http://web.archive.org/web/20101221025743/http://tartley.com/?p=1267"/>
	<rdf:li rdf:resource="https://engineering.foursquare.com/fsq-io-open-sourcing-foursquares-production-codebase-af7563cbff31"/>
	<rdf:li rdf:resource="https://about.gitlab.com/2016/05/23/gitlab-container-registry/"/>
	<rdf:li rdf:resource="https://github.com/s3git/s3git"/>
	<rdf:li rdf:resource="https://github.com/blog/2141-squash-your-commits"/>
	<rdf:li rdf:resource="https://groups.google.com/forum/#!topic/binary-transparency/f-BI4o8HZW0"/>
	<rdf:li rdf:resource="http://justinhileman.info/article/git-pretty/git-pretty.png"/>
	<rdf:li rdf:resource="http://blog.acolyer.org/2015/10/16/holistic-configuration-management-at-facebook/"/>
	<rdf:li rdf:resource="http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903"/>
	<rdf:li rdf:resource="http://danluu.com/monorepo/"/>
	<rdf:li rdf:resource="https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/"/>
	<rdf:li rdf:resource="http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/"/>
	<rdf:li rdf:resource="https://code.google.com/p/git-repo/"/>
	<rdf:li rdf:resource="https://twitter.com/travisbrown/status/567887549672263680/photo/1"/>
	<rdf:li rdf:resource="https://wiki.gnome.org/Projects/OSTree"/>
	<rdf:li rdf:resource="http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/"/>
	<rdf:li rdf:resource="https://github.com/jmason/IPC-DirQueue"/>
	<rdf:li rdf:resource="http://git.661346.n2.nabble.com/Git-is-not-scalable-with-too-many-refs-td6456443.html"/>
	<rdf:li rdf:resource="https://github.com/baudehlo/deploy_to_runit"/>
	<rdf:li rdf:resource="http://sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge"/>
	<rdf:li rdf:resource="http://blog.scoutapp.com/articles/2013/08/28/docker-git-for-deployment"/>
	<rdf:li rdf:resource="http://stackoverflow.com/questions/4766391/what-is-the-couchdb-replication-protocol-is-it-like-git/4766398#4766398"/>
	<rdf:li rdf:resource="http://jefferai.org/2013/03/24/too-perfect-a-mirror/"/>
	<rdf:li rdf:resource="http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/"/>
	<rdf:li rdf:resource="http://www.githubarchive.org/"/>
	<rdf:li rdf:resource="http://schacon.github.com/git/howto/revert-a-faulty-merge.txt"/>
	<rdf:li rdf:resource="https://github.com/airlift/airline"/>
	<rdf:li rdf:resource="http://lwn.net/Articles/419241/"/>
	<rdf:li rdf:resource="http://www.mikealrogers.com/posts/apache-considered-harmful.html"/>
	<rdf:li rdf:resource="http://mislav.uniqpath.com/2010/07/git-tips/"/>
	<rdf:li rdf:resource="http://alblue.bandlem.com/2011/02/someday.html"/>
	<rdf:li rdf:resource="http://toroid.org/ams/git-website-howto"/>
	<rdf:li rdf:resource="http://dashes.com/anil/2010/09/forking-is-a-feature.html"/>
	<rdf:li rdf:resource="http://github.com/schwern/gitpan#readme"/>
	<rdf:li rdf:resource="http://blog.red-bean.com/sussman/?p=226"/>
	<rdf:li rdf:resource="http://neverfear.org/blog/view/72/Simpletons_guide_to_git"/>
      </rdf:Seq>
    </items>
  </channel><item rdf:about="https://notes.billmill.org/blog/2024/03/How_I_use_git_worktrees.html?ck_subscriber_id=512829374">
    <title>git worktrees</title>
    <dc:date>2025-01-28T11:30:33+00:00</dc:date>
    <link>https://notes.billmill.org/blog/2024/03/How_I_use_git_worktrees.html?ck_subscriber_id=512829374</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is a pretty nifty feature I was unaware of; git now has built-in support for "worktrees", multiple parallel checkouts of the same git repo in side-by-side directories. (via Last Week in AWS)]]></description>
<dc:subject>via:lwia git worktrees checkouts coding version-control unix</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:07d8d7a01928/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:lwia"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:worktrees"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:checkouts"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github">
    <title>Suppressing generated files in GitHub pull requests</title>
    <dc:date>2024-10-14T11:23:03+00:00</dc:date>
    <link>https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This is a handy feature. If you have to check in generated files for some reason, you can mark them as generated in Github using this .gitattributes setting (via Tomasz Nurkiewicz)]]></description>
<dc:subject>via:nurkewicz git github code pull-requests</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:727fb5958911/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:nurkewicz"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pull-requests"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.jessesquires.com/blog/2022/04/19/github-suspending-russian-accounts/">
    <title>GitHub has wiped out open source history by &quot;suspending&quot; Russian users</title>
    <dc:date>2022-04-21T16:32:01+00:00</dc:date>
    <link>https://www.jessesquires.com/blog/2022/04/19/github-suspending-russian-accounts/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[This sounds like a pretty crappy way to go about things:

<blockquote>It is unclear to me what GitHub’s intended result was with these account suspensions, but it appears to be incredibly destructive for any open source project that has interacted with a now-suspended account. On a service like Twitter, you can visit the placeholder profile of a suspended account and see a message communicating that the account is suspended, and other users’ @mentions of the account still link to the suspended account’s profile. On GitHub, that’s not how it works at all.

Apparently, “suspending an account” on GitHub actually means deleting all activity for a user — which results in (1) every pull request from the suspended account being deleted, (2) every issue opened by the suspended account being deleted, (3) every comment or discussion from the suspended account being deleted. In effect, the user’s entire activity and history is evaporated. All of this valuable data is lost. The only thing left intact is the raw Git commit history. It’s as if the user never existed.</blockquote>

]]></description>
<dc:subject>github fail russia sanctions git pull-requests suspensions accounts</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4962193a29e0/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:fail"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:russia"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sanctions"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:pull-requests"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:suspensions"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:accounts"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://segment.com/blog/goodbye-microservices/">
    <title>Goodbye Microservices: From 100s of problem children to 1 superstar · Segment Blog</title>
    <dc:date>2018-07-11T10:51:32+00:00</dc:date>
    <link>https://segment.com/blog/goodbye-microservices/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Super-happy we resisted many of the microservices gospels and dodged this bullet]]></description>
<dc:subject>architecture microservices monolith git monorepo</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:ee7d4848d848/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:architecture"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:microservices"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monolith"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepo"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://web.archive.org/web/20101221025743/http://tartley.com/?p=1267">
    <title>Git, complicated? Of course not! Commits map to isomorphic contours in source-code phase space</title>
    <dc:date>2018-03-04T22:14:40+00:00</dc:date>
    <link>http://web.archive.org/web/20101221025743/http://tartley.com/?p=1267</link>
    <dc:creator>jm</dc:creator><description><![CDATA[The inspiration for the classic tweet.

<blockquote>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</blockquote>

]]></description>
<dc:subject>git incomprehensible funny jargon topology dvcs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:014e9d922cc9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:incomprehensible"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:funny"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jargon"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:topology"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dvcs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://engineering.foursquare.com/fsq-io-open-sourcing-foursquares-production-codebase-af7563cbff31">
    <title>Fsq.io</title>
    <dc:date>2017-08-16T09:15:51+00:00</dc:date>
    <link>https://engineering.foursquare.com/fsq-io-open-sourcing-foursquares-production-codebase-af7563cbff31</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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]]></description>
<dc:subject>open-source oss foursquare libraries maintainance coding git monorepos</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:156e835d8a9f/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:oss"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:foursquare"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:libraries"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:maintainance"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepos"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://about.gitlab.com/2016/05/23/gitlab-container-registry/">
    <title>GitLab Container Registry</title>
    <dc:date>2016-05-24T07:17:17+00:00</dc:date>
    <link>https://about.gitlab.com/2016/05/23/gitlab-container-registry/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[GitLab continue to out-innovate Github, which is just wanking around with breaking the UI these days]]></description>
<dc:subject>gitlab github git ci cd containers docker deployment coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5378add3a162/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gitlab"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ci"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cd"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:containers"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:docker"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/s3git/s3git">
    <title>s3git</title>
    <dc:date>2016-04-07T22:48:16+00:00</dc:date>
    <link>https://github.com/s3git/s3git</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>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</blockquote>

]]></description>
<dc:subject>git ops storage cloud s3 disk aws version-control blake2</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2a8236088fa8/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:storage"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cloud"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:s3"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:disk"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aws"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:blake2"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/blog/2141-squash-your-commits">
    <title>GitHub now supports &quot;squash on merge&quot;</title>
    <dc:date>2016-04-04T10:27:23+00:00</dc:date>
    <link>https://github.com/blog/2141-squash-your-commits</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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...]]></description>
<dc:subject>github code-reviews squashing merges git coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:3121861d13a4/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code-reviews"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:squashing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merges"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://groups.google.com/forum/#!topic/binary-transparency/f-BI4o8HZW0">
    <title>git integrity - Google Groups</title>
    <dc:date>2016-02-02T20:45:58+00:00</dc:date>
    <link>https://groups.google.com/forum/#!topic/binary-transparency/f-BI4o8HZW0</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>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. </blockquote>

]]></description>
<dc:subject>git security integrity error-checking dvcs version-control coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f6ee9cd93ebe/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:security"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:integrity"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:error-checking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dvcs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://justinhileman.info/article/git-pretty/git-pretty.png">
    <title>&quot;So you have a mess on your hands&quot; [png]</title>
    <dc:date>2016-01-21T15:32:40+00:00</dc:date>
    <link>http://justinhileman.info/article/git-pretty/git-pretty.png</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Excellent flowchart of how to fix common git screwups (via ITC slack)]]></description>
<dc:subject>git reference flowchart troubleshooting help coding via:itc</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5d2fb5af7517/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reference"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:flowchart"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:troubleshooting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:help"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:itc"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.acolyer.org/2015/10/16/holistic-configuration-management-at-facebook/">
    <title>Holistic Configuration Management at Facebook</title>
    <dc:date>2015-10-21T09:42:20+00:00</dc:date>
    <link>http://blog.acolyer.org/2015/10/16/holistic-configuration-management-at-facebook/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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.]]></description>
<dc:subject>facebook configuration zookeeper git ops architecture</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4d78be2bfbde/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:facebook"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:configuration"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:zookeeper"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:architecture"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903">
    <title>What is the fastest way to clone a git repository over a fast network connection? - Stack Overflow</title>
    <dc:date>2015-09-18T09:11:01+00:00</dc:date>
    <link>http://stackoverflow.com/questions/8180525/what-is-the-fastest-way-to-clone-a-git-repository-over-a-fast-network-connection/8180903#8180903</link>
    <dc:creator>jm</dc:creator><description><![CDATA["git bundle create" -- neat trick]]></description>
<dc:subject>git distribution copying git-bundle cli</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:51b32493537b/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:distribution"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:copying"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git-bundle"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://danluu.com/monorepo/">
    <title>Advantages of Monolithic Version Control</title>
    <dc:date>2015-08-10T16:52:01+00:00</dc:date>
    <link>http://danluu.com/monorepo/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[another Dan Luu post -- good summary of the monorepo's upside]]></description>
<dc:subject>monorepo git mercurial versioning source-control coding dependencies</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:33ea04f52f61/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mercurial"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:versioning"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:source-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dependencies"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/">
    <title>Git team workflows: merge or rebase?</title>
    <dc:date>2015-06-19T14:17:42+00:00</dc:date>
    <link>https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Well-written description of the pros and cons.  I'm a rebaser, fwiw.

(via Darrell)]]></description>
<dc:subject>via:darrell git merging rebasing history git-log coding workflow dev teams collaboration github</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:d29727c5091e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:darrell"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rebasing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git-log"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:workflow"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dev"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:teams"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:collaboration"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/">
    <title>GitTorrent</title>
    <dc:date>2015-05-29T22:02:31+00:00</dc:date>
    <link>http://blog.printf.net/articles/2015/05/29/announcing-gittorrent-a-decentralized-github/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['A Decentralized GitHub'. nifty]]></description>
<dc:subject>distributed git github bittorrent bitcoin gittorrent dvcs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:585c17403853/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:distributed"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bittorrent"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bitcoin"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gittorrent"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dvcs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://code.google.com/p/git-repo/">
    <title>repo</title>
    <dc:date>2015-05-14T13:09:39+00:00</dc:date>
    <link>https://code.google.com/p/git-repo/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['The multiple repository tool'.  How Google kludged around the split-repo problem when you don't have a monorepo.]]></description>
<dc:subject>kludges git monorepo monorepi google android aosp repo coding version-control dvcs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5ffb20587c5e/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kludges"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepi"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:google"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:android"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:aosp"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:repo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dvcs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://twitter.com/travisbrown/status/567887549672263680/photo/1">
    <title>Travis Brown on Twitter: &quot;.@stuhood walks us through the tiny print of his &quot;most controversial slide&quot;. #SFScala&quot;</title>
    <dc:date>2015-02-18T23:09:24+00:00</dc:date>
    <link>https://twitter.com/travisbrown/status/567887549672263680/photo/1</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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]]></description>
<dc:subject>monorepo git repository dependencies libraries coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2f77f3b56ddc/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:monorepo"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:repository"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dependencies"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:libraries"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://wiki.gnome.org/Projects/OSTree">
    <title>OSTree</title>
    <dc:date>2014-12-09T22:36:38+00:00</dc:date>
    <link>https://wiki.gnome.org/Projects/OSTree</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>"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.</blockquote>

]]></description>
<dc:subject>os gnome git linux immutable deployment packaging via:fanf</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:7fcc1fbae602/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:os"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gnome"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:immutable"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:packaging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:fanf"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/">
    <title>Why your company shouldn’t use Git submodules</title>
    <dc:date>2014-04-28T13:47:05+00:00</dc:date>
    <link>http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['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.']]></description>
<dc:subject>git source-control revision-control submodules storage</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:2faf80c0c530/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:source-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:revision-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:submodules"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:storage"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/jmason/IPC-DirQueue">
    <title>jmason/IPC-DirQueue</title>
    <dc:date>2014-04-03T13:56:29+00:00</dc:date>
    <link>https://github.com/jmason/IPC-DirQueue</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Finally got around to migrating this old CPAN module to github]]></description>
<dc:subject>cpan github ipc-dirqueue perl open-source hacks git svn</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:a854b392a134/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cpan"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ipc-dirqueue"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:perl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:open-source"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:hacks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:svn"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://git.661346.n2.nabble.com/Git-is-not-scalable-with-too-many-refs-td6456443.html">
    <title>Git is not scalable with too many refs/*</title>
    <dc:date>2014-02-10T15:05:16+00:00</dc:date>
    <link>http://git.661346.n2.nabble.com/Git-is-not-scalable-with-too-many-refs-td6456443.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Mailing list thread from 2011; git starts to keel over if you tag too much]]></description>
<dc:subject>git tags coding version-control bugs scaling refs</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:69c9ace4f14c/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tags"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bugs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scaling"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:refs"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/baudehlo/deploy_to_runit">
    <title>deploy_to_runit</title>
    <dc:date>2014-01-20T21:51:10+00:00</dc:date>
    <link>https://github.com/baudehlo/deploy_to_runit</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A nice node.js app to perform continuous deployment from a GitHub repo via its webhook support, from Matt Sergeant]]></description>
<dc:subject>github node.js runit deployment git continuous-deployment devops ops</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9aeabd119bbf/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:node.js"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:runit"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:continuous-deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:devops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge">
    <title>On undoing, fixing, or removing commits in git</title>
    <dc:date>2013-12-17T16:46:34+00:00</dc:date>
    <link>http://sethrobertson.github.io/GitFixUm/fixup.html#pushed_new_merge</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Choose-your-own-adventure style.  "Oh dear. This is going to get complicated."

(via Tom)]]></description>
<dc:subject>via:tom cyoa git fixing revert source-control coding</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:090a62a423b3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:tom"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cyoa"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:fixing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:revert"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:source-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.scoutapp.com/articles/2013/08/28/docker-git-for-deployment">
    <title>Docker: Git for deployment</title>
    <dc:date>2013-08-28T22:41:34+00:00</dc:date>
    <link>http://blog.scoutapp.com/articles/2013/08/28/docker-git-for-deployment</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>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.</blockquote>

]]></description>
<dc:subject>docker deployment sysadmin ops devops vms vagrant virtualization containers linux git</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:86b5d1c7ef67/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:docker"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sysadmin"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:devops"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vms"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vagrant"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:virtualization"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:containers"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:linux"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://stackoverflow.com/questions/4766391/what-is-the-couchdb-replication-protocol-is-it-like-git/4766398#4766398">
    <title>What is the CouchDB replication protocol? Is it like Git? - Stack Overflow</title>
    <dc:date>2013-04-09T13:00:58+00:00</dc:date>
    <link>http://stackoverflow.com/questions/4766391/what-is-the-couchdb-replication-protocol-is-it-like-git/4766398#4766398</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Good write up of CouchDB replication]]></description>
<dc:subject>protocols couchdb sync replication git mvcc databases merging timelines</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:4e9a30a7e5fd/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:protocols"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:couchdb"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sync"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:replication"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mvcc"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:databases"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:timelines"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://jefferai.org/2013/03/24/too-perfect-a-mirror/">
    <title>KDE's brush with git repository corruption: post-mortem</title>
    <dc:date>2013-03-24T20:26:16+00:00</dc:date>
    <link>http://jefferai.org/2013/03/24/too-perfect-a-mirror/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[a barely-averted disaster... phew.

<blockquote>
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.</blockquote>

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).']]></description>
<dc:subject>rate-limiting case-studies post-mortems kde git data-corruption risks mirroring replication raid bugs backups snapshots sanity-checks automation ops</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:6ba6f59d2552/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:rate-limiting"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:case-studies"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:post-mortems"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:kde"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data-corruption"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:risks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mirroring"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:replication"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:raid"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:bugs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:backups"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:snapshots"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:sanity-checks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:automation"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ops"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/">
    <title>Using DiffMerge as your Git visual merge and diff tool</title>
    <dc:date>2013-03-14T12:40:52+00:00</dc:date>
    <link>http://twobitlabs.com/2011/08/install-diffmerge-git-mac-os-x/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[A decent 3-way-diff GUI merge tool which works with git on OSX.  "git config" command-lines included in this blog post]]></description>
<dc:subject>git merge osx mac macosx diff mergetool merging cli diffmerge</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:9f672847293a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merge"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:osx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mac"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:macosx"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diff"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:mergetool"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:diffmerge"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.githubarchive.org/">
    <title>GitHub Archive</title>
    <dc:date>2013-03-09T21:24:03+00:00</dc:date>
    <link>http://www.githubarchive.org/</link>
    <dc:creator>jm</dc:creator><description><![CDATA[<blockquote>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.</blockquote>

]]></description>
<dc:subject>github data git history version-control oss archival</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:f51f9ed6efd3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:data"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:oss"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:archival"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://schacon.github.com/git/howto/revert-a-faulty-merge.txt">
    <title>How to revert a faulty merge in git</title>
    <dc:date>2013-02-22T17:09:52+00:00</dc:date>
    <link>http://schacon.github.com/git/howto/revert-a-faulty-merge.txt</link>
    <dc:creator>jm</dc:creator><description><![CDATA[omgwtf, this is pretty horrific.]]></description>
<dc:subject>merging git merge omgwtf version-control branching</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:170296a66080/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merging"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:merge"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:omgwtf"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:branching"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="https://github.com/airlift/airline">
    <title>airlift/airline · GitHub</title>
    <dc:date>2013-01-07T23:18:29+00:00</dc:date>
    <link>https://github.com/airlift/airline</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Annotations-based git-like CLI helper for Java]]></description>
<dc:subject>git cli java</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:275df1b35f8a/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cli"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:java"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://lwn.net/Articles/419241/">
    <title>Large file management with git-annex</title>
    <dc:date>2011-12-04T23:11:34+00:00</dc:date>
    <link>http://lwn.net/Articles/419241/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['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]]></description>
<dc:subject>git git-annex version-control</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:5b20421d8445/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git-annex"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://www.mikealrogers.com/posts/apache-considered-harmful.html">
    <title>Apache considered harmful</title>
    <dc:date>2011-11-23T21:59:04+00:00</dc:date>
    <link>http://www.mikealrogers.com/posts/apache-considered-harmful.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[ouch]]></description>
<dc:subject>git asf apache via:hn github programming</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:fd68b4e57a32/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:asf"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:apache"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:hn"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:programming"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://mislav.uniqpath.com/2010/07/git-tips/">
    <title>A few git tips you didn't know about</title>
    <dc:date>2011-09-13T20:50:53+00:00</dc:date>
    <link>http://mislav.uniqpath.com/2010/07/git-tips/</link>
    <dc:creator>jm</dc:creator><description><![CDATA['git checkout -t' alone is worth the bookmark
]]></description>
<dc:subject>git tips coding unix reference tricks via:proggit</dc:subject>
<dc:source>https://pinboard.in/</dc:source>
<dc:identifier>https://pinboard.in/u:jm/b:766d6b52f0b5/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tips"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:reference"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tricks"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:proggit"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://alblue.bandlem.com/2011/02/someday.html">
    <title>Gerrit, Git and Jenkins</title>
    <dc:date>2011-02-10T14:09:47+00:00</dc:date>
    <link>http://alblue.bandlem.com/2011/02/someday.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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!]]></description>
<dc:subject>git coding code-review workflows jenkins gerrit c-i testing automation</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:e011af356bf3/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:coding"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:code-review"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:workflows"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:jenkins"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gerrit"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:c-i"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:testing"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:automation"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://toroid.org/ams/git-website-howto">
    <title>Using Git to manage a web site</title>
    <dc:date>2011-02-07T10:48:42+00:00</dc:date>
    <link>http://toroid.org/ams/git-website-howto</link>
    <dc:creator>jm</dc:creator><description><![CDATA[simple, basic demo of a git post-receive hook to auto-check-out every rev committed to a git repository]]></description>
<dc:subject>git deployment howto via:hackernews</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:f70aae3c0e94/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:deployment"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:howto"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:hackernews"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://dashes.com/anil/2010/09/forking-is-a-feature.html">
    <title>Forking is a Feature - Anil Dash</title>
    <dc:date>2010-09-13T09:04:05+00:00</dc:date>
    <link>http://dashes.com/anil/2010/09/forking-is-a-feature.html</link>
    <dc:creator>jm</dc:creator><description><![CDATA[thought-provoking piece about GitHub-style forking applied to other disciplines; Tumblr, Dribbble, Forrst being cases where it's happening now]]></description>
<dc:subject>community development forking github git opensource tumblr dribbble forrst wikipedia</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:d85c71d2a5e9/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:community"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:development"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:forking"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:github"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:opensource"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tumblr"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dribbble"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:forrst"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:wikipedia"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://github.com/schwern/gitpan#readme">
    <title>gitPAN</title>
    <dc:date>2010-06-11T10:05:33+00:00</dc:date>
    <link>http://github.com/schwern/gitpan#readme</link>
    <dc:creator>jm</dc:creator><description><![CDATA[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]]></description>
<dc:subject>git gitpan cpan backpan perl releases archives history version-control</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:b336aafb7197/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:gitpan"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:cpan"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:backpan"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:perl"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:releases"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:archives"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:history"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:version-control"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://blog.red-bean.com/sussman/?p=226">
    <title>Ben Collins-Sussman: The True Path</title>
    <dc:date>2009-09-02T20:50:55+00:00</dc:date>
    <link>http://blog.red-bean.com/sussman/?p=226</link>
    <dc:creator>jm</dc:creator><description><![CDATA[Ben C-S rejigs the legendary "ed, man!  !man ed" net.humor for a new age of DVCSes]]></description>
<dc:subject>dvcs ed git funny humour zealotry unix</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:285edb31f354/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:dvcs"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:ed"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:funny"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:humour"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:zealotry"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:unix"/>
</rdf:Bag></taxo:topics>
</item>
<item rdf:about="http://neverfear.org/blog/view/72/Simpletons_guide_to_git">
    <title>Simpleton's guide to git</title>
    <dc:date>2009-08-27T13:39:24+00:00</dc:date>
    <link>http://neverfear.org/blog/view/72/Simpletons_guide_to_git</link>
    <dc:creator>jm</dc:creator><description><![CDATA[it really is.  Yet another one-page intro to git, but a good one]]></description>
<dc:subject>git tips via:joshua scm tools vc</dc:subject>
<dc:identifier>https://pinboard.in/u:jm/b:e6847e8b27fb/</dc:identifier>
<taxo:topics><rdf:Bag>	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:git"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tips"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:via:joshua"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:scm"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:tools"/>
	<rdf:li rdf:resource="https://pinboard.in/u:jm/t:vc"/>
</rdf:Bag></taxo:topics>
</item>
</rdf:RDF>