Version Control and Git - GitHub Workshop

Post on 13-Jul-2015

346 views 1 download

Tags:

Transcript of Version Control and Git - GitHub Workshop

!

GOTTA GROK GITAll Things Open

October 22, 2014

!!

!

Tools, processes & communication.

!

How Do Committees Invent?

Melvin E. Conway

Copyright 1968, F. D. Thompson Publications, Inc.Reprinted by permission of

Datamation magazine, where it appeared April, 1968.

That kind of intellectual activity which creates a whole from its diverse parts may be called the design of a system. Whether the particular activity is the creation of specifications for a major weapon system, the formation of a recommendation to meet a social challenge, or the programming of a computer, the general activity is largely the same.

Typically, the objective of a design organization is the creation and assembly

!

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.

Melvin Conway

!

!1968

HOW TO COMMITTEES INVENT? – DATAMATION

!

!!

!

Tools define communication.

!

Communication define culture.

!

Tools define culture.

!

Chris KellyIN MEATSPACE

!

@amateurhumanON THE INTERNET

!

!

!!

Productivity with better Git and GitHub.

!!

git add .› git commit -m “blarg”›

!!

Git is source control.

!!

Git is communication.

!!

Git is a debugger.

!!

Git is an enforcer.

!!

Git is automation.

!

Git isn’t linear.

!

Git isn’t permanent.

!

Git isn’t GitHub.

!

!

!

!

!Going inside.

!

git init› Initialized empty Git repository in /Users/amateurhuman/Repos/sample/.git/

!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── info │   └── pack └── refs ├── heads └── tags

!

echo ‘All Things Open' | \ git hash-object -w --stdin

69053dcce790795e81715f0189874eb444283a1a

!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── 69 │   │   └── 053dcce790795e81715f0189874eb444283a1a │   ├── info │   └── pack └── refs ├── heads └── tags

!

git cat-file -p 69053dcce7› All Things Open

!

echo "MIT License" > LICENSE› git hash-object -w LICENSE›

d1e1072ee5e1d109c15b6fd18756aedc2a401840

!

git cat-file -t d1e1072ee5› blob

!

git update-index --add \ --cacheinfo 100644 \ d1e1072ee5e1d109c15b6fd18756aedc2a401 LICENSE

!

git write-tree› 1e64e3ebbaf64bd48a0e4dfb90aec69b0f32e90d

!

git cat-file -p \ 1e64e3ebbaf64bd48a0e4dfb90aec69b0f32

› 100644 blob d1e1072ee5e1d109c15b6fd18756aedc2a401840 LICENSE

!

echo “Apache v2" > LICENSE› git update-index LICENSE›

› git update-index --add source.c

!

git write-tree› 9b1fb9441319be18f900a443db6898f43c69e577

!

git cat-file -p 9b1fb94413› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

!

git cat-file -p 5c217fa6d7› Apache v2

!

echo "Initial commit" | \ git commit-tree 9b1fb9441319be18f900

› d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12

!

git update-index \ --add include/header.h

git write-tree› 6d189a0b90cb07212e7b7aee837c90fc7595a147

!

git cat-file -p 6d189a0b90› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

!

echo "Add header" | \ git commit-tree 6d189a \ -p d8a926

532d9258310ee0a4eefcbd52e152dbf0238d9e63

!

git log 532d92› commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Oct 12 01:25:30 2014 -0400

Add header

commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

!

git cat-file -p 532d9258310ee0a4eefcbd› tree 6d189a0b90cb07212e7b7aee837c90fc7595a147 parent d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 author Chris Kelly <amateurhuman@gmail.com> 1413955530 -0400 committer Chris Kelly <amateurhuman@gmail.com> 1413955530 -0400

Add header

!

git cat-file -p 6d189a0b90cb07212e7b7a› 100644 blob 5c217fa6d7f5536f958193e9cb04a8d4db588db6 LICENSE 040000 tree a2fe4c0988d4ad5b5637f09ab5874972328cb563 include 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 source.c

!

git cat-file -p a2fe4c0988d4ad5b5637f0› 100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 header.h

!

git cat-file -p e69de29bb2d1d6434b8b29› /**********************************************************************

header.h -

$Author$ created at: Sun 10 12:06:15 Jun JST 2007

Copyright (C) 2007-2008 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_H #define RUBY_H 1

#define HAVE_RUBY_DEFINES_H 1 #define HAVE_RUBY_ENCODING_H 1 #define HAVE_RUBY_INTERN_H 1

!

commit 532d92

tree 6d189a parent d8a926 author Chris committer Chris

Add header

tree 6d189a

tree a2fe4c include blob 5c217f LICENSE blob e69de2 source.c

tree a2fe4c0

blob e69de2 header.h

blob e69de29

/********************

header.h -

$Author$ created at:

blob 5c217f

Apache v2

blob e69de2

/********************

source.c -

!!

References available upon request.

!!

tree .git/refs› .git/refs ├── heads └── tags

!!

git update-ref \ refs/heads/master 532d92

!!

git log master› commit 532d9258310ee0a4eefcbd52e152dbf0238d9e63 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Oct 12 01:25:30 2014 -0400

Add header

commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

!!

cat .git/refs/heads/master› 532d9258310ee0a4eefcbd52e152dbf0238d9e63

!!

git update-ref \ refs/heads/initial d8a926

!!

git log initial› commit d8a9265c9c69cd401ee5a02b0bb1681f6d19cc12 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Oct 12 01:17:08 2014 -0400

Initial commit

!!

tree .git› .git ├── HEAD ├── config ├── description ├── hooks ├── info ├── objects │   ├── info │   └── pack └── refs ├── heads └── tags

!!

git checkout initial› cat .git/HEAD›

ref: refs/heads/initial

!!

git update-ref \ refs/tags/v0.1 532d92

!!

tree .git/refs› .git/refs ├── heads │   ├── initial │   └── master └── tags └── v0.1

!!Getting code.

!!

company/project

git clone company/project›

company/project

local remoteworking

!!

company/project

edit README.md›

company/project

local remoteworking

README.md

!!

company/project

git add README.md›

company/project

local remoteworking

README.md

!!

company/project

git commit›

company/project

local remoteworking

README.md

!!

company/project

git push origin master›

company/project

local remoteworking

README.md README.md

!!

company/project

git fetch origin master›

company/project

local remoteworking

README.md README.md

edit1edit1

!!

company/project

git pull origin master›

company/project

local remoteworking

README.md README.md

edit1edit1edit1

edit2edit2edit2

!!

company/projectcompany/project

local remoteworking

creator/project

git remote add upstream creator/

!!

company/projectcompany/project

local remoteworking

creator/project

git fetch upstream

edit3edit3

!!

company/projectcompany/project

local remoteworking

creator/project

git push origin master

edit3edit3edit3edit3

!!

GitHub Flow- Fork a repository

- Create a feature branch

- Make your changes

- Push to your fork

- Create a Pull Request

!!Getting around.

!!

git log› commit 2f83b32f7123508239da5ed670a45e831d614ac7 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 22:36:17 2014 +0000

update doc.

commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

commit 7ce520e90a2aa4fae492ecdd0cba5b4df92c9462

!!

git show 2f83b32f71235082› git show 2f83b32f71› git show 2f83b3›

!!

git show 2f83b32f71235082› git show v2.3›

!!

git log --pretty=format:› 2f83b32 update doc. 2f00c56 * ext/date/lib/date.rb: fix indent [ci skip] 7ce520e * ext/tk/tcltklib.c: (experimental) support Tcl/Tk8.6.2. * ext/tk/extconf.rb: d 450307e * enum.c (nmin_run): max(n) and max_by(n) returns an array in descending 63fa57e * 2014-10-14 1f6fa32 ChangeLog: fix a typo for r47897. f77d22d common.mk: update-gems for older BASERUBY caa54c1 Revert r47899 8d7fa22 * lib/xmlrpc/parser.rb: added new parser class using libxml-ruby gem. [Featur 22e26d3 fix typo and spaces c66506e * lib/find.rb (Find.find): Call to_path for arguments to obtain strings. 89322aa * common.mk: use relative load path for bundled_gems directory. [Bug #10372] 4a883ff parse.y: keep nodes linking

!!

git show 2f00c56› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

!!

git show› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

HEAD^

!!

git show› commit 2f00c56eb78696dc30b7d218bd32f10b9e96028a Author: zzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 20:16:07 2014 +0000

* ext/date/lib/date.rb: fix indent [ci skip]

diff --git a/ext/date/lib/date.rb b/ext/date/lib/date.rb index 83234f4..4268661 100644 --- a/ext/date/lib/date.rb +++ b/ext/date/lib/date.rb @@ -29,11 +29,11 @@ class Date when Infinity; return d <=> other.d when Numeric; return d

HEAD~3commit 450307e38315f81c10d959054c49d8baed522027 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 16:30:07 2014 +0000

* enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson.

diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@

!!

git show› HEAD~3commit 450307e38315f81c10d959054c49d8baed522027 Author: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Mon Oct 13 16:30:07 2014 +0000

* enum.c (nmin_run): max(n) and max_by(n) returns an array in descending order. [ruby-core:65452] Suggested by David Grayson.

diff --git a/ChangeLog b/ChangeLog index faecb02..aa563ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@

^^^

!!

git log master..fix› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

^master fix

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

fix ^master

!!

git log› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

fix --not master

!!

git log fix fix2 ^master› commit 7a5dcdde4939c254f79bb737d31ed6c75117a8dd Author: Chris Kelly <amateurhuman@gmail.com> Date: Thu Oct 13 11:49:12 2014 +0100

Breaking stuff

commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

!!

git show 8345091› commit 834509194853859f92a40d949d83d9dc1c757cf6 Author: Chris Kelly <amateurhuman@gmail.com> Date: Wed Apr 16 14:50:26 2014 -0700

Fix text overflowing out of scroll view when soft wrapped

diff --git a/stylesheets/zen.less b/stylesheets/zen.less index 5b5cf64..786ec25 100644 --- a/stylesheets/zen.less +++ b/stylesheets/zen.less @@ -14,6 +14,10 @@ width: 700px; margin: 0 auto;

!!

git lol fix..master› 36ffb49 2014-10-10 (HEAD, master) width is configurable [Chris Wanstrath] f8e758c 2014-10-10 (v0.8.0) Prepare 0.8.0 release [Chris Wanstrath] 0434992 2014-10-10 fix config names [Chris Wanstrath] 9a0f4d8 2014-10-10 (v0.7.0) Prepare 0.7.0 release [Chris Wanstrath] 4f5b8a2 2014-10-10 :lipstick: [Chris Wanstrath] e187c92 2014-10-10 Reorganize enter / exit code a bit. [Chris Wanstrath] 9265568 2014-10-10 Piggy-back on preferredLineLength in the config [Chris Wanstrath] 7da2ae0 2014-10-10 Default width to editor.preferredLineLength [Chris Wanstrath] a4c4a02 2014-10-10 Make width configurable [Chris Wanstrath] cea10c6 2014-10-10 :lipstick: [Chris Wanstrath] 6637c13 2014-10-10 Hide the TreeView so people can unhide it. [Chris Wanstrath] 9057633 2014-10-10 remove soft wrap testing comment [Chris Wanstrath] 0a2d244 2014-10-10 Automatically soft wrap. Closes #24 [Chris Wanstrath]

!!

git log \ origin/master..HEAD

!!

git log gc.c› commit a223ff83b07061fe6b7259a72041c4adcc87421b Author: nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Sat Aug 30 16:29:40 2014 +0000

merge revision(s) r46387: [Backport #9607]

* gc.c: change full GC timing to keep lower memory usage. Extend heap only at (1) after major GC or (2) after several (two times, at current) minor GC Details in https://bugs.ruby-lang.org/issues/9607#note-9 [Bug #9607]

!!

git lol gc.c --since=1.month.ago› 2ccf728 2014-09-23 (HEAD, origin/ruby_2_1, ruby_2_1) merge revision(s) r47696,r47697 ee69bb4 2014-09-23 merge revision(s) r47641,r47642,r47644: [Backport #10262] [nagachika] c8ec78c 2014-09-23 merge revision(s) r47683: [Backport #10281] [nagachika] 77ce45d 2014-09-23 merge revision(s) r47111,r47212,r47451,r47452,r47680: [Backpor 7693578 2014-09-23 * version.h (RUBY_VERSION): bump RUBY_VERSION to 2.1.4. [nagachika]

!!

https://github.com/atom/atom/compare/master...ns-immutable-display-state

!!

https://github.com/atom/atom/compare/ns-immutable-display-state...master

!!

!!

!

Stop working & start playing.

!

git status› # On branch long-branch # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: lib/zen.coffee # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: menus/zen.cson #

!

git stash› Saved working directory and index state WIP on long-branch: 36ffb49 width is configurable HEAD is now at 36ffb49 width is configurable

!

git status› # On branch long-branch nothing to commit, working directory clean

!

git stash list› stash@{0}: WIP on long-branch: 36ffb49 width is configurable stash@{1}: WIP on long-branch: 36ffb49 width is configurable

!

git stash› # On branch some-other-branch # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: lib/zen.coffee # modified: menus/zen.cson # no changes added to commit (use "git add" and/or "git commit -a")

applypop

!

git branch boyscout›

!

git reset master^^^ --hard› HEAD is now at abcc6b1 rip staff1.rs

!

git checkout boyscout› Switched to branch 'boyscout'

!

git checkout fix -- path/file.md›

!

git checkout HEAD -- README.md›

!

git checkout -- README.md›

!

git checkout -f master› Switched to branch 'master'

!

git reset --hard HEAD› HEAD is now at bcc8845 width is configurable

!

git reset --hard HEAD^^^› HEAD is now at 9bd382b Prepare 0.7.0 release

!

git update-ref \ refs/heads/experiment bcc8845

!

git status› On branch experiment Changes to be committed: (use "git reset HEAD <file>..." to unstage)

modified: README.md new file: keymaps/zen.cson deleted: keymaps/zen.darwin.cson deleted: keymaps/zen.linux.cson deleted: keymaps/zen.win32.cson modified: lib/zen.coffee modified: stylesheets/zen.less

!

git revert 6767ce1› [experiment 54f3848] Revert "Updated README" 1 file changed, 1 insertion(+), 1 deletion(-)

!

git revert 54f3848› [experiment 8b7885f] Revert "Revert "Updated README"" 1 file changed, 1 insertion(+), 1 deletion(-)

!

git revert 54f3848› [experiment 8b7885f] 1 file changed, 1 insertion(+), 1 deletion(-)

Revert "Revert "Updated README""I have no idea what I'm doing

!

Diff to the second degree.

!

ack -i zen› keymaps/zen.cson 2: 'ctrl-shift-cmd-F': 'zen:toggle' 3: 'cmd-ctrl-z': 'zen:toggle' 5: 'ctrl-shift-cmd-F': 'zen:toggle' 6: 'cmd-ctrl-z': 'zen:toggle' 9: 'shift-f11': 'zen:toggle' 10: 'ctrl-shift-Z': 'zen:toggle' 12: 'shift-f11': 'zen:toggle' 13: 'ctrl-shift-Z': 'zen:toggle' 16: 'shift-f11': 'zen:toggle' 17: 'ctrl-shift-Z': 'zen:toggle' 19: 'shift-f11': 'zen:toggle' 20: 'ctrl-shift-Z': 'zen:toggle'

!

find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ s/zen/focused/ {} +

!

git diff› diff --git a/keymaps/zen.cson b/keymaps/zen.cson index 3784f7c..2f53ded 100644 --- a/keymaps/zen.cson +++ b/keymaps/zen.cson @@ -1,20 +1,20 @@ '.platform-darwin .workspace': - 'ctrl-shift-cmd-F': 'zen:toggle' - 'cmd-ctrl-z': 'zen:toggle' + 'ctrl-shift-cmd-F': 'focused:toggle' + 'cmd-ctrl-z': 'focused:toggle' '.platform-darwin .workspace .editor:not(.mini)': - 'ctrl-shift-cmd-F': 'zen:toggle' - 'cmd-ctrl-z': 'zen:toggle'

!

ack -i zen› lib/zen.coffee 14: fullscreen = atom.config.get 'Zen.fullscreen' 15: width = atom.config.get 'Zen.width' 21: # Enter Zen 47: # Exit Zen

menus/zen.cson 6: 'label': 'Zen'

package.json 2: "name": “Zen”,

README.md

!

git stash› Saved working directory and index state WIP on master: 36ffb49 width is configurable HEAD is now at 36ffb49 width is configurable

!

find . -not -path \ '*/\.*' -type f -exec \ sed -i '' \ -e s/zen/focused/ \ -e s/Zen/Focused/ {} +

!

git diff stash@{0}› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

@@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX - `shift-F11` on Windows and Linux.

!

Committing is communicating.

!

git commit -m “fixed”› [master f93a0fe] fixed 7 files changed, 47 insertions(+), 47 deletions(-) rewrite keymaps/zen.cson (60%)

!

git show HEAD› commit f93a0fe0833d22d1c045e323b5e4aab22b25f4ee Author: Chris Kelly <amateurhuman@gmail.com> Date: Thu Oct 13 13:26:58 2014 +0100

fixed

diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

!

git reset HEAD^› Unstaged changes after reset: M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

!

git commit› 1 2 # Please enter the commit message for your changes. Lines starting 3 # with '#' will be ignored, and an empty message aborts the commit. 4 # On branch master 5 # Your branch is ahead of 'origin/master' by 29 commits. 6 # (use "git push" to publish your local commits) 7 # 8 # Changes to be committed: 9 # (use "git reset HEAD <file>..." to unstage) 10 # 11 #>......modified: README.md 12 #>......modified: keymaps/zen.cson 13 #>......modified: lib/zen.coffee

1 Rename package to Focused 2 3 There is already a package in the Atom packages named Zen. Even though the 4 existing package only outputs haiku-on-command, the owner is a friend. This 5 patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you 6 don't like the name, you can pick a new one and run: 7 8 find . -not -path '*/\.*' \ 9 -type f \ 10 -exec sed -i '' \ 11 -e s/zen/focused/ \ 12 -e s/Zen/Focused/ {} + 13

!

git format-patch -n HEAD^› From d0f5920b3a27f2152394571cf2b1f82f118cd1fe Mon Sep 17 00:00:00 2001 From: Chris Kelly <amateurhuman@gmail.com> Date: Thu, 13 Oct 2014 13:30:56 +0100 Subject: [PATCH 1/1] Rename package to Focused

There is already a package in the Atom packages named Zen. Even though the existing package only outputs haiku-on-command, the owner is a friend. This patch replaces all instances of 'zen|Zen' with 'focused|Focused'. If you don't like the name, you can pick a new one and run:

find . -not -path '*/\.*' \ -type f \ -exec sed -i '' \

!

git add -p› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]?

!

?› y - stage this hunk n - do not stage this hunk q - quit; do not stage this hunk nor any of the remaining ones / - search for a hunk matching the given regex J - leave this hunk undecided, see next hunk K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks e - manually edit the current hunk ? - print help

!

git commit -m "Callback h› [master 1953833] Callback handler fixed 2 files changed, 12 insertions(+), 12 deletions(-)

!

git log› commit 4e05bc85139f0fceb2e1e60ec3b6732cc38e9f3f Author: Chris Kelly <amateurhuman@gmail.com> Date: Thu Oct 13 14:08:55 2014 +0100

Rename main function

commit 19538336d7c63097fc865f7b017c48c5b5e93d8d Author: Chris Kelly <amateurhuman@gmail.com> Date: Thu Oct 13 14:08:35 2014 +0100

Callback handler fixed

commit df9df8a911477becd723e813f564e023c11641a8

!

git rebase -i HEAD~4› 1 pick e8f500d Fix order of specs 2 pick 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 pick eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 13 # f, fixup = like "squash", but discard this commit's log message

1 pick e8f500d Fix order of specs 2 squash 6017931 Styles tweaked 3 pick 63a108c Callback handler fixed 4 squash eb4f7b9 Rename main function 5 6 # Rebase 36ffb49..eb4f7b9 onto 36ffb49 7 # 8 # Commands: 9 # p, pick = use commit 10 # r, reword = use commit, but edit the commit message 11 # e, edit = use commit, but stop for amending 12 # s, squash = use commit, but meld into previous commit 13 # f, fixup = like "squash", but discard this commit's log message

1 # This is a combination of 2 commits. 2 # The first commit's message is: 3 4 Fix order of specs 5 6 Update function 7 8 Styles tweaked 9 10 Rename main function 11 12 # This is the 2nd commit message: 13

[detached HEAD b442281] Rename package to Focused 7 files changed, 46 insertions(+), 46 deletions(-) rewrite keymaps/zen.cson (60%) Successfully rebased and updated refs/heads/master.

!

git rebase --abort›

!

git commit --amend› 1 FIx typo 2 3 # Please enter the commit message for your changes. Lines starting 4 # with '#' will be ignored, and an empty message aborts the commit. 5 # On branch master 6 # Your branch is ahead of 'origin/master' by 27 commits. 7 # (use "git push" to publish your local commits) 8 # 9 # Changes to be committed: 10 # (use "git reset HEAD^1 <file>..." to unstage) 11 # 12 #>......modified: README.md

!!

Bisect for debugging.

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

😍

😢

!!

git bisect start› git bisect bad› git bisect good v2.3›

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect start›

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad›

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good v3.2› Bisecting: 36 revisions left

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad› Bisecting: 18 revisions left

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good› Bisecting: 9 revisions left

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect bad› Bisecting: 4 revisions left

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect good› 1779f77 is first bad commit

!!

a98e343 2013-12-17 vm_trace.c: isolate exceptions [nobu] 8859ff1 2013-12-17 configure.in: add $CPPFLAGS [nobu] 2f346cb 2013-12-17 configure.in: use $DTRACE [nobu] ef9ea04 2013-12-17 configure.in: move opt-dir option [nobu] 5ea9849 2013-12-17 gc.c: prototype [nobu] 7a24660 2013-12-17 Makefile.in, configure.in: cppflags [nobu] 7c51c8f 2013-12-17 configure.in: build probes with systemtap's dtrace wrapper [tmm1] e80f2c1 2013-12-16 * lib/rubygems: Update to RubyGems master 1c5f4b3. Allows rubygems repackagers to disable backward-compatible shared gem directory behavior. * test/rubygems: 45c858d 2013-12-16 * 2013-12-17 [svn] 14e213c 2013-12-16 * NEWS (RDoc): Update version number so I don't have to change it for the final release. [drbrain] 26e425e 2013-12-16 hash.c: typo [nobu] 4210568 2013-12-16 fix typos [kazu] 9931920 2013-12-16 * NEWS: mention about Hash#reject. [nobu] 0988148 2013-12-16 hash.c: warnings in rb_hash_reject [nobu] 6cd0d06 2013-12-16 hash.c: refactor loop [nobu] 62c7356 2013-12-16 test_process.rb: fix for 32bit platforms [nobu] c560193 2013-12-16 class.c: fix option hash [nobu] 5515c56 2013-12-16 test_io.rb: IO.write test [nobu] 9ae9f7c 2013-12-16 * gc.c (rb_objspace_markable_object_p): should check special_const_p first (by is_markable_object()). [ko1] d4f80bd 2013-12-16 * ext/objspace/objspace.c (reachable_object_from_root_i): use compare_by_identity hash to avoid hash modify problem during iteration. [Bug #9252] * ext/objspac 295fe99 2013-12-16 * sample/exyacc.rb: Fix typo in a variable name [a_matsuda] f89bd95 2013-12-16 * remove trailing spaces. [nobu] 8d254db 2013-12-16 * gc.c (gc_verify_internal_consistency): should not use rb_objspace_each_objects() because it call rest_sweep(). [ko1] 1a209e4 2013-12-16 * gc.c (rb_objspace_markable_object_p): fix last commit (build error). [ko1] 1779f77 2013-12-16 * gc.c (rb_objspace_markable_object_p): it should be live objects. [ko1] 60b7bd2 2013-12-16 * gc.c (rb_objspace_each_objects): should not clear dont_lazy_sweep flag in nested case. [ko1] d8eb7f3 2013-12-16 * vm_method.c (rb_method_entry_make): fix WB miss. Note that rb_method_entry_t::klass is not constified. We may constify this field. * test/ruby/test_alias.rb: c3405de 2013-12-16 * ChangeLog: [DOC] Fix typo [a_matsuda] 4fcdce3 2013-12-16 * remove trailing spaces. [nobu] c979a67 2013-12-16 * gc.c: use gc_verify_internal_consistency() instead of gc_check_before_marks_i() for check consistency on RGENGC_CHECK_MODE >= 2. [ko1] 2a73294 2013-12-16 * process.c (make_clock_result): add :second as a unit for Process.clock_gettime. [naruse] b7cbdcc 2013-12-16 suppress warning: SAFE=3 does no sandboxing [naruse] dfa892a 2013-12-16 * gc.c: introduce GC.verify_internal_consistency method to verify GC internal data structure. Now this method only checks geneartion (old/young) consistency. [ko d87de08 2013-12-16 typo: wheb -> when [tmm1] ef6c90f 2013-12-16 * 2013-12-16 [svn] 99df7a1 2013-12-16 gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 [tmm1] 0e52301 2013-12-15 test_logger.rb: fix system dependent test [nobu] 0bb4934 2013-12-15 test_dir.rb: fix system dependent test [nobu] 1448b0a 2013-12-15 * ext/objspace/objspace.c (reachable_object_from_root_i): reachable objects should not include categories and 6c9a3cb 2013-12-15 * lib/rubygems/basic_specification.rb (class Gem): Revert r44213, it causes SystemStackError for bundler [drbrain] b3348dd 2013-12-14 envutil.rb: reduce wait [nobu] b464418 2013-12-14 test_process.rb: handshake [nobu]

git bisect reset›

!!

Cleanliness is next to Godliness.

!!

git branch --merged› fix-soft-wrapped-text-overflow rename-package * master

!!

git branch --no-merged› long-running-branch experiment-that-failed hot-fix

!!

git branch -d hot-fix› error: The branch 'hot-fix' is not fully merged. If you are sure you want to delete it, run 'git branch -D hot-fix'.

!!

git branch --merged | \ grep -v "\*" | \ xargs -n 1 \ git branch -d && git push origin --delete

!!

› long-running-branch experiment-that-failed hot-fix

git remote prune origin --dry-run

!

Laziness is next to Godliness.

!

git commit -m “Fixes #42”› Fix, Fixes, Fixed Close, Closes, Closed Resolve, Resolves, Resolved

!

git commit -m \ “Fixes defunkt/zen#42”

!

git commit -m \ “Update README [ci skip]”

!

git status› # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README.md # modified: keymaps/zen.cson # modified: lib/zen.coffee # modified: menus/zen.cson # modified: package.json

!

git status -sb› ## master...origin/master [ahead 26] M README.md M keymaps/zen.cson M lib/zen.coffee M menus/zen.cson M package.json M spec/zen-spec.coffee M stylesheets/zen.less

!

git config --global \ alias.st 'status -sb'

!

git status› # On branch master # Your branch is ahead of 'origin/master' by 26 commits. # (use "git push" to publish your local commits) # # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: README.md # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory)

!

git diff --staged› diff --git a/README.md b/README.md index 945bbd4..6ccb26a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Zen +# Focused

Distraction free writing for Atom.

@@ -7,7 +7,7 @@ fullscreen command: - `cmd-ctrl-shift-F` on OSX - `shift-F11` on Windows and Linux.

!

git config --global \ alias.ds 'diff --staged‘

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

git_branch() { echo $(/usr/bin/git symbolic-ref HEAD 2>/dev/null \ | awk -F/ {'print $NF'}) }

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

git_dirty() { st=$(/usr/bin/git status 2>/dev/null | tail -n 1) if [[ $st == "" ]] then echo "" else if [[ $st == "nothing to commit, working directory clean" ]] then echo "on %{$fg[green]%}$(git_prompt_info)%{$reset_color%}" else echo "on %{$fg[yellow]%}$(git_prompt_info)*%{$reset_color%}" fi fi }

!

~/Repos/zen/ on master* with unpushed [(03:10 PM) amateurhuman@tillandisa] ›

unpushed () { /usr/bin/git cherry -v origin/$(git_branch) 2>/dev/null }

need_push () { if [[ $(unpushed) == "" ]] then echo " " else echo " with %{$fg[magenta]%}unpushed%{$reset_color%} " fi }

!

Keyboard Shortcuts.

!t

!w

!l

!y

!

- fuzzy match a file

- switch branches

- highlight line number(s)

- get the permanent url

tw

ly

HTTPS://HELP.GITHUB.COM/ARTICLES/USING-KEYBOARD-SHORTCUTS

!

Let the machines do the work.

!

!

!

!

!

!

Real teams communicate.

!

447

!

!

!Email isn’t dead.

!

!

!!

Git is there to help.

!!

Git is your friend.

!!

Git is sometimes your drunk friend.

!!

training.github.com

!!

Thank you.

!!

@amateurhumanQUESTIONS?