Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add novice/ref/01-shell.md and novice/teaching/02-shell.md #27

Closed
wking opened this issue Dec 3, 2014 · 15 comments
Closed

Add novice/ref/01-shell.md and novice/teaching/02-shell.md #27

wking opened this issue Dec 3, 2014 · 15 comments

Comments

@wking
Copy link
Contributor

wking commented Dec 3, 2014

This novice shell content wasn't in novice/shell or the earlier shell/novice or bash/novice, so we need to graft it in by hand. Looking at its history:

$ git log --stat --oneline --follow bc/master -- novice/ref/01-shell.md
b614a72 Putting a blank line between the header and the four-'#' titles so that the latter will format properly
 novice/ref/01-shell.md | 1 +
 1 file changed, 1 insertion(+)
5705090 *   Getting rid of old cheat sheets *   Indenting error output cells *   Removing explicit 'level' keys from Markdown files *   Storing the generated files so that people who don't use those tools won't have to regenerate them. *   Modifying .gitignore to reflect this. *   Updating the Makefile to run Jekyll exactly once. *   Command to install on the server *   No longer worrying about making a page of images *   Better (more guessable) name for the target that builds the website *   Fixing image paths *   Fixing up glossary entries
 novice/ref/01-shell.md | 1 -
 1 file changed, 1 deletion(-)
94fc345 Removing explicit 'level' keys from Markdown files
 novice/ref/01-shell.md | 1 -
 1 file changed, 1 deletion(-)
b8c7dc3 Reorganizing material to put novice + intermediate at top level
 {ref/novice => novice/ref}/01-shell.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
b66851c Preparing material for Version 5 novice release
 shell/novice/reference.md => ref/novice/01-shell.md | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
3a38907 shell: Rename the new-style lessons from 'bash' to 'shell'
 {bash => shell}/novice/reference.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
5159f8a Adding shell cheat sheet
 bash/novice/reference.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

Are there side effects to these commits? Let's start with swcarpentry/DEPRECATED-bc@5159f8a:

$ git show --stat 5159f8a
commit 5159f8a2fda85bb0106d825a0fe9f84ac28d8c5d
Author: Greg Wilson <[email protected]>
Date:   Sat Nov 30 12:49:10 2013 -0500

    Adding shell cheat sheet

 bash/novice/index.md     |  1 +
 bash/novice/reference.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

so this will be a series of fixes like #13, where we need to tweak filter-branch commits to preserve the cheat-sheet changes.

@wking
Copy link
Contributor Author

wking commented Dec 3, 2014

Injecting reference.md from swcarpentry/DEPRECATED-bc@5159f8a:

Check our history:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Adding shell cheat sheet'
* | | | 2b89331 Switching to numbered list for lesson links in index files
| |_|/
|/| |
* | | ccac789 Adding shell cheat sheet
| |/
|/|
* | a227a32 Updating index file and moving utility scripts to the right place

Replace ccac789 with a cherry-pick:

$ git checkout -b wip 'HEAD^{/Adding shell cheat sheet}^'
$ git cherry-pick 'bc/master^{/Adding shell cheat sheet}'
$ git mv bash/novice/reference.md .
$ git commit --amend --no-edit

Check the new commit:

$ git show --stat -M50
commit 88824be792d64734dcab2d884d7196098f524401
Author: Greg Wilson <[email protected]>
Date:   Sat Nov 30 12:49:10 2013 -0500

    Adding shell cheat sheet

 index.md     |  1 +
 reference.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

Shift our old history onto the new commit:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Adding shell cheat sheet}'

Check the history again:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Adding shell cheat sheet'
* | | | ca4651b Switching to numbered list for lesson links in index files
| |_|/
|/| |
* | | 88824be (wip) Adding shell cheat sheet
| |/
|/|
* | a227a32 Updating index file and moving utility scripts to the right place

Remove the temporary branch:

$ git branch -D wip

We can skip swcarpentry/DEPRECATED-bc@3a38907, since it's just a rename.

@wking
Copy link
Contributor Author

wking commented Dec 3, 2014

Injecting the change from swcarpentry/DEPRECATED-bc@b66851c:

Check our history:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Preparing material for Version 5 novice release'
|/
* 99de30c Minor typo
* 5b183eb Corrects runtime calculation for goostat and goodiff
* 5aca06b Preparing material for Version 5 novice release
*   7a05ef1 Merge pull request #255 from wking/no-shebangs
|\
| * e687bdf bash/novice/guide.md: Explain why we don't cover shebangs

Replace 5aca06b with a cherry-pick:

$ git checkout -b wip 'HEAD^{/Preparing material for Version 5 novice release}^'
$ git cherry-pick 'bc/master^{/Preparing material for Version 5 novice release}'
$ git rm -rf .gitignore _layouts _templates bib.md bin css extras git gloss.md intro.md LICENSE.md Makefile NEW_MATERIAL.md python ref/novice/index.md ref/novice/0[234]* rules.md setup.md sql teaching/novice/index.md teaching/novice/0[234]* thinking

$ git add index.md

$ git rm guide.md
$ git add teaching/novice/01-shell.md
$ git mv teaching/novice/01-shell.md guide.md

$ git rm reference.md
$ git add ref/novice/01-shell.md
$ git mv ref/novice/01-shell.md reference.md

$ git mv shell/novice/README.txt ./
$ git rm -rf shell/novice

$ git cherry-pick --continue

Check the new commit:

$ git show --stat -M50
commit 172c9b75f1cff81013cc40a2b8021d251de46f7f
Author: Greg Wilson <[email protected]>
Date:   Fri Feb 7 12:05:02 2014 -0500

    Preparing material for Version 5 novice release

 00-intro.md              |  15 +++---
 01-filedir.md            |  78 ++++++++++++++---------------
 02-create.md             |  33 ++++++-------
 03-pipefilter.md         |  81 +++++++++++++++----------------
 04-loop.md               |  36 +++++++++-----
 05-script.md             |  74 ++++++++++++++++++++--------
 06-find.md               |  58 ++++++++++++++--------
 README.txt               |   7 +++
 guide.md                 |  11 ++---
 img/home-directories.odg | Bin 9870 -> 9875 bytes
 img/home-directories.svg | 240 +++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
 img/nano-screenshot.png  | Bin 24493 -> 42241 bytes
 index.md                 |  17 ++-----
 reference.md             |  20 ++++----
 14 files changed, 360 insertions(+), 310 deletions(-)

$ diff -u <(git ls-tree -r 5aca06b) <(git ls-tree -r HEAD)
--- /dev/fd/63  2014-12-03 09:45:24.246568630 -0800
+++ /dev/fd/62  2014-12-03 09:45:24.247568630 -0800
@@ -196,6 +196,7 @@
 100644 blob 602ae8aaca432a3c753c6cd8ebca0dde500ef8dd   finding/vlad/tools/stats
 100644 blob 46f7b0914306f602e25e55fcd58757ec39167afe   gen-nene.py
 100644 blob d3c5d6fa9cf61d8fe1ba3deb65595342a0be0217   gen-sequence.py
+100644 blob b7459239881a25578222c8602e87f2302dbe0ea8   guide.md
 100644 blob c3bf2526efc6bda4b0504400120eb2dac33019f7   img/filesystem-challenge.odg
 100644 blob 9c077f0cea68c310e9c2034319b3dfd1e9135c17   img/filesystem-challenge.svg
 100644 blob 1bc3cbb0cd24fe124b7408c8704e271120f97110   img/filesystem.odg
@@ -214,6 +215,7 @@
 100644 blob 581be2e43b0d7730111afd460d59b99cba19c71c   molecules/octane.pdb
 100644 blob 1eef172169002ec9c9a95a0645cce46836e06a30   molecules/pentane.pdb
 100644 blob 21ad7c49c55bc4b966f046919852457f95c31066   molecules/propane.pdb
+100644 blob 2874d3d461f502a7501793711aa9763995ca72b6   reference.md
 100644 blob 1d140ca4d1e7cc863f879b75098074904e4ef851   scripting/backup/chloratin.dat
 100644 blob 9bddbd7f7e92b9a69e245e289ed620078a4565d9   scripting/backup/sphag-merged.dat
 100644 blob 88b8dd30054c832ecdc2034d07b993cc2833de7d   scripting/chloratin.dat

Shift our old history onto the new commit:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Preparing material for Version 5 novice release}'

Check the history again:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Preparing material for Version 5 novice release'
|/
* 75f22a4 Minor typo
* ede6397 Corrects runtime calculation for goostat and goodiff
* 172c9b7 (wip) Preparing material for Version 5 novice release
*   7a05ef1 Merge pull request #255 from wking/no-shebangs
|\
| * e687bdf bash/novice/guide.md: Explain why we don't cover shebangs

Remove the temporary branch:

$ git branch -D wip

We can skip swcarpentry/DEPRECATED-bc@b8c7dc3, since it's just a rename.

@wking
Copy link
Contributor Author

wking commented Dec 3, 2014

Still to go: swcarpentry/DEPRECATED-bc@b614a72, swcarpentry/DEPRECATED-bc@5705090, swcarpentry/DEPRECATED-bc@94fc345, but I'm out of time at the moment.

@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

Injecting the change from swcarpentry/DEPRECATED-bc@94fc345:

Check our history:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Removing explicit '
* | 9be5529 Match number of samples and math in novice shell Introduction
|/
* 91e137a Converting shell lesson Markdown files to use div + fence block
* cb1724f Removing explicit 'level' keys from Markdown files
* af734ae Switching to explicit <pre> blocks with styles instead of fences
* c68708e Fixing formatting of pipe-and-filter challenges
* 70b07a2 find: Use -print and adjust filenames to match the diagrams

Replace cb1724f with a cherry-pick:

$ git checkout -b wip 'HEAD^{/Removing explicit }^'
$ git cherry-pick 94fc345
$ git rm -rf novice
$ git cherry-pick --continue

Check the new commit:

$ git show --stat -M50
commit 4b80e937f00fd91019797ca49a1c73d895e11a1f
Author: Greg Wilson <[email protected]>
Date:   Thu Feb 27 10:39:39 2014 -0500

    Removing explicit 'level' keys from Markdown files

 00-intro.md      | 1 -
 01-filedir.md    | 1 -
 02-create.md     | 1 -
 03-pipefilter.md | 1 -
 04-loop.md       | 1 -
 05-script.md     | 1 -
 06-find.md       | 1 -
 guide.md         | 1 -
 index.md         | 1 -
 reference.md     | 1 -
 10 files changed, 10 deletions(-)

$ diff -u <(git ls-tree -r cb1724f) <(git ls-tree -r HEAD)
--- /dev/fd/63  2014-12-04 08:15:59.298638842 -0800
+++ /dev/fd/62  2014-12-04 08:15:59.298638842 -0800
@@ -196,7 +196,7 @@
 100644 blob 602ae8aaca432a3c753c6cd8ebca0dde500ef8dd   finding/vlad/tools/stats
 100644 blob 46f7b0914306f602e25e55fcd58757ec39167afe   gen-nene.py
 100644 blob d3c5d6fa9cf61d8fe1ba3deb65595342a0be0217   gen-sequence.py
-100644 blob b7459239881a25578222c8602e87f2302dbe0ea8   guide.md
+100644 blob 031a8f0b9f8202013d0f8ed43d94f738bbd8cb81   guide.md
 100644 blob c3bf2526efc6bda4b0504400120eb2dac33019f7   img/filesystem-challenge.odg
 100644 blob 9c077f0cea68c310e9c2034319b3dfd1e9135c17   img/filesystem-challenge.svg
 100644 blob 1bc3cbb0cd24fe124b7408c8704e271120f97110   img/filesystem.odg
@@ -215,7 +215,7 @@
 100644 blob 581be2e43b0d7730111afd460d59b99cba19c71c   molecules/octane.pdb
 100644 blob 1eef172169002ec9c9a95a0645cce46836e06a30   molecules/pentane.pdb
 100644 blob 21ad7c49c55bc4b966f046919852457f95c31066   molecules/propane.pdb
-100644 blob 2874d3d461f502a7501793711aa9763995ca72b6   reference.md
+100644 blob 0aa49052ab20d1495b317d7d83d11e64cd229c9f   reference.md
 100644 blob 1d140ca4d1e7cc863f879b75098074904e4ef851   scripting/backup/chloratin.dat
 100644 blob 9bddbd7f7e92b9a69e245e289ed620078a4565d9   scripting/backup/sphag-merged.dat
 100644 blob 88b8dd30054c832ecdc2034d07b993cc2833de7d   scripting/chloratin.dat

Shift our old history onto the new commit:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Removing explicit }'

Check the history again:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Removing explicit '
* | 131ccaa Match number of samples and math in novice shell Introduction
|/
* 4515e0e Converting shell lesson Markdown files to use div + fence block
* 4b80e93 (wip) Removing explicit 'level' keys from Markdown files
* af734ae Switching to explicit <pre> blocks with styles instead of fences
* c68708e Fixing formatting of pipe-and-filter challenges
* 70b07a2 find: Use -print and adjust filenames to match the diagrams

Remove the temporary branch:

$ git branch -D wip

@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

I'd dropped our version of swcarpentry/bc@5705090 in #9, because
all the changes we cared about were already in swcarpentry/DEPRECATED-bc@94fc345:

$ git show --oneline 5705090 -- novice/ref/01-shell.md novice/teaching/01-shell.md
5705090 *   Getting rid of old cheat sheets *   Indenting error output cells *   Removing explicit 'level' keys from Markdown files *   Storing the generated files so that people who don't use those tools won't have to regenerate them. *   Modifying .gitignore to reflect this. *   Updating the Makefile to run Jekyll exactly once. *   Command to install on the server *   No longer worrying about making a page of images *   Better (more guessable) name for the target that builds the website *   Fixing image paths *   Fixing up glossary entries
diff --git a/novice/ref/01-shell.md b/novice/ref/01-shell.md
index 2874d3d..0aa4905 100644
--- a/novice/ref/01-shell.md
+++ b/novice/ref/01-shell.md
@@ -2,7 +2,6 @@
 layout: lesson
 root: ../..
 title: Shell Reference
-level: novice
 ---
 #### Basic Commands

diff --git a/novice/teaching/01-shell.md b/novice/teaching/01-shell.md
index b745923..031a8f0 100644
--- a/novice/teaching/01-shell.md
+++ b/novice/teaching/01-shell.md
@@ -2,7 +2,6 @@
 layout: lesson
 root: ../..
 title: The Unix Shell
-level: novice
 ---
 Many people have questioned whether we should still teach the shell.
 After all,
$ git show --oneline 94fc345 -- novice/ref/01-shell.md novice/teaching/01-shell.md
94fc345 Removing explicit 'level' keys from Markdown files
diff --git a/novice/ref/01-shell.md b/novice/ref/01-shell.md
index 2874d3d..0aa4905 100644
--- a/novice/ref/01-shell.md
+++ b/novice/ref/01-shell.md
@@ -2,7 +2,6 @@
 layout: lesson
 root: ../..
 title: Shell Reference
-level: novice
 ---
 #### Basic Commands

diff --git a/novice/teaching/01-shell.md b/novice/teaching/01-shell.md
index b745923..031a8f0 100644
--- a/novice/teaching/01-shell.md
+++ b/novice/teaching/01-shell.md
@@ -2,7 +2,6 @@
 layout: lesson
 root: ../..
 title: The Unix Shell
-level: novice
 ---
 Many people have questioned whether we should still teach the shell.
 After all,

We just injected swcarpentry/bc@94fc345, so there's nothing to do
for swcarpentry/DEPRECATED-bc@5705090.

@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

swcarpentry/DEPRECATED-bc@b614a72 isn't actually part of filter-branch history
(it only touched novice/ref), so we're not replacing anything when
we graft it on here. Get some context for where it should fit in:

$ git log --graph --topo-order --oneline --decorate bc/master | grep -4 'Putting a blank line between'
| | * | | | | | | | | | | fa9e3f8 Indenting error output cells
| | * | | | | | | | | | | 170c7a7 Getting rid of old cheat sheets
| | | |_|_|_|_|_|_|/ / /
| | |/| | | | | | | | |
| * | | | | | | | | | | b614a72 Putting a blank line between the header and the four-'#' titles so that the latter will format properly
| * | | | | | | | | | | 5705090 *   Getting rid of old cheat sheets *   Indenting error output cells *   Removing explicit 'level' keys from Markdown files *   Storing the generated files so that people who don't use those tools won't have to regenerate them. *   Modifying .gitignore to reflect this. *   Updating the Makefile to run Jekyll exactly once. *   Command to install on the server *   No longer worrying about making a page of images *   Better (more guessable) name for the target that builds the website *   Fixing image paths *   Fixing up glossary entries
| |/ / / / / / / / / /
* | | | | | | | | | |   06483a3 Merge pull request #348 from r-gaia-cs/issue-298
|\ \ \ \ \ \ \ \ \ \ \

We dropped the branch around swcarpentry/bc@5705090, so lets just
add this after our “Removing explicit 'level' keys from Markdown
files” commit, which is the last commit from the branch that we did
keep:

$ git checkout -b wip 'HEAD^{/Removing explicit}'
$ git cherry-pick b614a72
$ git rm -rf novice
$ git cherry-pick --continue

While removing the “Conflicts” block from the commit message, I took
the opportunity to break the long summary into a shorter:

Putting a blank line between the header and the four-'#' titles

So that the latter will format properly.

Check the new commit:

$ git show --stat -M50
commit 65259618b9c753f56409a09a5b8fd3beea7d7520
Author: Greg Wilson <[email protected]>
Date:   Fri Feb 28 07:50:46 2014 -0500

    Putting a blank line between the header and the four-'#' titles

    So that the latter will format properly.

 reference.md | 1 +
 1 file changed, 1 insertion(+)

Shift our old history onto the new commit:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Removing explicit}'

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -3 'Putting a blank line'
* | f096091 Match number of samples and math in novice shell Introduction
|/
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 (wip) Putting a blank line between the header and the four-'#' titles
* 4b80e93 Removing explicit 'level' keys from Markdown files
* af734ae Switching to explicit <pre> blocks with styles instead of fences
* c68708e Fixing formatting of pipe-and-filter challenges

Remove the temporary branch:

$ git branch -D wip

@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

That's all the cheat-sheet (reference.md) commits. We pulled in some instructor-guide stuff along the way, did we get it all?

$ git log --stat --oneline --follow bc/master -- novice/teaching/01-shell.md
171fa48 Making space for general teaching notes
 novice/teaching/01-shell.md | 117 --------------------------------------------
 1 file changed, 117 deletions(-)
5705090 *   Getting rid of old cheat sheets *   Indenting error output cells *   Removing explicit 'level' keys from Markdown files *   Storing the generated files so that people who don't use those tools won't have to regenerate them. *   Modifying .gitignore to reflect this. *   Updating the Makefile to run Jekyll exactly once. *   Command to install on the server *   No longer worrying about making a page of images *   Better (more guessable) name for the target that builds the website *   Fixing image paths *   Fixing up glossary entries
 novice/teaching/01-shell.md | 1 -
 1 file changed, 1 deletion(-)
94fc345 Removing explicit 'level' keys from Markdown files
 novice/teaching/01-shell.md | 1 -
 1 file changed, 1 deletion(-)
b8c7dc3 Reorganizing material to put novice + intermediate at top level
 {teaching/novice => novice/teaching}/01-shell.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
b66851c Preparing material for Version 5 novice release
 shell/novice/guide.md => teaching/novice/01-shell.md | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
3a38907 shell: Rename the new-style lessons from 'bash' to 'shell'
 {bash => shell}/novice/guide.md | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
880357e bash/novice/guide.md: Explain why we don't cover shebangs
 bash/novice/guide.md | 6 ++++++
 1 file changed, 6 insertions(+)
fd9b35b Putting titles etc. into page headers
 bash/novice/guide.md | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
f3492cf Inserting keypoints and objectives (but they're not formatting properly)
 bash/novice/guide.md | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)

The oldest three commits were in bash/novice/guide.md, so our bash/novice filter-branch will have picked those up (#4). Then there's the rename to shell/novice, which we also handled in #4. Then there's swcarpentry/DEPRECATED-bc@b66851c (which we handled above), swcarpentry/DEPRECATED-bc@b8c7dc3 (which is a rename we don't care about), swcarpentry/DEPRECATED-bc@94fc345 (which we handled above), swcarpentry/DEPRECATED-bc@5705090 (which we don't need), and swcarpentry/DEPRECATED-bc@171fa48 (which removes a bunch of lines).

I'll take a close look at swcarpentry/DEPRECATED-bc@171fa48 next.

@wking wking changed the title Add novice/ref/01-shell.md. Add novice/ref/01-shell.md and novice/teaching/01-shell.md Dec 4, 2014
@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

Ah, swcarpentry/DEPRECATED-bc@171fa48 just renamed our guide to novice/teaching/02-shell.md:

$ git show --stat -M50 171fa48
commit 171fa488c6a28ad0b2181be2883634f791274e53
Author: Greg Wilson <[email protected]>
Date:   Mon Mar 3 13:30:33 2014 -0500

    Making space for general teaching notes

 novice/teaching/01-general.md                  | 11 +++++++++++
 novice/teaching/{01-shell.md => 02-shell.md}   |  0
 novice/teaching/{02-git.md => 03-git.md}       |  0
 novice/teaching/{03-python.md => 04-python.md} |  0
 novice/teaching/{04-sql.md => 05-sql.md}       |  0
 novice/teaching/index.md                       |  9 +++++----
 6 files changed, 16 insertions(+), 4 deletions(-)

Is there any history after the rename?

$ git log --stat --oneline --follow bc/master -- novice/teaching/02-shell.md
fb4d59c Replace bootcamp with workshop
 novice/teaching/02-shell.md | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
65b7f03 Moved, reworded POSIX-compliance note
 novice/teaching/02-shell.md | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)
8bb8467 OSX section to POSIX, moved to top
 novice/teaching/02-shell.md | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)
730ad4d Typo fix: linux -> Linux
 novice/teaching/02-shell.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
d3e8218 Typo fix
 novice/teaching/02-shell.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
a2b89bf OSX/Linux shell differences in teaching notes
 novice/teaching/02-shell.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)
e2f3f3d Modifying all raw Markdown files to use class attributes for code blocks
 novice/teaching/02-shell.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
4baa7ef Moving conclusions of discussion from #140 to the teaching notes
 novice/teaching/02-shell.md | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)
7d03694 Adding points from #56 to the teaching guide
 novice/teaching/02-shell.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
171fa48 Making space for general teaching notes
 novice/teaching/{01-shell.md => 02-shell.md} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
…

Yup ;). Do we have any of those commits already? I checked with git log --oneline | grep '<bit from commit message>. From oldest to youngest:

I'll figure out where the missing commits fit in and get these all injected next.

@wking
Copy link
Contributor Author

wking commented Dec 4, 2014

It looks like we do have all the cheat-sheet history though:

$ git ls-tree HEAD | grep reference.md 
100644 blob cbc9b2795a84c2f0e1771e294fa6a0cfb9acee5b    reference.md
$ git ls-tree -r bc/master | grep novice/ref/01-shell.md
100644 blob cbc9b2795a84c2f0e1771e294fa6a0cfb9acee5b    novice/ref/01-shell.md

I'll push what I currently have:

$ git push -f modular-shell HEAD:master

and get back to the remaining guide history later.

@wking wking changed the title Add novice/ref/01-shell.md and novice/teaching/01-shell.md Add novice/ref/01-shell.md and novice/teaching/02-shell.md Dec 4, 2014
@wking
Copy link
Contributor Author

wking commented Dec 11, 2014

swcarpentry/DEPRECATED-bc@7d03694 (Adding points from #56 to the teaching guide, 2014-03-13) split directly off bc's master and was merged back in by swcarpentry/DEPRECATED-bc@ba5adc75 (Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56, 2014-03-14) via the dummy merge swcarpentry/DEPRECATED-bc@20cc227 (Merging other changes to teaching notes, 2014-03-14). Our extracted history currently has nothing between a6c41cc (Converting shell lesson Markdown files to use div + fence block, 2014-03-03) and a handfull of Ethan's commits starting with f096091 (Match number of samples and math in novice shell Introduction, 2014-04-02). Here's the local graph of our current branch:

$ git log --graph --topo-order --oneline --decorate | grep -B10 'Converting shell lesson Markdown'
| * c74ae92 Add the use of ls -s -h as an exercise
| * 59e5b7f Remove discussion of ls -s and -h
* |   bc4ac85 Merge pull request #411 from ethanwhite/shell-challenge-fixes
|\ \  
| * | 8391142 Remove comparison of cp and mv from challenge in novice shell
| * | 5564fb7 Typo fix in Challenge 4 of Novice Shell 5
| * | 67a0826 Make Challenge 2 in the novice shell lesson 5 consistent
| |/  
* | f096091 Match number of samples and math in novice shell Introduction
|/  
* a6c41cc Converting shell lesson Markdown files to use div + fence block

Lets graft the bc fork and merge in, and drop the dummy merge. Recreate the pull-request on top of a6c41cc:

$ git checkout -b wip-pr a6c41cc
$ git cherry-pick 7d03694
$ git rm novice/teaching/01-general.md
$ git cherry-pick --continue

Re-create the merge:

$ git checkout -b wip a6c41cc
$ NAME=$(git show --pretty=format:%an ba5adc75)
$ EMAIL=$(git show --pretty=format:%ae ba5adc75)
$ DATE=$(git show --pretty=format:%ad ba5adc75)
$ MESSAGE=$(git show --pretty=format:%B ba5adc75)
$ GIT_AUTHOR_NAME="${NAME}" GIT_AUTHOR_EMAIL="${EMAIL}" GIT_AUTHOR_DATE="${DATE}" git merge -m "${MESSAGE}" --no-ff wip-pr

Check our reconstructed merge:

$ git log --graph --topo-order --oneline --decorate | head -n 6
*   987676d (HEAD, wip) Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56
|\  
| * 2ff2060 (wip-pr) Adding points from #56 to the teaching guide
|/  
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 Putting a blank line between the header and the four-'#' titles

Delete the temporary PR branch:

$ git branch -d wip-pr

Take our old history and move everything that used to be on top of a6c41cc over to the new wip commit:

$ git checkout novice-shell
$ git rebase -p --onto wip a6c41cc

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -B10 'Converting shell lesson Markdown'
| * | ee62dfa Remove comparison of cp and mv from challenge in novice shell
| * | f07a80e Typo fix in Challenge 4 of Novice Shell 5
| * | 9a35c4b Make Challenge 2 in the novice shell lesson 5 consistent
| |/  
* | 013ff29 Match number of samples and math in novice shell Introduction
|/  
*   987676d (wip) Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56
|\  
| * 2ff2060 Adding points from #56 to the teaching guide
|/  
* a6c41cc Converting shell lesson Markdown files to use div + fence block

Looks good. Remove the temporary branch marker:

$ git branch -d wip

@wking
Copy link
Contributor Author

wking commented Dec 11, 2014

swcarpentry/DEPRECATED-bc@4baa7efc8 (Moving conclusions of discussion from #140 to the teaching notes, 2014-03-13) split directly off bc's master from the same commit as swcarpentry/DEPRECATED-bc@7d03694. It landed earlier though, in swcarpentry/DEPRECATED-bc@bba4ace (Merge pull request #379 from gvwilson/options-
for-teaching-shell-on-windows, 2014-04-14). Recreate the pull-request on top of a6c41cc:

$ git checkout -b wip-pr a6c41cc
$ git cherry-pick 4baa7efc8

Re-create the merge:

$ git checkout -b wip a6c41cc
$ NAME=$(git show --pretty=format:%an bba4ace)
$ EMAIL=$(git show --pretty=format:%ae bba4ace)
$ DATE=$(git show --pretty=format:%ad bba4ace)
$ MESSAGE=$(git show --pretty=format:%B bba4ace)
$ GIT_AUTHOR_NAME="${NAME}" GIT_AUTHOR_EMAIL="${EMAIL}" GIT_AUTHOR_DATE="${DATE}" git merge -m "${MESSAGE}" --no-ff wip-pr

Check our reconstructed merge:

$ git log --graph --topo-order --oneline --decorate | head -n 6
*   fa9e3af (HEAD, wip) Merge pull request #379 from gvwilson/options-for-teaching-shell-on-windows
|\  
| * df99d4c (wip-pr) Moving conclusions of discussion from #140 to the teaching notes
|/  
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 Putting a blank line between the header and the four-'#' titles

Delete the temporary PR branch:

$ git branch -d wip-pr

We don't want to rebase the reconstructed 2ff2060 (Adding points
from #56 to the teaching guide, 2014-03-13), so let's just graft [1]
its merge instead of rebasing:

$ git replace --graft 987676d wip 987676d^2

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -10 incorporating-notes-from-issue-56
| * 7f1fe17 Add the use of ls -s -h as an exercise
| * 64c1724 Remove discussion of ls -s and -h
* |   14d6dff Merge pull request #411 from ethanwhite/shell-challenge-fixes
|\ \
| * | ee62dfa Remove comparison of cp and mv from challenge in novice shell
| * | f07a80e Typo fix in Challenge 4 of Novice Shell 5
| * | 9a35c4b Make Challenge 2 in the novice shell lesson 5 consistent
| |/
* | 013ff29 Match number of samples and math in novice shell Introduction
|/
*   987676d (replaced) Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56
|\
| * 2ff2060 Adding points from #56 to the teaching guide
* |   fa9e3af (wip) Merge pull request #379 from gvwilson/options-for-teaching-shell-on-windows
|\ \
| |/
|/|
| * df99d4c Moving conclusions of discussion from #140 to the teaching notes
|/
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 Putting a blank line between the header and the four-'#' titles

Filter-branch to bake-in the replacement:
$ git filter-branch -f

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -10 incorporating-notes-from-issue-56
| * 4ae23c0 Add the use of ls -s -h as an exercise
| * 636ae93 Remove discussion of ls -s and -h
* |   4055aee Merge pull request #411 from ethanwhite/shell-challenge-fixes
|\ \
| * | fbed30e Remove comparison of cp and mv from challenge in novice shell
| * | 353f9c0 Typo fix in Challenge 4 of Novice Shell 5
| * | b2bae38 Make Challenge 2 in the novice shell lesson 5 consistent
| |/
* | 662bc36 Match number of samples and math in novice shell Introduction
|/
*   aeee855 Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56
|\
| * 2ff2060 Adding points from #56 to the teaching guide
* |   fa9e3af (wip) Merge pull request #379 from gvwilson/options-for-teaching-shell-on-windows
|\ \
| |/
|/|
| * df99d4c Moving conclusions of discussion from #140 to the teaching notes
|/
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 Putting a blank line between the header and the four-'#' titles

Looks good. Remove the replacement:

$ git replace -d 987676d

Remove the temporary branch marker:

$ git branch -d wip

@wking
Copy link
Contributor Author

wking commented Dec 11, 2014

We already have a version of swcarpentry/DEPRECATED-bc@e2f3f3d (Modifying all raw Markdown files to use class attributes for code blocks, 2014-04-24): 22769b1 (Modifying all raw Markdown files to use class attributes for code blocks). The initial filter-branch seems to have dropped the merge that landed it (swcarpentry/DEPRECATED-bc@9d0e797, Merge pull request #476 from gvwilson/adding-kramdown-alds, 2014-05-03), so I'll leave that out. Do we already have the changes from swcarpentry/DEPRECATED-bc@e2f3f3d? Here's what it did:

$ git show e2f3f3d | grep -A1 'diff.*novice/teaching/02-shell.md'
diff --git a/novice/teaching/02-shell.md b/novice/teaching/02-shell.md
index a8faefb..2158ff6 100644

And here's what we have:

$ git show --stat 'HEAD^{/Modifying all raw Markdown files}'
commit 22769b1520e4173205d0f8c140181994ef69f03e
Author: Greg Wilson <[email protected]>
Date:   Thu Apr 24 16:52:17 2014 -0400

    Modifying all raw Markdown files to use class attributes for code blocks

 01-filedir.md    |  99 +++++++++++++++------------------------------
 02-create.md     | 120 +++++++++++++++++++------------------------------------
 03-pipefilter.md |  81 +++++++++++++------------------------
 04-loop.md       |  63 ++++++++++-------------------
 05-script.md     |  66 ++++++++++--------------------
 06-find.md       |  99 +++++++++++++++------------------------------
 6 files changed, 176 insertions(+), 352 deletions(-)

So we need to cherry-pick our commit again. Create a working branch:

$ git checkout -b wip 'HEAD^{/Modifying all raw Markdown files}^'
$ git cherry-pick e2f3f3d
$ git rm -rf novice aux
$ git cherry-pick --continue

Check our new commit:

$ git show HEAD | grep -A1 'diff.*guide.md*'
diff --git a/guide.md b/guide.md
index b1eaf8d..d54af77 100644

Hmm, we're not even starting with the same file hash (a8faefb vs. b1eaf8d). What's going on? Our history:

$ git log -p --follow guide.md | grep -A1 'diff.*guide.md'
diff --git a/guide.md b/guide.md
index b1eaf8d..d54af77 100644
--
diff --git a/guide.md b/guide.md
index 031a8f0..0d032cf 100644
--
diff --git a/guide.md b/guide.md
index 031a8f0..b1eaf8d 100644
--
…

And bc's history:

$ git log -p --follow e2f3f3d -- novice/teaching/02-shell.md | grep -A1 'diff.*novice/teaching/02-shell.md'
diff --git a/novice/teaching/02-shell.md b/novice/teaching/02-shell.md
index a8faefb..2158ff6 100644
--
diff --git a/novice/teaching/02-shell.md b/novice/teaching/02-shell.md
index 031a8f0..0d032cf 100644
--
diff --git a/novice/teaching/02-shell.md b/novice/teaching/02-shell.md
index 031a8f0..b1eaf8d 100644
--
…

So we agree up to the last commit (e.g. on 0d032cf and b1eaf8d), but bc gets to a8faefb, likely with some merge resolution. Lets look at that dummy merge we dropped ;).

$ git show 20cc227 | grep -A1 'diff.*novice/teaching/02-shell.md'
diff --cc novice/teaching/02-shell.md
index b1eaf8d,0d032cf..a8faefb

Aha! Ok, we need to push this merge resolution into our consolidated “Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56”. Lets abandon our current wip while we do that.

$ git reset --hard 'HEAD^{/Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56}'
$ git cat-file -p 'bc/master^{/Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56}:novice/teaching/02-shell.md' > guide.md
$ git diff | grep -A1 'diff.*guide.md'
diff --git a/guide.md b/guide.md
index b1eaf8d..a8faefb 100644
$ git commit -a --amend --no-edit

Now shift our history onto the fixed wip:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56}'

Check the fixed history:

$ git log --graph --topo-order --oneline --decorate | grep -10 incorporating-notes-from-issue-56
| * 28a8a98 Add the use of ls -s -h as an exercise
| * 71efa3c Remove discussion of ls -s and -h
* |   d756203 Merge pull request #411 from ethanwhite/shell-challenge-fixes
|\ \  
| * | ccaa543 Remove comparison of cp and mv from challenge in novice shell
| * | af9809b Typo fix in Challenge 4 of Novice Shell 5
| * | 680316f Make Challenge 2 in the novice shell lesson 5 consistent
| |/  
* | b449f8c Match number of samples and math in novice shell Introduction
|/  
*   1753e7b (wip) Merge pull request #378 from gvwilson/incorporating-notes-from-issue-56
|\  
| * 2ff2060 Adding points from #56 to the teaching guide
* |   fa9e3af Merge pull request #379 from gvwilson/options-for-teaching-shell-on-windows
|\ \  
| |/  
|/|   
| * df99d4c Moving conclusions of discussion from #140 to the teaching notes
|/  
* a6c41cc Converting shell lesson Markdown files to use div + fence block
* 6525961 Putting a blank line between the header and the four-'#' titles

Now lets get back to swcarpentry/DEPRECATED-bc@e2f3f3d. Following our earlier work:

$ git branch -d wip
$ git checkout -b wip 'HEAD^{/Modifying all raw Markdown files}^'
$ git cherry-pick e2f3f3d
$ git rm -rf novice aux
$ git cherry-pick --continue
$ git show HEAD | grep -A1 'diff.*guide.md*'
diff --git a/guide.md b/guide.md
index a8faefb..2158ff6 100644

There we go :). Put our branch onto the new wip:

$ git checkout novice-shell
$ git rebase -p --onto wip 'HEAD^{/Modifying all raw Markdown files}'

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -5 'Modifying all raw Markdown files'
*   c6ecc43 Merge pull request #514 from gvwilson/every-challenge-in-its-own-div
|\  
| * a9b57be Converting to individual challenge div's in the novice shell lessons
* | aa264c3 Explaining that argument vs. parameter is inconsistent
|/  
* ae34f57 (wip) Modifying all raw Markdown files to use class attributes for code blocks
*   7312d3f Merge pull request #412 from ethanwhite/remove-ls-details
|\  
| * 28a8a98 Add the use of ls -s -h as an exercise
| * 71efa3c Remove discussion of ls -s and -h
* |   d756203 Merge pull request #411 from ethanwhite/shell-challenge-fixes

Looks good. Remove the temporary branch:

$ git branch -d wip

@wking
Copy link
Contributor Author

wking commented Dec 11, 2014

The next set are a bit easier, because the're in a single series:

$ git log --graph --topo-order --oneline --decorate dc050fe
*   dc050fe Merge pull request #594 from noamross/master
|\  
| * 65b7f03 (origin/pr/594) Moved, reworded POSIX-compliance note
| * 8bb8467 OSX section to POSIX, moved to top
| * 730ad4d Typo fix: linux -> Linux
| * d3e8218 Typo fix
| * a2b89bf OSX/Linux shell differences in teaching notes
* |   0ec2589 Merge pull request #457 from leyder/python-string-format
… |
|/
*  506a1cc Merge pull request #577 from r-gaia-cs/mailmap

That leave bc's master at swcarpentry/DEPRECATED-bc@506a1cc (Merge pull request #577 from r-gaia-cs/mailmap, 2014-07-05) and rejoins at swcarpentry/DEPRECATED-bc@dc050fe (Merge pull request #594 from noamross/master, 2014-07-22). Looking through our extracted history, in that area we have

$ git log --graph 7e35a4d3e | head -n 90
*   commit 7e35a4d3ecd0b524c1726aeec0a1d1f342c03171
|\  Merge: df92b5e d731718
| | Author: Greg Wilson <[email protected]>
| | Date:   Wed Jul 23 10:22:26 2014 -0400
| | 
| |     Merge pull request #439 from douglatornell/hg
| |     
| |     Port Version Control Lesson to Mercurial
| |     
| *   commit d731718ea59c2704097d53cd77eb9f6b64c49023
| |\  Merge: aca9366 e8e72de
| | | Author: Doug Latornell <[email protected]>
| | | Date:   Tue Jul 22 13:35:36 2014 -0700
| | | 
| | |     Merge remote-tracking branch 'amyrbrown/hg' into hg; re: PR#5.
| | |     
| | |     * amyrbrown/hg:
| | |       Copyedits
| | |       Importing files from upstream master
| | |    
| | * commit e8e72de0fd5dc3ebb0b23f760be97e675e6db29f
| | | Author: Amy Brown <[email protected]>
| | | Date:   Tue Jun 24 11:38:32 2014 -0400
| | | 
| | |     Importing files from upstream master
| | |      
* | |   commit df92b5ed23691aa89a745b48e7e4a00960315f9f
|\ \ \  Merge: aca9366 d076ecb
| |/ /  Author: Greg Wilson <[email protected]>
|/| |   Date:   Tue Jul 22 15:52:11 2014 -0400
| | |   
| | |       Merge pull request #535 from gvwilson/rewriting-shell-lesson-using-nelle
| | |       
| | |       Rewriting novice shell lesson so that everything refers to Nelle instead of Vlad.
| | |    
| * | commit d076ecbeb7d2b99e0590ba47f96d16b545af3f20
| | | Author: Greg Wilson <[email protected]>
| | | Date:   Mon Jun 9 13:29:58 2014 -0400
| | | 
| | |     Novice shell lesson is now written in terms of Nelle instead of Vlad.
| | |    
* | | commit aca9366ba6dea4f7e2453f2af1682669ae3160d5
| |/  Author: Raniere Silva <[email protected]>
|/|   Date:   Mon Jun 23 17:48:07 2014 -0300
| |   
| |       Change some anchors to enable EPUB post processor
| |   
* | commit f718b1ae5a7e4013b86f12663caf0bd20c1a23a1
| | Author: Greg Wilson <[email protected]>
| | Date:   Sun Jun 22 07:03:43 2014 -0400
| | 
| |     Adding links to reference material on appropriate pages
| |   
* | commit 68d5b10297e92cdba89cee90d7ae2c59e673a412
| | Author: Greg Wilson <[email protected]>
| | Date:   Wed Jun 18 08:07:43 2014 -0400
| | 
| |     Fixes #546 by using level-3 headings in all Markdown source files for subsections.
| |     
| |     We continue to use level-4 headings for objectives, key points, callout boxes, and challenges.
| |     
* |   commit 90a12cecbafad33a948ead0a04e32dc1504f6126
|\ \  Merge: 02ba733 d65abe4
| | | Author: Greg Wilson <[email protected]>
| | | Date:   Sun Jun 15 17:03:52 2014 -0400
| | | 
| | |     Merge pull request #538 from mestato/fixing-sort-in-shell-lesson-3
| | |     
| | |     In the novice shell lesson 03-pipefilter, changed sort to sort -n.
| | |    
| * | commit d65abe49337cdeade441f4579b3571d970ccb3cf
| |/  Author: Meg Staton <[email protected]>
| |   Date:   Thu Jun 12 15:21:15 2014 -0400
| |   
| |       In the novice shell lesson 03-pipefilter, changed sort to sort -n
| |       
| |       In the lesson , the "sort" command is used to demonstrate sorting line
| |       counts. The lesson as written does not produce the given output on the
| |       bash shell (but does on Mac OS X terminal). By adding the -n to sort,
| |       the example should behave the same across all platforms.
| |   
* | commit 02ba733adf73a2ef18c79711d80cb175dca900c8
|/  Author: Raniere Silva <[email protected]>
|   Date:   Fri Jun 13 21:38:58 2014 -0300
|   
|       Small fix to Shell Challenges
|       
|       In Markdown, lists need to start after a blank line.
|    
*   commit c6ecc43814feec9f976bc227210af668272d52d8

So the new commits fit somewhere in there ;).

@wking
Copy link
Contributor Author

wking commented Dec 13, 2014

Looking for the above commits in bc's master:

$ git log --date=short --pretty=format:'%h %ad %s' --first-parent bc/master | grep -7 '506a1cc\|dc050fe'
625e709 2014-07-23 Merge pull request #439 from douglatornell/hg
544d0b1 2014-07-23 Merge pull request #584 from gvwilson/adding-code-of-conduct
cfc8415 2014-07-23 Merge pull request #510 from gvwilson/creating-slides-for-lessons
918f2a7 2014-07-22 Merge pull request #610 from ivanov/phony-targets
c036cf2 2014-07-22 Merge pull request #535 from gvwilson/rewriting-shell-lesson-using-nelle
dc52c32 2014-07-22 Merge pull request #508 from drlabratory/starry-night-lesson
c8a8bd6 2014-07-22 Merge pull request #585 from keszybz/git-diff-fix
dc050fe 2014-07-22 Merge pull request #594 from noamross/master
0ec2589 2014-07-22 Merge pull request #457 from leyder/python-string-format
7ee2fdb 2014-07-21 Merge pull request #606 from gvwilson/fixing-sed-in-makefile
2105b05 2014-07-12 Merge pull request #507 from jainsley/master
506a1cc 2014-07-05 Merge pull request #577 from r-gaia-cs/mailmap
acbadd8 2014-07-04 Merge pull request #553 from r-gaia-cs/recognising-shell
80477a4 2014-07-04 Merge pull request #582 from r-gaia-cs/fix-book-images
412d9f4 2014-07-01 Merge pull request #565 from gvwilson/making-check-more-prominent
aafa576 2014-07-01 Merge pull request #518 from drlabratory/jekyll-flags
8dadd34 2014-06-29 Merge pull request #554 from gvwilson/checking-contact-email-address
0f674ba 2014-04-11 Add epub entry to Makefile
ffb6cb1 2014-06-23 Change some anchors to enable EPUB post processor

We can see “Change some anchors to enable EPUB post processor” and “Merge pull request #535 from gvwilson/rewriting-shell-lesson-using-nelle”, both part of our extracted history. Both swcarpentry/DEPRECATED-bc@506a1cc and swcarpentry/DEPRECATED-bc@dc050fe fall between those commits, so we don't have to do anything complicated. Recreate the pull request branch:

$ git checkout -b wip-pr 'HEAD^{/Change some anchors to enable EPUB post processor}'
$ git cherry-pick a2b89bf d3e8218 730ad4d 8bb8467 65b7f03

Re-create the merge:

$ git checkout -b wip 'novice-shell^{/Change some anchors to enable EPUB post processor}'
$ NAME=$(git show --pretty=format:%an dc050fe)
$ EMAIL=$(git show --pretty=format:%ae dc050fe)
$ DATE=$(git show --pretty=format:%ad dc050fe)
$ MESSAGE=$(git show --pretty=format:%B dc050fe)
$ GIT_AUTHOR_NAME="${NAME}" GIT_AUTHOR_EMAIL="${EMAIL}" GIT_AUTHOR_DATE="${DATE}" git merge -m "${MESSAGE}" --no-ff wip-pr

Check our reconstructed merge:

$ git log --graph --topo-order --oneline --decorate | head -n 10
*   3a5ec85 (HEAD, wip) Merge pull request #594 from noamross/master
|\
| * 841ef6b (wip-pr) Moved, reworded POSIX-compliance note
| * 2568dea OSX section to POSIX, moved to top
| * d9cd64a Typo fix: linux -> Linux
| * a542b7e Typo fix
| * 6404b91 OSX/Linux shell differences in teaching notes
|/
* aca9366 Change some anchors to enable EPUB post processor
* f718b1a Adding links to reference material on appropriate pages

Delete the temporary PR branch:

$ git branch -d wip-pr

Take our old history and move everything that used to be on top of a6c41cc over to the new wip commit:

$ git checkout novice-shell
$ git rebase -p wip

Check the new history:

$ git log --graph --topo-order --oneline --decorate | grep -10 'Typo fix: linux -> Linux'
| | * e8e72de Importing files from upstream master
* | |   c4a60c0 Merge pull request #535 from gvwilson/rewriting-shell-lesson-using-nelle
|\ \ \
| |/ /
|/| |
| * | d076ecb Novice shell lesson is now written in terms of Nelle instead of Vlad.
* | |   3a5ec85 (wip) Merge pull request #594 from noamross/master
|\ \ \
| * | | 841ef6b Moved, reworded POSIX-compliance note
| * | | 2568dea OSX section to POSIX, moved to top
| * | | d9cd64a Typo fix: linux -> Linux
| * | | a542b7e Typo fix
| * | | 6404b91 OSX/Linux shell differences in teaching notes
|/ / /
* | | aca9366 Change some anchors to enable EPUB post processor
| |/
|/|
* | f718b1a Adding links to reference material on appropriate pages
* | 68d5b10 Fixes #546 by using level-3 headings in all Markdown source files for subsections.
* |   90a12ce Merge pull request #538 from mestato/fixing-sort-in-shell-lesson-3
|\ \

Looks good. Remove the temporary branch marker:

$ git branch -d wip

@wking
Copy link
Contributor Author

wking commented Dec 13, 2014

Ok, just swcarpentry/DEPRECATED-bc@fb4d59c (Replace bootcamp with workshop, 2014-09-25) to go :). Where was that in bc?

$ git log --graph --topo-order --oneline --decorate bc/master | grep -2 'Replace bootcamp with workshop'
* | | | | | | | | | | | | | | | |   9603446 Merge pull request #742 from r-gaia-cs/replace-bootcamp-with-workshop
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  
| * | | | | | | | | | | | | | | | | fb4d59c (origin/pr/742) Replace bootcamp with workshop
|/ / / / / / / / / / / / / / / / /  
* | | | | | | | | | | | | | | | |   0aa91fb Merge pull request #454 from wking/installation-test-bc-namespaced

Nice and compact :). What do we have in the viscinity of 2014-09-25?

$ git log --date=short --pretty=format:'%h %ad %s' --first-parent HEAD | grep 2014-09
3a09988 2014-09-26 Small Grammatical Change to List Format
a5abf9f 2014-09-08 Merge branch 'shell-filesystem-consistency' of github.com:rbeagrie/bc into shell-filesystem-consistency
30d441e 2014-09-08 Added missing dir spotted by @claresloggett

So it should come between “Merge branch 'shell-filesystem-consistency' of github.com:rbeagrie/bc into shell-filesystem-consistency” and “Small Grammatical Change to List Format”.

$ git checkout -b wip-pr a5abf9f
$ git cherry-pick fb4d59c
$ git rm -rf novice/ intermediate/ index.html img/workshops/ css/ bin/ _includes/ _layouts/ README.md Makefile CONTRIBUTING.md
$ git cherry-pick --continue

Re-create the merge:

$ git checkout -b wip a5abf9f
$ NAME=$(git show --pretty=format:%an 9603446)
$ EMAIL=$(git show --pretty=format:%ae 9603446)
$ DATE=$(git show --pretty=format:%ad 9603446)
$ MESSAGE=$(git show --pretty=format:%B 9603446)
$ GIT_AUTHOR_NAME="${NAME}" GIT_AUTHOR_EMAIL="${EMAIL}" GIT_AUTHOR_DATE="${DATE}" git merge -m "${MESSAGE}" --no-ff wip-pr

Check our reconstructed merge:

$ git log --graph --topo-order --oneline --decorate | head -n 5
*   e326d76 (HEAD, wip) Merge pull request #742 from r-gaia-cs/replace-bootcamp-with-workshop
|\
| * 34b32ec (wip-pr) Replace bootcamp with workshop
|/
*   a5abf9f Merge branch 'shell-filesystem-consistency' of github.com:rbeagrie/bc into shell-filesystem-consistency

Delete the temporary PR branch:

$ git branch -d wip-pr

Take our old history and move everything that used to be on top of a6c41cc over to the new wip commit:

$ git checkout novice-shell
$ git rebase -p wip

Check the new history:

$ git log --graph --topo-order --oneline --decorate | head
* a8a8643 (HEAD, novice-shell) Minor wording changes
* 9cde165 Small Grammatical Change to List Format
*   e326d76 (wip) Merge pull request #742 from r-gaia-cs/replace-bootcamp-with-workshop
|\
| * 34b32ec Replace bootcamp with workshop
|/
*   a5abf9f Merge branch 'shell-filesystem-consistency' of github.com:rbeagrie/bc into shell-filesystem-consistency
|\
| * a54a01f Some fixes suggested by @claresloggett
* | 30d441e Added missing dir spotted by @claresloggett

Looks good. Remove the temporary branch marker:

$ git branch -d wip

And publish the new history:

$ git push -f modular-shell novice-shell:master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant