{"action":"created","issue":{"url":"https://api.github.com/repos/Khan/live-editor/issues/372","labels_url":"https://api.github.com/repos/Khan/live-editor/issues/372/labels{/name}","comments_url":"https://api.github.com/repos/Khan/live-editor/issues/372/comments","events_url":"https://api.github.com/repos/Khan/live-editor/issues/372/events","html_url":"https://github.com/Khan/live-editor/pull/372","id":98590559,"number":372,"title":"Avoid undo avalanche2","user":{"login":"ChrisJPhoenix","id":5169046,"avatar_url":"https://avatars.githubusercontent.com/u/5169046?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisJPhoenix","html_url":"https://github.com/ChrisJPhoenix","followers_url":"https://api.github.com/users/ChrisJPhoenix/followers","following_url":"https://api.github.com/users/ChrisJPhoenix/following{/other_user}","gists_url":"https://api.github.com/users/ChrisJPhoenix/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisJPhoenix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisJPhoenix/subscriptions","organizations_url":"https://api.github.com/users/ChrisJPhoenix/orgs","repos_url":"https://api.github.com/users/ChrisJPhoenix/repos","events_url":"https://api.github.com/users/ChrisJPhoenix/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisJPhoenix/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-08-02T07:18:24Z","updated_at":"2015-08-18T00:48:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Khan/live-editor/pulls/372","html_url":"https://github.com/Khan/live-editor/pull/372","diff_url":"https://github.com/Khan/live-editor/pull/372.diff","patch_url":"https://github.com/Khan/live-editor/pull/372.patch"},"body":"OK, I think this is what you want... I hope so. \r\n\r\nChris\r\n"},"comment":{"url":"https://api.github.com/repos/Khan/live-editor/issues/comments/132006853","html_url":"https://github.com/Khan/live-editor/pull/372#issuecomment-132006853","issue_url":"https://api.github.com/repos/Khan/live-editor/issues/372","id":132006853,"user":{"login":"ChrisJPhoenix","id":5169046,"avatar_url":"https://avatars.githubusercontent.com/u/5169046?v=3","gravatar_id":"","url":"https://api.github.com/users/ChrisJPhoenix","html_url":"https://github.com/ChrisJPhoenix","followers_url":"https://api.github.com/users/ChrisJPhoenix/followers","following_url":"https://api.github.com/users/ChrisJPhoenix/following{/other_user}","gists_url":"https://api.github.com/users/ChrisJPhoenix/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisJPhoenix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisJPhoenix/subscriptions","organizations_url":"https://api.github.com/users/ChrisJPhoenix/orgs","repos_url":"https://api.github.com/users/ChrisJPhoenix/repos","events_url":"https://api.github.com/users/ChrisJPhoenix/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisJPhoenix/received_events","type":"User","site_admin":false},"created_at":"2015-08-18T00:48:53Z","updated_at":"2015-08-18T00:48:53Z","body":"OK... I went to the gitter room and it seems you're not there. If you're on\nMountain time, then it's 6:30 PM already so I'm guessing \"all day\" meant\nTuesday?\n\nIt took me 15 minutes of googling to find the gitter badge - it's not text\nsearchable! In hindsight, the \"Added Gitter badge\" to README.md could have\ntold me where to look, but I had to read Wikipedia to find out that I was\nsupposed to be looking for a \"gitter badge\" rather than e.g. logging in\nthrough gitter or finding the right subpart of the Github UI.\n\nIt looks like this email is all a description of stuff you've done, not\nstuff I need to do?\n\nI'm thinking a good comparison for git is the US tax code. It is not enough\nto be smart; you have to know all the details. The 80/20 rule does not\napply. A friend of mine believe-it-or-not told me today that the tax code\n\"plainly states\" that an employee deferring their salary is a taxable\nevent. Sure it's plain - if you know every detail. Likewise for knowing the\ndifference between\n  Unmerged paths: both modified: external/...\nand\n  Changes not staged for commit: modified: external/...\nmuch less what to do about each one.\n\nI suppose after I've made a few contributions this will all be second\nnature and I'll wonder why it seemed so hard. I appreciate that you have\nnever been impatient or condescending with me.\n\nChris\n\n\nOn Mon, Aug 17, 2015 at 5:22 PM, Kevin Barabash <notifications@github.com>\nwrote:\n\n> First I need to get a copy of your branch. (You don't have to do this\n> because you already have your branch)\n>\n>    - git remote add ChrisJPhoenix\n>    https://github.com/ChrisJPhoenix/live-editor (adds a remote, in\n>    addition to 'origin' called ChrisJPhoenix that points to your fork)\n>    - git checkout ChrisJPhoenix/avoid_undo_avalanche2 (checks out your\n>    branch, currently HEAD is detached)\n>    - git checkout -b avoid_undo_avalanche2 (creates a local branch\n>    pointing to the most recent commit in your branch)\n>\n> Next I want to make sure that there's only a single commit before rebasing\n> on to master. If there are merge conflicts then this makes it easier to\n> deal with them I find because you deal with them all at once. Looking at\n> the last two commits I see that you were just trying to deal with\n> whitespace issues so we can just get rid of them.\n>\n>    - git reset --hard HEAD~2 (This removes the last two commits from the\n>    current branch. Since this is done locally, if you mess something up you\n>    can always do a fresh checkout from github. I've done this many times in\n>    the past. In this case you could also just checkout the remote branch again\n>    which is a lot quicker)\n>\n> Before I actually rebase avoid_undo_avalanche2 onto master, I'm going to\n> check that master is up to date by doing:\n>\n>    - git checkout master\n>    - git pull\n>\n> Now I'm going switch back to avoid_undo_avalanche2 and rebase. At any\n> point in time if you want to check which branch you're on (and what other\n> branches are available) you can do git branch -vv.\n>\n>    - git checkout avoid_undo_avalanche2\n>    - git rebase master\n>\n> I have a couple of merge conflicts. Before continuing I want to see the\n> current lay of the land so I run git status which gives me this:\n>\n> rebase in progress; onto 687aa60\n> You are currently rebasing branch 'avoid_undo_avalanche' on '687aa60'.\n>   (fix conflicts and then run \"git rebase --continue\")\n>   (use \"git rebase --skip\" to skip this patch)\n>   (use \"git rebase --abort\" to check out the original branch)\n>\n> Changes to be committed:\n>   (use \"git reset HEAD <file>...\" to unstage)\n>\n>         modified:   js/ui/tooltip-engine.js\n>         modified:   js/ui/tooltips/color-picker.js\n>         modified:   js/ui/tooltips/number-scrubber.js\n>         modified:   tests/tooltips/index.html\n>         modified:   tests/tooltips/shared.js\n>\n> Unmerged paths:\n>   (use \"git reset HEAD <file>...\" to unstage)\n>   (use \"git add <file>...\" to mark resolution)\n>\n>         both modified:   external/colorpicker/colorpicker.js\n>         both modified:   tests/tooltips/tooltips_test.js\n>\n> Changes not staged for commit:\n>   (use \"git add <file>...\" to update what will be committed)\n>   (use \"git checkout -- <file>...\" to discard changes in working directory)\n>\n>         modified:   external/processing-js (new commits)\n>\n> See that processing-js has been updated so I need to update that submodule\n> with git submodule update. I also check which commit it wanted to update\n> processing-js to by using SourceTree which is a pretty handy GUI for cases\n> like this where I want to see want the proposed changes are.\n>\n> Now I'm left with the merge conflicts to resolve. I open up colorpicker.js\n> in my editor. Since I have invisible characters turned on it's easy to see\n> that half of the file is the original tabbed version and the half has\n> spaces. I delete the lines with tabs and remove the merge conflict markers.\n> Afterwards I'm only left with two lines that are different and they're just\n> missing trailing whitespace so I mark this file as resolved by doing git\n> add external/colorpicker/colorpicker.js. Looking at tooltips_test.js,\n> there's a very small merge conflict where one line has a trailing space. I\n> grab the line without the trailing space and mark this file resolved as\n> well using git add tests/tooltips/tooltips_test.js.\n>\n> Once all of the conflicts are resolved I finish the rebase with git\n> rebase --continue. Next I'll run all of the tests and make any additional\n> fixes.\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/Khan/live-editor/pull/372#issuecomment-132003324>.\n>\n\n\n\n-- \nChris Phoenix\ncphoenix@gmail.com\n650-776-5195\n"}}