From 67c37f0e095dc97d6aeb606b054cd1384773dd0b Mon Sep 17 00:00:00 2001 From: Jiang Xin Date: Sun, 17 Jan 2016 23:29:16 +0800 Subject: [PATCH] New them for gotgit (from gotgithub) Signed-off-by: Jiang Xin --- .buildinfo | 4 + .gitignore | 1 - 01-meet-git/010-scm-history.html | 452 + 01-meet-git/020-love-git.html | 492 + 01-meet-git/030-installation.html | 179 + 01-meet-git/035-install-on-linux.html | 334 + 01-meet-git/040-install-on-mac.html | 296 + .../050-install-on-windows-cygwin.html | 451 + .../060-install-on-windows-msysgit.html | 347 + 01-meet-git/index.html | 209 + 02-git-solo/010-git-init.html | 544 + 02-git-solo/020-git-stage.html | 692 ++ 02-git-solo/030-head-master-commit-refs.html | 547 + 02-git-solo/040-git-reset.html | 371 + 02-git-solo/050-git-checkout.html | 395 + 02-git-solo/060-git-stage-n-stash.html | 585 + 02-git-solo/070-git-basic.html | 877 ++ 02-git-solo/080-git-history-travel.html | 1212 +++ 02-git-solo/090-back-to-future.html | 1109 ++ 02-git-solo/100-git-clone.html | 452 + 02-git-solo/110-git-admin.html | 629 ++ 02-git-solo/index.html | 247 + 03-git-harmony/010-protocol.html | 561 + 03-git-harmony/020-conflict.html | 1117 ++ 03-git-harmony/030-git-tag.html | 1060 ++ 03-git-harmony/040-git-branch.html | 1632 +++ 03-git-harmony/050-git-remote.html | 585 + 03-git-harmony/060-git-offline.html | 571 + 03-git-harmony/index.html | 252 + 04-git-model/010-central-model.html | 210 + 04-git-model/020-distribute-model.html | 197 + 04-git-model/030-topgit-model.html | 935 ++ 04-git-model/040-submodule-model.html | 636 ++ 04-git-model/050-subtree-model.html | 509 + 04-git-model/060-android-model.html | 1034 ++ 04-git-model/070-git-svn.html | 793 ++ 04-git-model/index.html | 254 + 05-git-server/010-http.html | 454 + 05-git-server/020-git.html | 218 + 05-git-server/030-ssh.html | 346 + 05-git-server/040-gitolite.html | 1292 +++ 05-git-server/050-gitosis.html | 625 ++ 05-git-server/055-gerrit.html | 1225 +++ 05-git-server/060-github-like.html | 186 + 05-git-server/index.html | 329 + 06-migrate/010-cvs.html | 558 + 06-migrate/020-others.html | 156 + 06-migrate/025-svn.html | 179 + 06-migrate/030-hg.html | 213 + 06-migrate/040-others.html | 376 + 06-migrate/050-git-to-git.html | 376 + 06-migrate/index.html | 172 + 07-git-app/010-etckeeper.html | 202 + 07-git-app/020-gistore.html | 593 ++ 07-git-app/030-binary-diff.html | 419 + 07-git-app/040-cloud-storage.html | 187 + 07-git-app/index.html | 182 + 08-git-misc/010-git-cross-os.html | 152 + 08-git-misc/020-git-charset.html | 168 + 08-git-misc/030-case-insensitive.html | 163 + 08-git-misc/040-eol.html | 198 + 08-git-misc/050-git-features.html | 169 + 08-git-misc/060-attributes.html | 467 + 08-git-misc/070-hooks-and-templates.html | 330 + ...090-sparse-checkout-and-shallow-clone.html | 333 + 08-git-misc/110-graft-and-replace.html | 209 + 08-git-misc/120-git-notes.html | 321 + 08-git-misc/index.html | 178 + 90-app/010-git-commands-index.html | 1126 ++ 90-app/020-cvs-git-face2face.html | 360 + 90-app/030-svn-git-face2face.html | 399 + 90-app/040-hg-git-face2face.html | 426 + 90-app/index.html | 168 + README.md | 5 - Rakefile | 174 - _config.yml | 2 - _layouts/master.html | 62 - _layouts/ttyrecord.html | 14 - bookstore.md | 37 - demo.md | 36 - download/ch01/hello | 11 - download/ch01/world | 12 - download/ch03/install_from_git.sh | 19 - download/ch10/helloworld/.gitignore | 3 - download/ch10/helloworld/Makefile | 29 - download/ch10/helloworld/main.c | 10 - download/ch10/helloworld/version.h.in | 6 - download/ch25/manifest-revert.xslt | 25 - download/ch25/work2mirror.py | 58 - errata-others.md | 35 - errata.md | 107 - genindex.html | 117 + html/images/gotgit-cover.jpg | Bin 91234 -> 0 bytes html/inc/click_more.js | 48 - html/inc/common.css | 157 - html/inc/errata.css | 1 - html/inc/jquery-1.6.2.min.js | 18 - html/inc/prototype.js | 6081 ----------- html/inc/showtty.js | 298 - html/inc/streamtty.js | 347 - html/inc/tty.css | 29 - html/part1/ch01-01-diff-patch.html | 5 - html/part1/ch01-01-diff-patch.json | 1 - html/part2/ch04-01-first-commit.html | 5 - html/part2/ch04-01-first-commit.json | 1 - html/part2/ch04-02-git-config.html | 5 - html/part2/ch04-02-git-config.json | 1 - html/part2/ch04-03-who-does-commit.html | 5 - html/part2/ch04-03-who-does-commit.json | 1 - html/part2/ch05-01-commit-modified.html | 5 - html/part2/ch05-01-commit-modified.json | 1 - html/part2/ch05-02-index-and-diff.html | 5 - html/part2/ch05-02-index-and-diff.json | 1 - html/part2/ch05-03-git-stash.html | 5 - html/part2/ch05-03-git-stash.json | 1 - html/part2/ch06-01-git-objects.html | 5 - html/part2/ch06-01-git-objects.json | 1 - html/part2/ch06-02-sha1-hash.html | 5 - html/part2/ch06-02-sha1-hash.json | 1 - html/part2/ch07-01-git-reset.html | 5 - html/part2/ch07-01-git-reset.json | 1 - html/part2/ch07-02-reflog.html | 5 - html/part2/ch07-02-reflog.json | 1 - html/part2/ch08-01-checkout.html | 5 - html/part2/ch08-01-checkout.json | 1 - html/part2/ch09-01-i-am-back.html | 5 - html/part2/ch09-01-i-am-back.json | 1 - html/part2/ch09-02-inside-stash.html | 5 - html/part2/ch09-02-inside-stash.json | 1 - html/part2/ch10-01-tag.html | 5 - html/part2/ch10-01-tag.json | 1 - html/part2/ch10-02-rm1.html | 5 - html/part2/ch10-02-rm1.json | 1 - html/part2/ch10-03-rm2.html | 5 - html/part2/ch10-03-rm2.json | 1 - html/part2/ch10-04-undelete.html | 5 - html/part2/ch10-04-undelete.json | 1 - html/part2/ch10-05-mv.html | 5 - html/part2/ch10-05-mv.json | 1 - html/part2/ch10-06-hello-world.html | 5 - html/part2/ch10-06-hello-world.json | 1 - html/part2/ch10-07-add-i.html | 5 - html/part2/ch10-07-add-i.json | 1 - html/part2/ch10-08-ignore.html | 5 - html/part2/ch10-08-ignore.json | 1 - html/part2/ch11-01-clone.html | 5 - html/part2/ch11-01-clone.json | 1 - html/part2/ch11-02-rev-parse.html | 5 - html/part2/ch11-02-rev-parse.json | 1 - html/part2/ch11-03-rev-list.html | 5 - html/part2/ch11-03-rev-list.json | 1 - html/part2/ch12-01-back2future-1.html | 5 - html/part2/ch12-01-back2future-1.json | 1 - html/part2/ch12-02-back2future-2.html | 5 - html/part2/ch12-02-back2future-2.json | 1 - html/part2/ch12-03-back2future-3.html | 5 - html/part2/ch12-03-back2future-3.json | 1 - html/part3/smart-and-dump-protocol.html | 5 - html/part3/smart-and-dump-protocol.json | 1 - html/templates/index.erb | 58 - html/templates/scast.erb | 36 - html/templates/ttyplay.erb | 5 - images/android-gerrit-16993.png | Bin 0 -> 78666 bytes images/android-gerrit-merged.png | Bin 0 -> 59629 bytes images/back-to-future.png | Bin 0 -> 415137 bytes images/branch-feature-branch-answer.png | Bin 0 -> 32679 bytes images/branch-feature-branch-question.png | Bin 0 -> 19867 bytes images/branch-i18n-complete.png | Bin 0 -> 21085 bytes images/branch-i18n-initial.png | Bin 0 -> 6140 bytes images/branch-i18n-merge.png | Bin 0 -> 25772 bytes images/branch-i18n-rebase-complete.png | Bin 0 -> 21216 bytes images/branch-i18n-rebase.png | Bin 0 -> 22025 bytes images/branch-release-branch-answer.png | Bin 0 -> 40403 bytes images/branch-release-branch-question.png | Bin 0 -> 39182 bytes images/branch-vendor-branch.png | Bin 0 -> 7607 bytes images/central-model-workflow-1.png | Bin 0 -> 28133 bytes images/central-model-workflow-2.png | Bin 0 -> 57884 bytes images/central-model.png | Bin 0 -> 16278 bytes images/commit-tree-bisect.png | Bin 0 -> 22306 bytes images/commit-tree-with-id.png | Bin 0 -> 22407 bytes images/commit-tree.png | Bin 0 -> 15589 bytes images/cvs-arch.png | Bin 0 -> 87014 bytes images/cygwin-2.png | Bin 0 -> 10691 bytes images/cygwin-3.png | Bin 0 -> 13462 bytes images/cygwin-4.png | Bin 0 -> 11000 bytes images/cygwin-5-mirror.png | Bin 0 -> 11366 bytes images/cygwin-6.png | Bin 0 -> 14760 bytes .../cygwin-8-expand-admin-group-install.png | Bin 0 -> 14472 bytes images/cygwin-8-expand-admin-group.png | Bin 0 -> 14474 bytes images/cygwin-8-search-git-install.png | Bin 0 -> 15202 bytes images/cygwin-8-search-git.png | Bin 0 -> 14910 bytes images/cygwin-8.png | Bin 0 -> 13568 bytes images/cygwin-startup.png | Bin 0 -> 17983 bytes images/distrabute-model.png | Bin 0 -> 37037 bytes images/gerrit-account-http-auth.png | Bin 0 -> 22708 bytes images/gerrit-account-init-1.png | Bin 0 -> 33539 bytes images/gerrit-account-init-2.png | Bin 0 -> 10385 bytes ...errit-account-init-4-settings-username.png | Bin 0 -> 26018 bytes ...rit-account-init-5-settings-ssh-pubkey.png | Bin 0 -> 101141 bytes ...count-init-6-settings-ssh-pubkey-added.png | Bin 0 -> 37961 bytes .../gerrit-account-init-7-settings-groups.png | Bin 0 -> 24919 bytes images/gerrit-acl-1-reviewer.png | Bin 0 -> 26626 bytes images/gerrit-addgroup-1.png | Bin 0 -> 15623 bytes images/gerrit-addgroup-2.png | Bin 0 -> 30951 bytes images/gerrit-addgroup-3-list.png | Bin 0 -> 20278 bytes images/gerrit-project-1-list.png | Bin 0 -> 10498 bytes images/gerrit-project-3-acl-create-branch.png | Bin 0 -> 24830 bytes .../gerrit-project-4-acl-created-branch.png | Bin 0 -> 24617 bytes .../gerrit-project-5-newproject-settings.png | Bin 0 -> 15824 bytes images/gerrit-review-1-tasklist.png | Bin 0 -> 11647 bytes ...it-review-10-review-merged-mail-notify.png | Bin 0 -> 61854 bytes images/gerrit-review-2-changeid_full.png | Bin 0 -> 98966 bytes images/gerrit-review-3-review-approved.png | Bin 0 -> 41029 bytes images/gerrit-review-4-review-mail-notify.png | Bin 0 -> 45271 bytes images/gerrit-review-5-review-verify-view.png | Bin 0 -> 42003 bytes .../gerrit-review-6-review-verify-failed.png | Bin 0 -> 38910 bytes ...rit-review-7-review-mail-notify-failed.png | Bin 0 -> 46286 bytes ...ew-8-2-review-new-patchset-mail-notify.png | Bin 0 -> 54799 bytes .../gerrit-review-8-review-new-patchset.png | Bin 0 -> 24418 bytes ...gerrit-review-9-review-patchset-merged.png | Bin 0 -> 34800 bytes images/gerrit-workflow.png | Bin 0 -> 200838 bytes images/git-checkout.png | Bin 0 -> 48672 bytes images/git-clone-1.png | Bin 0 -> 21262 bytes images/git-clone-2.png | Bin 0 -> 18850 bytes images/git-clone-3.png | Bin 0 -> 19317 bytes images/git-clone-pull-push.png | Bin 0 -> 26907 bytes images/git-diff.png | Bin 0 -> 38996 bytes images/git-merge-pull-1.png | Bin 0 -> 19421 bytes images/git-merge-pull-2.png | Bin 0 -> 19953 bytes images/git-merge-pull-3.png | Bin 0 -> 22044 bytes images/git-merge-pull-4.png | Bin 0 -> 23412 bytes images/git-objects.png | Bin 0 -> 37627 bytes images/git-rebase-c.png | Bin 0 -> 6980 bytes images/git-rebase-cd.png | Bin 0 -> 7479 bytes images/git-rebase-graph-gitk.png | Bin 0 -> 12123 bytes images/git-rebase-graph.png | Bin 0 -> 50066 bytes images/git-rebase-orig.png | Bin 0 -> 3001 bytes images/git-rebase-purge-history-graph.png | Bin 0 -> 87053 bytes images/git-repos-detail.png | Bin 0 -> 70408 bytes images/git-reset.png | Bin 0 -> 40439 bytes images/git-smart-protocol.png | Bin 0 -> 12739 bytes images/git-stage.png | Bin 0 -> 40643 bytes images/git-survs-os.png | Bin 0 -> 45054 bytes images/git-svn-workflow.png | Bin 0 -> 38530 bytes images/gitg-commit-1-all-unstaged.png | Bin 0 -> 24125 bytes images/gitg-commit-2-add-stage.png | Bin 0 -> 35288 bytes images/gitg-commit-3-mixed-stage-unstage.png | Bin 0 -> 32108 bytes .../gitg-commit-4-history-stage-unstage.png | Bin 0 -> 67870 bytes images/gitg-commit-5-commit.png | Bin 0 -> 26713 bytes images/gitg-commit-6-new-history.png | Bin 0 -> 80267 bytes images/gitg-demo-commit-tree.png | Bin 0 -> 60321 bytes images/gitg-history.png | Bin 0 -> 124651 bytes images/gitg-tree.png | Bin 0 -> 38108 bytes images/github-create-repo.png | Bin 0 -> 66408 bytes images/github-fork-repo.png | Bin 0 -> 52155 bytes images/github-notes.png | Bin 0 -> 138607 bytes images/github-plans.png | Bin 0 -> 78149 bytes images/github-repo-url.png | Bin 0 -> 76130 bytes images/github-whoru.png | Bin 0 -> 76850 bytes images/gitk.png | Bin 0 -> 37790 bytes images/gitorious_full.png | Bin 0 -> 143777 bytes images/gitweb-kernel-org_full.png | Bin 0 -> 107504 bytes images/icon-01-01-sound.png | Bin 0 -> 27028 bytes images/icon-11-12-qgit-tree-toggle.png | Bin 0 -> 608 bytes images/kdiff3-1.png | Bin 0 -> 60055 bytes images/kdiff3-2.png | Bin 0 -> 65764 bytes images/kdiff3-3.png | Bin 0 -> 69780 bytes images/kdiff3-4.png | Bin 0 -> 62636 bytes images/kdiff3-5.png | Bin 0 -> 60930 bytes images/mac-install-1.png | Bin 0 -> 117238 bytes images/mac-install-2.png | Bin 0 -> 137046 bytes images/msysgit-1.png | Bin 0 -> 10973 bytes images/msysgit-3.png | Bin 0 -> 12809 bytes images/msysgit-6.png | Bin 0 -> 16503 bytes images/msysgit-8.png | Bin 0 -> 17180 bytes images/msysgit-startup.png | Bin 0 -> 17703 bytes images/pageant.png | Bin 0 -> 6760 bytes images/putty-keygen-1.png | Bin 0 -> 17701 bytes images/putty-keygen-2.png | Bin 0 -> 32805 bytes images/qgit-blame.png | Bin 0 -> 72551 bytes images/qgit-changefiles.png | Bin 0 -> 39748 bytes images/qgit-commit-1-revlist.png | Bin 0 -> 80535 bytes images/qgit-commit-2-dialog-unstaged.png | Bin 0 -> 47079 bytes images/qgit-commit-3-commit-unstaged.png | Bin 0 -> 48677 bytes images/qgit-commit-4-revlist.png | Bin 0 -> 82208 bytes images/qgit-history.png | Bin 0 -> 137317 bytes images/qgit-splash-select.png | Bin 0 -> 19883 bytes images/qgit-tree-view.png | Bin 0 -> 105507 bytes images/redmine-user-config.png | Bin 0 -> 93058 bytes images/repo-workflow.png | Bin 0 -> 38257 bytes images/svn-arch.png | Bin 0 -> 98443 bytes images/tgit-3.png | Bin 0 -> 22345 bytes images/tgit-clone.png | Bin 0 -> 13399 bytes images/tgit-settings-general.png | Bin 0 -> 33857 bytes images/tgit-settings-network-plink.png | Bin 0 -> 33484 bytes images/tgit-settings-remote.png | Bin 0 -> 34892 bytes images/topgit-branch-vendor-branch.png | Bin 0 -> 7607 bytes images/topgit-graphviz.png | Bin 0 -> 10881 bytes images/topgit-hacks.png | Bin 0 -> 32836 bytes images/topgit-topic-base-branch.png | Bin 0 -> 25370 bytes images/topgit-topic-branch.png | Bin 0 -> 20876 bytes images/work-backup.png | Bin 0 -> 52110 bytes images/workflow.png | Bin 0 -> 95314 bytes images/xcode-install.png | Bin 0 -> 107270 bytes index.html | 970 ++ index.md | 112 - jsttyplay/JSON.pm | 2264 ---- jsttyplay/JSON/backportPP.pm | 2792 ----- jsttyplay/JSON/backportPP/Boolean.pm | 26 - jsttyplay/JSON/backportPP/Compat5005.pm | 131 - jsttyplay/JSON/backportPP/Compat5006.pm | 173 - jsttyplay/LICENSE | 14 - jsttyplay/Term/Emulator.pm | 258 - jsttyplay/Term/Emulator/Parser.pm | 766 -- jsttyplay/Term/TtyRec.pm | 105 - jsttyplay/Term/TtyRec/Player.pm | 126 - jsttyplay/TermEncoder.pm | 161 - jsttyplay/html/showtty.js | 315 - jsttyplay/html/streamtty.js | 347 - jsttyplay/html/test.html | 11 - jsttyplay/interactive_test.pl | 36 - jsttyplay/lighttpd.conf | 16 - ...ss-platform-issue-using-prototype.js.patch | 6163 ----------- ...ixed-Windows-IE6-compatibility-issue.patch | 27 - .../0003-Add-css-stylesheet-support.patch | 94 - ...04-Warn-for-unknow-character-not-die.patch | 26 - jsttyplay/play.pl | 60 - jsttyplay/preprocess.pl | 127 - jsttyplay/respawn.sh | 12 - jsttyplay/shell_server.pl | 147 - jsttyplay/t/parser/01_use.t | 8 - jsttyplay/t/parser/02_constructor.t | 18 - jsttyplay/t/parser/03_parse_char.t | 29 - jsttyplay/t/parser/04_parse_escape.t | 128 - jsttyplay/ttydump.pl | 14 - objects.inv | Bin 0 -> 209 bytes preface.html | 274 + recommends.md | 73 - screencast.html | 92 - search.html | 120 + searchindex.js | 1 + sources/01-meet-git/010-scm-history.txt | 440 + sources/01-meet-git/020-love-git.txt | 603 ++ sources/01-meet-git/030-installation.txt | 13 + sources/01-meet-git/035-install-on-linux.txt | 263 + sources/01-meet-git/040-install-on-mac.txt | 237 + .../050-install-on-windows-cygwin.txt | 505 + .../060-install-on-windows-msysgit.txt | 340 + sources/01-meet-git/index.txt | 40 + sources/02-git-solo/010-git-init.txt | 637 ++ sources/02-git-solo/020-git-stage.txt | 750 ++ .../030-head-master-commit-refs.txt | 532 + sources/02-git-solo/040-git-reset.txt | 323 + sources/02-git-solo/050-git-checkout.txt | 348 + sources/02-git-solo/060-git-stage-n-stash.txt | 574 + sources/02-git-solo/070-git-basic.txt | 994 ++ .../02-git-solo/080-git-history-travel.txt | 1265 +++ sources/02-git-solo/090-back-to-future.txt | 1215 +++ sources/02-git-solo/100-git-clone.txt | 426 + sources/02-git-solo/110-git-admin.txt | 665 ++ sources/02-git-solo/index.txt | 40 + sources/03-git-harmony/010-protocol.txt | 523 + sources/03-git-harmony/020-conflict.txt | 1268 +++ sources/03-git-harmony/030-git-tag.txt | 1155 ++ sources/03-git-harmony/040-git-branch.txt | 1703 +++ sources/03-git-harmony/050-git-remote.txt | 658 ++ sources/03-git-harmony/060-git-offline.txt | 557 + sources/03-git-harmony/index.txt | 36 + sources/04-git-model/010-central-model.txt | 131 + sources/04-git-model/020-distribute-model.txt | 96 + sources/04-git-model/030-topgit-model.txt | 1173 ++ sources/04-git-model/040-submodule-model.txt | 611 ++ sources/04-git-model/050-subtree-model.txt | 505 + sources/04-git-model/060-android-model.txt | 1315 +++ sources/04-git-model/070-git-svn.txt | 899 ++ sources/04-git-model/index.txt | 45 + sources/05-git-server/010-http.txt | 409 + sources/05-git-server/020-git.txt | 104 + sources/05-git-server/030-ssh.txt | 237 + sources/05-git-server/040-gitolite.txt | 1648 +++ sources/05-git-server/050-gitosis.txt | 620 ++ sources/05-git-server/055-gerrit.txt | 1470 +++ sources/05-git-server/060-github-like.txt | 77 + sources/05-git-server/index.txt | 47 + sources/06-migrate/010-cvs.txt | 539 + sources/06-migrate/020-others.txt | 10 + sources/06-migrate/025-svn.txt | 88 + sources/06-migrate/030-hg.txt | 115 + sources/06-migrate/040-others.txt | 307 + sources/06-migrate/050-git-to-git.txt | 325 + sources/06-migrate/index.txt | 21 + sources/07-git-app/010-etckeeper.txt | 101 + sources/07-git-app/020-gistore.txt | 602 ++ sources/07-git-app/030-binary-diff.txt | 358 + sources/07-git-app/040-cloud-storage.txt | 102 + sources/07-git-app/index.txt | 29 + sources/08-git-misc/010-git-cross-os.txt | 26 + sources/08-git-misc/020-git-charset.txt | 59 + sources/08-git-misc/030-case-insensitive.txt | 57 + sources/08-git-misc/040-eol.txt | 177 + sources/08-git-misc/050-git-features.txt | 11 + sources/08-git-misc/060-attributes.txt | 516 + .../08-git-misc/070-hooks-and-templates.txt | 352 + .../090-sparse-checkout-and-shallow-clone.txt | 299 + sources/08-git-misc/110-graft-and-replace.txt | 118 + sources/08-git-misc/120-git-notes.txt | 264 + sources/08-git-misc/index.txt | 24 + sources/90-app/010-git-commands-index.txt | 395 + sources/90-app/020-cvs-git-face2face.txt | 205 + sources/90-app/030-svn-git-face2face.txt | 244 + sources/90-app/040-hg-git-face2face.txt | 220 + sources/90-app/index.txt | 13 + sources/index.txt | 33 + sources/preface.txt | 314 + static/ajax-loader.gif | Bin 0 -> 673 bytes static/basic.css | 537 + static/comment-bright.png | Bin 0 -> 3500 bytes static/comment-close.png | Bin 0 -> 3578 bytes html/inc/cc-icon.png => static/comment.png | Bin 5083 -> 3445 bytes static/contents.png | Bin 0 -> 202 bytes static/doctools.js | 238 + static/down-pressed.png | Bin 0 -> 368 bytes static/down.png | Bin 0 -> 363 bytes static/file.png | Bin 0 -> 392 bytes static/jquery.js | 9404 +++++++++++++++++ static/minus.png | Bin 0 -> 199 bytes static/navigation.png | Bin 0 -> 218 bytes static/plus.png | Bin 0 -> 199 bytes static/pygments.css | 63 + static/searchtools.js | 622 ++ static/sphinxdoc.css | 403 + static/translations.js | 1 + static/underscore.js | 1415 +++ static/up-pressed.png | Bin 0 -> 372 bytes static/up.png | Bin 0 -> 363 bytes static/websupport.js | 808 ++ static/worldhello.css | 13 + ttyrec/part1/ch01-01-diff-patch.ttyrec | Bin 5249 -> 0 bytes ttyrec/part2/ch04-01-first-commit.ttyrec | Bin 6368 -> 0 bytes ttyrec/part2/ch04-02-git-config.ttyrec | Bin 12553 -> 0 bytes ttyrec/part2/ch04-03-who-does-commit.ttyrec | Bin 13327 -> 0 bytes ttyrec/part2/ch05-01-commit-modified.ttyrec | Bin 10625 -> 0 bytes ttyrec/part2/ch05-02-index-and-diff.ttyrec | Bin 13293 -> 0 bytes ttyrec/part2/ch05-03-git-stash.ttyrec | Bin 1475 -> 0 bytes ttyrec/part2/ch06-01-git-objects.ttyrec | Bin 14860 -> 0 bytes ttyrec/part2/ch06-02-sha1-hash.ttyrec | Bin 8865 -> 0 bytes ttyrec/part2/ch07-01-git-reset.ttyrec | Bin 6428 -> 0 bytes ttyrec/part2/ch07-02-reflog.ttyrec | Bin 5369 -> 0 bytes ttyrec/part2/ch08-01-checkout.ttyrec | Bin 12781 -> 0 bytes ttyrec/part2/ch09-01-i-am-back.ttyrec | Bin 8865 -> 0 bytes ttyrec/part2/ch09-02-inside-stash.ttyrec | Bin 20279 -> 0 bytes ttyrec/part2/ch10-01-tag.ttyrec | Bin 3848 -> 0 bytes ttyrec/part2/ch10-02-rm1.ttyrec | Bin 6012 -> 0 bytes ttyrec/part2/ch10-03-rm2.ttyrec | Bin 6210 -> 0 bytes ttyrec/part2/ch10-04-undelete.ttyrec | Bin 4466 -> 0 bytes ttyrec/part2/ch10-05-mv.ttyrec | Bin 5647 -> 0 bytes ttyrec/part2/ch10-06-hello-world.ttyrec | Bin 7746 -> 0 bytes ttyrec/part2/ch10-07-add-i.ttyrec | Bin 8235 -> 0 bytes ttyrec/part2/ch10-08-ignore.ttyrec | Bin 15500 -> 0 bytes ttyrec/part2/ch11-01-clone.ttyrec | Bin 9515 -> 0 bytes ttyrec/part2/ch11-02-rev-parse.ttyrec | Bin 13968 -> 0 bytes ttyrec/part2/ch11-03-rev-list.ttyrec | Bin 7689 -> 0 bytes ttyrec/part2/ch12-01-back2future-1.ttyrec | Bin 16665 -> 0 bytes ttyrec/part2/ch12-02-back2future-2.ttyrec | Bin 9920 -> 0 bytes ttyrec/part2/ch12-03-back2future-3.ttyrec | Bin 10008 -> 0 bytes ttyrec/part3/smart-and-dump-protocol.ttyrec | Bin 36042 -> 0 bytes 466 files changed, 80632 insertions(+), 22569 deletions(-) create mode 100644 .buildinfo delete mode 100644 .gitignore create mode 100644 01-meet-git/010-scm-history.html create mode 100644 01-meet-git/020-love-git.html create mode 100644 01-meet-git/030-installation.html create mode 100644 01-meet-git/035-install-on-linux.html create mode 100644 01-meet-git/040-install-on-mac.html create mode 100644 01-meet-git/050-install-on-windows-cygwin.html create mode 100644 01-meet-git/060-install-on-windows-msysgit.html create mode 100644 01-meet-git/index.html create mode 100644 02-git-solo/010-git-init.html create mode 100644 02-git-solo/020-git-stage.html create mode 100644 02-git-solo/030-head-master-commit-refs.html create mode 100644 02-git-solo/040-git-reset.html create mode 100644 02-git-solo/050-git-checkout.html create mode 100644 02-git-solo/060-git-stage-n-stash.html create mode 100644 02-git-solo/070-git-basic.html create mode 100644 02-git-solo/080-git-history-travel.html create mode 100644 02-git-solo/090-back-to-future.html create mode 100644 02-git-solo/100-git-clone.html create mode 100644 02-git-solo/110-git-admin.html create mode 100644 02-git-solo/index.html create mode 100644 03-git-harmony/010-protocol.html create mode 100644 03-git-harmony/020-conflict.html create mode 100644 03-git-harmony/030-git-tag.html create mode 100644 03-git-harmony/040-git-branch.html create mode 100644 03-git-harmony/050-git-remote.html create mode 100644 03-git-harmony/060-git-offline.html create mode 100644 03-git-harmony/index.html create mode 100644 04-git-model/010-central-model.html create mode 100644 04-git-model/020-distribute-model.html create mode 100644 04-git-model/030-topgit-model.html create mode 100644 04-git-model/040-submodule-model.html create mode 100644 04-git-model/050-subtree-model.html create mode 100644 04-git-model/060-android-model.html create mode 100644 04-git-model/070-git-svn.html create mode 100644 04-git-model/index.html create mode 100644 05-git-server/010-http.html create mode 100644 05-git-server/020-git.html create mode 100644 05-git-server/030-ssh.html create mode 100644 05-git-server/040-gitolite.html create mode 100644 05-git-server/050-gitosis.html create mode 100644 05-git-server/055-gerrit.html create mode 100644 05-git-server/060-github-like.html create mode 100644 05-git-server/index.html create mode 100644 06-migrate/010-cvs.html create mode 100644 06-migrate/020-others.html create mode 100644 06-migrate/025-svn.html create mode 100644 06-migrate/030-hg.html create mode 100644 06-migrate/040-others.html create mode 100644 06-migrate/050-git-to-git.html create mode 100644 06-migrate/index.html create mode 100644 07-git-app/010-etckeeper.html create mode 100644 07-git-app/020-gistore.html create mode 100644 07-git-app/030-binary-diff.html create mode 100644 07-git-app/040-cloud-storage.html create mode 100644 07-git-app/index.html create mode 100644 08-git-misc/010-git-cross-os.html create mode 100644 08-git-misc/020-git-charset.html create mode 100644 08-git-misc/030-case-insensitive.html create mode 100644 08-git-misc/040-eol.html create mode 100644 08-git-misc/050-git-features.html create mode 100644 08-git-misc/060-attributes.html create mode 100644 08-git-misc/070-hooks-and-templates.html create mode 100644 08-git-misc/090-sparse-checkout-and-shallow-clone.html create mode 100644 08-git-misc/110-graft-and-replace.html create mode 100644 08-git-misc/120-git-notes.html create mode 100644 08-git-misc/index.html create mode 100644 90-app/010-git-commands-index.html create mode 100644 90-app/020-cvs-git-face2face.html create mode 100644 90-app/030-svn-git-face2face.html create mode 100644 90-app/040-hg-git-face2face.html create mode 100644 90-app/index.html delete mode 100644 README.md delete mode 100644 Rakefile delete mode 100644 _config.yml delete mode 100644 _layouts/master.html delete mode 100644 _layouts/ttyrecord.html delete mode 100644 bookstore.md delete mode 100644 demo.md delete mode 100644 download/ch01/hello delete mode 100644 download/ch01/world delete mode 100644 download/ch03/install_from_git.sh delete mode 100644 download/ch10/helloworld/.gitignore delete mode 100644 download/ch10/helloworld/Makefile delete mode 100644 download/ch10/helloworld/main.c delete mode 100644 download/ch10/helloworld/version.h.in delete mode 100644 download/ch25/manifest-revert.xslt delete mode 100644 download/ch25/work2mirror.py delete mode 100644 errata-others.md delete mode 100644 errata.md create mode 100644 genindex.html delete mode 100644 html/images/gotgit-cover.jpg delete mode 100644 html/inc/click_more.js delete mode 100755 html/inc/common.css delete mode 100755 html/inc/errata.css delete mode 100644 html/inc/jquery-1.6.2.min.js delete mode 100644 html/inc/prototype.js delete mode 100644 html/inc/showtty.js delete mode 100644 html/inc/streamtty.js delete mode 100644 html/inc/tty.css delete mode 100644 html/part1/ch01-01-diff-patch.html delete mode 100644 html/part1/ch01-01-diff-patch.json delete mode 100644 html/part2/ch04-01-first-commit.html delete mode 100644 html/part2/ch04-01-first-commit.json delete mode 100644 html/part2/ch04-02-git-config.html delete mode 100644 html/part2/ch04-02-git-config.json delete mode 100644 html/part2/ch04-03-who-does-commit.html delete mode 100644 html/part2/ch04-03-who-does-commit.json delete mode 100644 html/part2/ch05-01-commit-modified.html delete mode 100644 html/part2/ch05-01-commit-modified.json delete mode 100644 html/part2/ch05-02-index-and-diff.html delete mode 100644 html/part2/ch05-02-index-and-diff.json delete mode 100644 html/part2/ch05-03-git-stash.html delete mode 100644 html/part2/ch05-03-git-stash.json delete mode 100644 html/part2/ch06-01-git-objects.html delete mode 100644 html/part2/ch06-01-git-objects.json delete mode 100644 html/part2/ch06-02-sha1-hash.html delete mode 100644 html/part2/ch06-02-sha1-hash.json delete mode 100644 html/part2/ch07-01-git-reset.html delete mode 100644 html/part2/ch07-01-git-reset.json delete mode 100644 html/part2/ch07-02-reflog.html delete mode 100644 html/part2/ch07-02-reflog.json delete mode 100644 html/part2/ch08-01-checkout.html delete mode 100644 html/part2/ch08-01-checkout.json delete mode 100644 html/part2/ch09-01-i-am-back.html delete mode 100644 html/part2/ch09-01-i-am-back.json delete mode 100644 html/part2/ch09-02-inside-stash.html delete mode 100644 html/part2/ch09-02-inside-stash.json delete mode 100644 html/part2/ch10-01-tag.html delete mode 100644 html/part2/ch10-01-tag.json delete mode 100644 html/part2/ch10-02-rm1.html delete mode 100644 html/part2/ch10-02-rm1.json delete mode 100644 html/part2/ch10-03-rm2.html delete mode 100644 html/part2/ch10-03-rm2.json delete mode 100644 html/part2/ch10-04-undelete.html delete mode 100644 html/part2/ch10-04-undelete.json delete mode 100644 html/part2/ch10-05-mv.html delete mode 100644 html/part2/ch10-05-mv.json delete mode 100644 html/part2/ch10-06-hello-world.html delete mode 100644 html/part2/ch10-06-hello-world.json delete mode 100644 html/part2/ch10-07-add-i.html delete mode 100644 html/part2/ch10-07-add-i.json delete mode 100644 html/part2/ch10-08-ignore.html delete mode 100644 html/part2/ch10-08-ignore.json delete mode 100644 html/part2/ch11-01-clone.html delete mode 100644 html/part2/ch11-01-clone.json delete mode 100644 html/part2/ch11-02-rev-parse.html delete mode 100644 html/part2/ch11-02-rev-parse.json delete mode 100644 html/part2/ch11-03-rev-list.html delete mode 100644 html/part2/ch11-03-rev-list.json delete mode 100644 html/part2/ch12-01-back2future-1.html delete mode 100644 html/part2/ch12-01-back2future-1.json delete mode 100644 html/part2/ch12-02-back2future-2.html delete mode 100644 html/part2/ch12-02-back2future-2.json delete mode 100644 html/part2/ch12-03-back2future-3.html delete mode 100644 html/part2/ch12-03-back2future-3.json delete mode 100644 html/part3/smart-and-dump-protocol.html delete mode 100644 html/part3/smart-and-dump-protocol.json delete mode 100644 html/templates/index.erb delete mode 100644 html/templates/scast.erb delete mode 100644 html/templates/ttyplay.erb create mode 100644 images/android-gerrit-16993.png create mode 100644 images/android-gerrit-merged.png create mode 100644 images/back-to-future.png create mode 100644 images/branch-feature-branch-answer.png create mode 100644 images/branch-feature-branch-question.png create mode 100644 images/branch-i18n-complete.png create mode 100644 images/branch-i18n-initial.png create mode 100644 images/branch-i18n-merge.png create mode 100644 images/branch-i18n-rebase-complete.png create mode 100644 images/branch-i18n-rebase.png create mode 100644 images/branch-release-branch-answer.png create mode 100644 images/branch-release-branch-question.png create mode 100644 images/branch-vendor-branch.png create mode 100644 images/central-model-workflow-1.png create mode 100644 images/central-model-workflow-2.png create mode 100644 images/central-model.png create mode 100644 images/commit-tree-bisect.png create mode 100644 images/commit-tree-with-id.png create mode 100644 images/commit-tree.png create mode 100644 images/cvs-arch.png create mode 100644 images/cygwin-2.png create mode 100644 images/cygwin-3.png create mode 100644 images/cygwin-4.png create mode 100644 images/cygwin-5-mirror.png create mode 100644 images/cygwin-6.png create mode 100644 images/cygwin-8-expand-admin-group-install.png create mode 100644 images/cygwin-8-expand-admin-group.png create mode 100644 images/cygwin-8-search-git-install.png create mode 100644 images/cygwin-8-search-git.png create mode 100644 images/cygwin-8.png create mode 100644 images/cygwin-startup.png create mode 100644 images/distrabute-model.png create mode 100644 images/gerrit-account-http-auth.png create mode 100644 images/gerrit-account-init-1.png create mode 100644 images/gerrit-account-init-2.png create mode 100644 images/gerrit-account-init-4-settings-username.png create mode 100644 images/gerrit-account-init-5-settings-ssh-pubkey.png create mode 100644 images/gerrit-account-init-6-settings-ssh-pubkey-added.png create mode 100644 images/gerrit-account-init-7-settings-groups.png create mode 100644 images/gerrit-acl-1-reviewer.png create mode 100644 images/gerrit-addgroup-1.png create mode 100644 images/gerrit-addgroup-2.png create mode 100644 images/gerrit-addgroup-3-list.png create mode 100644 images/gerrit-project-1-list.png create mode 100644 images/gerrit-project-3-acl-create-branch.png create mode 100644 images/gerrit-project-4-acl-created-branch.png create mode 100644 images/gerrit-project-5-newproject-settings.png create mode 100644 images/gerrit-review-1-tasklist.png create mode 100644 images/gerrit-review-10-review-merged-mail-notify.png create mode 100644 images/gerrit-review-2-changeid_full.png create mode 100644 images/gerrit-review-3-review-approved.png create mode 100644 images/gerrit-review-4-review-mail-notify.png create mode 100644 images/gerrit-review-5-review-verify-view.png create mode 100644 images/gerrit-review-6-review-verify-failed.png create mode 100644 images/gerrit-review-7-review-mail-notify-failed.png create mode 100644 images/gerrit-review-8-2-review-new-patchset-mail-notify.png create mode 100644 images/gerrit-review-8-review-new-patchset.png create mode 100644 images/gerrit-review-9-review-patchset-merged.png create mode 100644 images/gerrit-workflow.png create mode 100644 images/git-checkout.png create mode 100644 images/git-clone-1.png create mode 100644 images/git-clone-2.png create mode 100644 images/git-clone-3.png create mode 100644 images/git-clone-pull-push.png create mode 100644 images/git-diff.png create mode 100644 images/git-merge-pull-1.png create mode 100644 images/git-merge-pull-2.png create mode 100644 images/git-merge-pull-3.png create mode 100644 images/git-merge-pull-4.png create mode 100644 images/git-objects.png create mode 100644 images/git-rebase-c.png create mode 100644 images/git-rebase-cd.png create mode 100644 images/git-rebase-graph-gitk.png create mode 100644 images/git-rebase-graph.png create mode 100644 images/git-rebase-orig.png create mode 100644 images/git-rebase-purge-history-graph.png create mode 100644 images/git-repos-detail.png create mode 100644 images/git-reset.png create mode 100644 images/git-smart-protocol.png create mode 100644 images/git-stage.png create mode 100644 images/git-survs-os.png create mode 100644 images/git-svn-workflow.png create mode 100644 images/gitg-commit-1-all-unstaged.png create mode 100644 images/gitg-commit-2-add-stage.png create mode 100644 images/gitg-commit-3-mixed-stage-unstage.png create mode 100644 images/gitg-commit-4-history-stage-unstage.png create mode 100644 images/gitg-commit-5-commit.png create mode 100644 images/gitg-commit-6-new-history.png create mode 100644 images/gitg-demo-commit-tree.png create mode 100644 images/gitg-history.png create mode 100644 images/gitg-tree.png create mode 100644 images/github-create-repo.png create mode 100644 images/github-fork-repo.png create mode 100644 images/github-notes.png create mode 100644 images/github-plans.png create mode 100644 images/github-repo-url.png create mode 100644 images/github-whoru.png create mode 100644 images/gitk.png create mode 100644 images/gitorious_full.png create mode 100644 images/gitweb-kernel-org_full.png create mode 100644 images/icon-01-01-sound.png create mode 100644 images/icon-11-12-qgit-tree-toggle.png create mode 100644 images/kdiff3-1.png create mode 100644 images/kdiff3-2.png create mode 100644 images/kdiff3-3.png create mode 100644 images/kdiff3-4.png create mode 100644 images/kdiff3-5.png create mode 100644 images/mac-install-1.png create mode 100644 images/mac-install-2.png create mode 100644 images/msysgit-1.png create mode 100644 images/msysgit-3.png create mode 100644 images/msysgit-6.png create mode 100644 images/msysgit-8.png create mode 100644 images/msysgit-startup.png create mode 100644 images/pageant.png create mode 100644 images/putty-keygen-1.png create mode 100644 images/putty-keygen-2.png create mode 100644 images/qgit-blame.png create mode 100644 images/qgit-changefiles.png create mode 100644 images/qgit-commit-1-revlist.png create mode 100644 images/qgit-commit-2-dialog-unstaged.png create mode 100644 images/qgit-commit-3-commit-unstaged.png create mode 100644 images/qgit-commit-4-revlist.png create mode 100644 images/qgit-history.png create mode 100644 images/qgit-splash-select.png create mode 100644 images/qgit-tree-view.png create mode 100644 images/redmine-user-config.png create mode 100644 images/repo-workflow.png create mode 100644 images/svn-arch.png create mode 100644 images/tgit-3.png create mode 100644 images/tgit-clone.png create mode 100644 images/tgit-settings-general.png create mode 100644 images/tgit-settings-network-plink.png create mode 100644 images/tgit-settings-remote.png create mode 100644 images/topgit-branch-vendor-branch.png create mode 100644 images/topgit-graphviz.png create mode 100644 images/topgit-hacks.png create mode 100644 images/topgit-topic-base-branch.png create mode 100644 images/topgit-topic-branch.png create mode 100644 images/work-backup.png create mode 100644 images/workflow.png create mode 100644 images/xcode-install.png create mode 100644 index.html delete mode 100644 index.md delete mode 100644 jsttyplay/JSON.pm delete mode 100644 jsttyplay/JSON/backportPP.pm delete mode 100644 jsttyplay/JSON/backportPP/Boolean.pm delete mode 100644 jsttyplay/JSON/backportPP/Compat5005.pm delete mode 100644 jsttyplay/JSON/backportPP/Compat5006.pm delete mode 100644 jsttyplay/LICENSE delete mode 100644 jsttyplay/Term/Emulator.pm delete mode 100644 jsttyplay/Term/Emulator/Parser.pm delete mode 100644 jsttyplay/Term/TtyRec.pm delete mode 100644 jsttyplay/Term/TtyRec/Player.pm delete mode 100644 jsttyplay/TermEncoder.pm delete mode 100644 jsttyplay/html/showtty.js delete mode 100644 jsttyplay/html/streamtty.js delete mode 100644 jsttyplay/html/test.html delete mode 100644 jsttyplay/interactive_test.pl delete mode 100644 jsttyplay/lighttpd.conf delete mode 100644 jsttyplay/patches/0001-Resolve-cross-platform-issue-using-prototype.js.patch delete mode 100644 jsttyplay/patches/0002-Fixed-Windows-IE6-compatibility-issue.patch delete mode 100644 jsttyplay/patches/0003-Add-css-stylesheet-support.patch delete mode 100644 jsttyplay/patches/0004-Warn-for-unknow-character-not-die.patch delete mode 100644 jsttyplay/play.pl delete mode 100644 jsttyplay/preprocess.pl delete mode 100755 jsttyplay/respawn.sh delete mode 100755 jsttyplay/shell_server.pl delete mode 100644 jsttyplay/t/parser/01_use.t delete mode 100644 jsttyplay/t/parser/02_constructor.t delete mode 100644 jsttyplay/t/parser/03_parse_char.t delete mode 100644 jsttyplay/t/parser/04_parse_escape.t delete mode 100644 jsttyplay/ttydump.pl create mode 100644 objects.inv create mode 100644 preface.html delete mode 100644 recommends.md delete mode 100644 screencast.html create mode 100644 search.html create mode 100644 searchindex.js create mode 100644 sources/01-meet-git/010-scm-history.txt create mode 100644 sources/01-meet-git/020-love-git.txt create mode 100644 sources/01-meet-git/030-installation.txt create mode 100644 sources/01-meet-git/035-install-on-linux.txt create mode 100644 sources/01-meet-git/040-install-on-mac.txt create mode 100644 sources/01-meet-git/050-install-on-windows-cygwin.txt create mode 100644 sources/01-meet-git/060-install-on-windows-msysgit.txt create mode 100644 sources/01-meet-git/index.txt create mode 100644 sources/02-git-solo/010-git-init.txt create mode 100644 sources/02-git-solo/020-git-stage.txt create mode 100644 sources/02-git-solo/030-head-master-commit-refs.txt create mode 100644 sources/02-git-solo/040-git-reset.txt create mode 100644 sources/02-git-solo/050-git-checkout.txt create mode 100644 sources/02-git-solo/060-git-stage-n-stash.txt create mode 100644 sources/02-git-solo/070-git-basic.txt create mode 100644 sources/02-git-solo/080-git-history-travel.txt create mode 100644 sources/02-git-solo/090-back-to-future.txt create mode 100644 sources/02-git-solo/100-git-clone.txt create mode 100644 sources/02-git-solo/110-git-admin.txt create mode 100644 sources/02-git-solo/index.txt create mode 100644 sources/03-git-harmony/010-protocol.txt create mode 100644 sources/03-git-harmony/020-conflict.txt create mode 100644 sources/03-git-harmony/030-git-tag.txt create mode 100644 sources/03-git-harmony/040-git-branch.txt create mode 100644 sources/03-git-harmony/050-git-remote.txt create mode 100644 sources/03-git-harmony/060-git-offline.txt create mode 100644 sources/03-git-harmony/index.txt create mode 100644 sources/04-git-model/010-central-model.txt create mode 100644 sources/04-git-model/020-distribute-model.txt create mode 100644 sources/04-git-model/030-topgit-model.txt create mode 100644 sources/04-git-model/040-submodule-model.txt create mode 100644 sources/04-git-model/050-subtree-model.txt create mode 100644 sources/04-git-model/060-android-model.txt create mode 100644 sources/04-git-model/070-git-svn.txt create mode 100644 sources/04-git-model/index.txt create mode 100644 sources/05-git-server/010-http.txt create mode 100644 sources/05-git-server/020-git.txt create mode 100644 sources/05-git-server/030-ssh.txt create mode 100644 sources/05-git-server/040-gitolite.txt create mode 100644 sources/05-git-server/050-gitosis.txt create mode 100644 sources/05-git-server/055-gerrit.txt create mode 100644 sources/05-git-server/060-github-like.txt create mode 100644 sources/05-git-server/index.txt create mode 100644 sources/06-migrate/010-cvs.txt create mode 100644 sources/06-migrate/020-others.txt create mode 100644 sources/06-migrate/025-svn.txt create mode 100644 sources/06-migrate/030-hg.txt create mode 100644 sources/06-migrate/040-others.txt create mode 100644 sources/06-migrate/050-git-to-git.txt create mode 100644 sources/06-migrate/index.txt create mode 100644 sources/07-git-app/010-etckeeper.txt create mode 100644 sources/07-git-app/020-gistore.txt create mode 100644 sources/07-git-app/030-binary-diff.txt create mode 100644 sources/07-git-app/040-cloud-storage.txt create mode 100644 sources/07-git-app/index.txt create mode 100644 sources/08-git-misc/010-git-cross-os.txt create mode 100644 sources/08-git-misc/020-git-charset.txt create mode 100644 sources/08-git-misc/030-case-insensitive.txt create mode 100644 sources/08-git-misc/040-eol.txt create mode 100644 sources/08-git-misc/050-git-features.txt create mode 100644 sources/08-git-misc/060-attributes.txt create mode 100644 sources/08-git-misc/070-hooks-and-templates.txt create mode 100644 sources/08-git-misc/090-sparse-checkout-and-shallow-clone.txt create mode 100644 sources/08-git-misc/110-graft-and-replace.txt create mode 100644 sources/08-git-misc/120-git-notes.txt create mode 100644 sources/08-git-misc/index.txt create mode 100644 sources/90-app/010-git-commands-index.txt create mode 100644 sources/90-app/020-cvs-git-face2face.txt create mode 100644 sources/90-app/030-svn-git-face2face.txt create mode 100644 sources/90-app/040-hg-git-face2face.txt create mode 100644 sources/90-app/index.txt create mode 100644 sources/index.txt create mode 100644 sources/preface.txt create mode 100644 static/ajax-loader.gif create mode 100644 static/basic.css create mode 100644 static/comment-bright.png create mode 100644 static/comment-close.png rename html/inc/cc-icon.png => static/comment.png (51%) create mode 100644 static/contents.png create mode 100644 static/doctools.js create mode 100644 static/down-pressed.png create mode 100644 static/down.png create mode 100644 static/file.png create mode 100644 static/jquery.js create mode 100644 static/minus.png create mode 100644 static/navigation.png create mode 100644 static/plus.png create mode 100644 static/pygments.css create mode 100644 static/searchtools.js create mode 100644 static/sphinxdoc.css create mode 100644 static/translations.js create mode 100644 static/underscore.js create mode 100644 static/up-pressed.png create mode 100644 static/up.png create mode 100644 static/websupport.js create mode 100644 static/worldhello.css delete mode 100644 ttyrec/part1/ch01-01-diff-patch.ttyrec delete mode 100644 ttyrec/part2/ch04-01-first-commit.ttyrec delete mode 100644 ttyrec/part2/ch04-02-git-config.ttyrec delete mode 100644 ttyrec/part2/ch04-03-who-does-commit.ttyrec delete mode 100644 ttyrec/part2/ch05-01-commit-modified.ttyrec delete mode 100644 ttyrec/part2/ch05-02-index-and-diff.ttyrec delete mode 100644 ttyrec/part2/ch05-03-git-stash.ttyrec delete mode 100644 ttyrec/part2/ch06-01-git-objects.ttyrec delete mode 100644 ttyrec/part2/ch06-02-sha1-hash.ttyrec delete mode 100644 ttyrec/part2/ch07-01-git-reset.ttyrec delete mode 100644 ttyrec/part2/ch07-02-reflog.ttyrec delete mode 100644 ttyrec/part2/ch08-01-checkout.ttyrec delete mode 100644 ttyrec/part2/ch09-01-i-am-back.ttyrec delete mode 100644 ttyrec/part2/ch09-02-inside-stash.ttyrec delete mode 100644 ttyrec/part2/ch10-01-tag.ttyrec delete mode 100644 ttyrec/part2/ch10-02-rm1.ttyrec delete mode 100644 ttyrec/part2/ch10-03-rm2.ttyrec delete mode 100644 ttyrec/part2/ch10-04-undelete.ttyrec delete mode 100644 ttyrec/part2/ch10-05-mv.ttyrec delete mode 100644 ttyrec/part2/ch10-06-hello-world.ttyrec delete mode 100644 ttyrec/part2/ch10-07-add-i.ttyrec delete mode 100644 ttyrec/part2/ch10-08-ignore.ttyrec delete mode 100644 ttyrec/part2/ch11-01-clone.ttyrec delete mode 100644 ttyrec/part2/ch11-02-rev-parse.ttyrec delete mode 100644 ttyrec/part2/ch11-03-rev-list.ttyrec delete mode 100644 ttyrec/part2/ch12-01-back2future-1.ttyrec delete mode 100644 ttyrec/part2/ch12-02-back2future-2.ttyrec delete mode 100644 ttyrec/part2/ch12-03-back2future-3.ttyrec delete mode 100644 ttyrec/part3/smart-and-dump-protocol.ttyrec diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 000000000..e832794c1 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: e5428453b6184aa63d8f3a0d74c180f7 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 57510a2be..000000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_site/ diff --git a/01-meet-git/010-scm-history.html b/01-meet-git/010-scm-history.html new file mode 100644 index 000000000..43b22de24 --- /dev/null +++ b/01-meet-git/010-scm-history.html @@ -0,0 +1,452 @@ + + + + + + + + + 1.1. 版本控制的前世和今生 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

1.1. 版本控制的前世和今生

+

除了茫然未知的宇宙,几乎任何事物都是从无到有,从简陋到完善。随着时间车轮的滚滚向前,历史被抛在身后逐渐远去,如同我们的现代社会,世界大同,到处都是忙碌和喧嚣,再也看不到已经远去的刀耕火种、男耕女织的慢生活岁月。

+

版本控制系统是一个另类。虽然其历史并不短暂,也有几十年,但是它的演进过程却一直在社会的各个角落重复着,而且惊人的相似。有的人从未使用甚至从未听说过版本控制系统,他和他的团队就像停留在黑暗的史前时代,任由数据自生自灭。有的人使用着有几十年历史的CVS或其改良版Subversion,让时间空耗在网络连接的等待中。再有就是以Git为代表的分布式版本控制系统,已经风靡整个开源社区,正等待你的靠近。

+
+

1.1.1. 黑暗的史前时代

+

人们谈及远古,总爱以黑暗形容。黑暗实际上指的是秩序和工具的匮乏,而不是自然,如以自然环境而论,工业化和城市化对环境的破坏,现今才是最黑暗的年代。对软件开发来说也是如此,虽然遥远的C语言一统天下的日子,要比今天选Java,选.Net,还是选择脚本语言的多选题要简单得多,但是从工具和秩序上讲,过去的年代是黑暗的。

+

回顾一下我经历的版本控制的“史前时代”吧。在大学里,代码分散地拷贝在各个软盘中,最终我会被搞糊涂,不知道哪个软盘中的代码是最优的,因为最新并非最优,失败的重构会毁掉原来尚能运作的代码。在我工作的第一年,代码管理并未改观,还是以简单的目录拷贝进行数据的备份,三四个程序员利用文件服务器的目录共享进行协同,公共类库和头文件在操作过程中相互覆盖,痛苦不堪。很明显,那时我尚不知道版本控制系统为何物。我的版本控制史前时代一直延续到2000年,那时CVS已经诞生了14年,而我在那时对CVS还一无所知。

+

实际上,即便是在CVS出现之前的“史前时代”,也已经有了非常好用的源码比较和打补丁的工具:diffpatch,他们今天生命力依然顽强。大名鼎鼎的Linus Torvalds(Linux之父)也对这两个工具偏爱有加,在1991-2002年之间,Linus一直顽固地使用diffpatch管理着Linux的代码,即使不断有人提醒他CVS的存在[1]

+

那么来看看diffpatch,熟悉它们将对理解版本控制系统(差异存储),使用版本控制系统(代码比较和冲突合并)都有莫大的好处。

+
+

1.1.1.1. 命令diff用于比较两个文本文件或目录的差异

+

先来构造两个文件[2]

+ ++++ + + + + + + + + + + +
文件 hello文件 world
应该杜绝文章中的错别子。
+
+但是无论使用
+* 全拼,双拼
+* 还是五笔
+
+是人就有可能犯错,软件更是如此。
+
+犯了错,就要扣工资!
+
+改正的成本可能会很高。
+
+
+
应该杜绝文章中的错别字。
+
+但是无论使用
+* 全拼,双拼
+* 还是五笔
+
+是人就有可能犯错,软件更是如此。
+
+改正的成本可能会很高。
+
+但是“只要眼球足够多,所有Bug都好捉”,
+这就是开源的哲学之一。
+
+
+
+

对这两个文件执行diff命令,查看两个文件的差异。如下所示:

+
$ diff -u hello world | less -N
+
+
+

上面执行diff命令的-u参数很重要,使得差异输出中带有上下文。管道后面带有-N参数的less命令(按字母q退出)会在输出的每一行前面添加行号,便于对输出结果进行说明。

+
 1 --- hello       2010-09-21 17:45:33.551610940 +0800
+ 2 +++ world       2010-09-21 17:44:46.343610465 +0800
+ 3 @@ -1,4 +1,4 @@
+ 4 -应该杜绝文章中的错别子。
+ 5 +应该杜绝文章中的错别字。
+ 6
+ 7  但是无论使用
+ 8  * 全拼,双拼
+ 9 @@ -6,6 +6,7 @@
+10
+11  是人就有可能犯错,软件更是如此。
+12
+13 -犯了错,就要扣工资!
+14 -
+15  改正的成本可能会很高。
+16 +
+17 +但是“只要眼球足够多,所有Bug都好捉”,
+18 +这就是开源的哲学之一。
+
+
+

上面的差异文件,可以这么理解:

+
    +
  • 第1、2行作为差异文件的文件头,分别记录了用于比较的原始文件和目标文件的文件名及时间戳。第1行以三个减号(---)开始,记录原始文件的文件名和时间戳,而第2行以三个加号(+++)开始,记录的是目标文件的文件名及时间戳。
  • +
  • 在比较内容中,以减号(-)开始的行是只出现在原始文件中的行,而在目标文件中不存在,即被删除的内容。例如:第4、13、14行。
  • +
  • 在比较内容中,以加号(+)开始的行是只出现在目标文件中的行,而在原始文件中不存在,即新增加的内容。例如:第5、16-18行。
  • +
  • 在比较内容中,以空格开始的行,是在原始文件和目标文件中都出现的行,用于上下文参考。例如:第6-8、10-12、15行。
  • +
  • 第3-8行是第一个差异小节。每个差异小节以一行定位语句开始。第3行就是一条差异定位语句,其前后分别用两个@进行标识。
  • +
  • 第3行定位语句中-1,4的含义是:本差异小节的内容相当于原始文件的从第1行开始的4行。不妨计算一下,第4、6、7、8行是原始文件中的内容,加起来刚好是4行。
  • +
  • 第3行定位语句中+1,4的含义是:本差异小节的内容相当于目标文件的从第1行开始的4行。第5、6、7、8行是目标文件中的内容,加起来刚好是4行。
  • +
  • 第9-18行是第二个差异小节。第9行是一条定位语句。
  • +
  • 第9行定位语句中-6,6的含义是:本差异小节的内容相当于原始文件的从第6行开始的6行。统计一下,第10-15行是原始文件中的内容,加起来刚好是6行。
  • +
  • 第9行定位语句中+6,7的含义是:本差异小节的内容相当于目标文件的从第6行开始的7行。第10-12、15-18行是目标文件中的内容,加起来刚好是7行。
  • +
  • 命令diff是基于行比较,所以即便只修改了一个字,也显示为一整行的修改(参见差异文件第4、5行)。Git对diff进行了扩展,提供一种逐词比较的差异比较方法,参见本书第2篇“11.4.4 差异比较:git diff”小节。
  • +
+
+
+

1.1.1.2. 命令patch相当于diff的反向操作

+

有了原始文件(hello)和差异文件(diff.txt),若目标文件(world)被删除或被覆盖,可以用下面的命令来恢复目标文件(world):

+
$ cp hello world
+$ patch world < diff.txt
+
+
+

反之亦然。用目标文件(world)和差异文件(diff.txt)来恢复原始文件(hello),使用如下操作:

+
$ cp world hello
+$ patch -R hello < diff.txt
+
+
+

命令diffpatch还可以对目录进行比较和恢复操作,这也就是Linus在1991-2002年用于维护Linux不同版本间差异的办法。可以用此命令,在没有版本控制系统的情况下,记录并保存改动前后的差异,还可以将差异文件注入版本控制系统(如果有的话)。

+

标准的diffpatch命令存在一个局限,就是不能对二进制文件进行处理。对二进制文件的修改或添加会在差异文件中缺失,进而丢失对二进制文件的改动或添加。Git对差异文件格式提供了扩展支持,支持二进制文件的比较,解决了这个问题。这点可以参考本书第7篇“第38章 补丁中的二进制文件”的相关内容。

+
+
+
+

1.1.2. CVS——开启版本控制大爆发

+

CVS(Concurrent Versions System)[3]诞生于1985年,是由荷兰阿姆斯特丹VU大学的Dick Grune教授实现的。当时Dick教授和两个学生共同开发一个项目,但是三个人的工作时间无法协调到一起,迫切需要一个记录和协同代码开发的工具软件。于是Dick教授通过脚本语言对RCS(一个针对单独文件的版本管理工具)进行封装,设计出有史以来第一个被大规模使用的版本控制工具。在Dick教授的网站上记录了CVS这段早期的历史。[4]

+
“在1985年一个糟糕的秋日里,我站在校汽车站等车回家,脑海里一直纠结着一件事
+——如何处理RCS文件、用户文件(工作区)和Entries文件的复杂关系,有的文件
+可能会缺失、冲突、被删除,等等。我的头有些晕了,于是决定画一个大表,将复杂
+的关联画在其中看看出来的结果是什么样的……”
+
+
+

1986年Dick教授通过新闻组发布了CVS,1989年由Brian Berliner将CVS用C语言重写。

+

从CVS的历史可以看出CVS不是设计出来的,而是被实际需要逼出来的,因此根据实用为上的原则,借用了已有的针对单一文件的多版本管理工具RCS。CVS采用客户端/服务器架构设计,版本库位于服务器端,实际上就是一个RCS文件容器。每一个RCS文件以“,v”作为文件名后缀,用于保存对应文件的历次更改历史。RCS文件中只保留一个版本的完全拷贝,其他历次更改仅将差异存储其中,使得存储变得更加高效。我在2008年设计的一个SVN管理后台pySvnManager[5],实际上也采用了RCS作为保存SVN授权文件变更记录的“数据库”。

+

图1-1展示了CVS版本控制系统的工作原理,可以看到作为RCS文件容器的CVS版本库和工作区目录结构的一一对应关系。

+
+../images/cvs-arch.png +

图1-1:CVS版本控制系统示意图

+
+

CVS的这种实现方式的最大好处就是简单。把版本库中随便一个目录拿出来就可以成为另外一个版本库。如果将版本库中的一个RCS文件重命名,工作区检出的文件名也相应地改变。这种低成本的服务器管理模式成为很多CVS粉丝至今不愿舍弃CVS的原因。

+

CVS的出现让软件工程师认识到了原来还可以这样协同工作。CVS成功地为后来的版本控制系统确立了标准,像提交(commit)、检入(checkin)、检出(checkout)、里程碑(tag或译为标签)、分支(branch)等概念早在CVS中就已经确立。CVS的命令行格式也被后来的版本控制系统竞相模仿。

+

在2001年,我正为使用CVS激动不已的时候,公司领导要求采用和美国研发部门同样的版本控制解决方案。于是,我的项目组率先进行了从CVS到该商业版本控制工具的迁移[6]。虽然商业版本控制工具有更漂亮的界面及更好的产品整合性,但是就版本控制本身而言,商业版本控制工具存在着如下缺陷。

+
    +
  • 采用黑盒子式的版本库设计。让人捉摸不透的版本库设计,最大的目的可能就是阻止用户再迁移到其他平台。
  • +
  • 缺乏版本库整理工具。如果有一个文件(如记录核弹起爆密码的文件)检入到版本库中,就没有办法再彻底移除它。
  • +
  • 商业版本控制工具很难为个人提供版本控制解决方案,除非个人愿意花费高昂的许可证费用。
  • +
  • 商业版本控制工具注定是小众软件,对新员工的培训成本不可忽视。
  • +
+

而上述商业版本控制系统的缺点,恰恰是CVS及其他开源版本控制系统的强项。但在经历了最初的成功之后,CVS也尽显疲态:

+
    +
  • 服务器端松散的RCS文件,导致在建立里程碑或分支时缺乏效率,服务器端文件越多,速度越慢。
  • +
  • 分支和里程碑不可见,因为它们被分散地记录在服务器端的各个RCS文件中。
  • +
  • 合并困难重重,因为缺乏对合并的追踪从而导致重复合并,引发严重冲突。
  • +
  • 缺乏对原子提交的支持,会导致客户端向服务器端提交不完整的数据。
  • +
  • 不能优化存储内容相同但文件名不同的文件,因为在服务器端每个文件都是单独进行差异存储的。
  • +
  • 不能对文件和目录的重命名进行版本控制,虽然直接在服务器端修改RCS文件名可以让改名后的文件保持历史,但是这样做实际会破坏历史。
  • +
  • 网络操作效率不高,修改的文件在提交时要通过网络传输完整的文件,这是因为本地缺乏文件的原始拷贝而不能在提交前计算出差异数据。
  • +
+

CVS的成功开启了版本控制系统的大爆发,各式各样的版本控制系统如雨后春笋般地诞生了。新的版本控制系统或多或少地解决了CVS版本控制系统存在的问题。在这些版本控制系统中最典型的就是Subversion(SVN)。

+
+
+

1.1.3. SVN——集中式版本控制集大成者

+

Subversion[7],因其命令行工具名为svn因此通常被简称为SVN。SVN由CollabNet公司于2000年资助并发起开发,目的是创建一个更好用的版本控制系统以取代CVS。前期SVN的开发使用CVS做版本控制,到了2001年,SVN已经可以用于自己的版本控制了[8]。SVN成熟的标志是其完成了后端存储上的变革,即从一开始的BDB(简单的关系型数据库)到FSFS(文件数据库)的转变[9]。FSFS相对于BDB具有更高的稳定性、免维护性,以及实现的可视性。图1-2展示了采用FSFS作为存储后端的SVN版本控制系统的工作原理。

+
+../images/svn-arch.png +

图1-2:SVN版本控制系统示意图

+
+

SVN的每一次提交,都会在服务器端的db/revsdb/revprops目录下各创建一个以顺序数字编号命名的文件。其中db/revs目录下 +的文件(即变更集文件)记录与上一个提交之间的差异(字母A表示新增,M表示修改,D表示删除)。在db/revprops目录下的同名文件(没有在图1-2中体现)则保存着提交日志、作者、提交时间等信息(称作版本属性)。这样设计的好处有:

+
    +
  • 拥有全局版本号。每提交一次,SVN的版本号就会自动加一。这为SVN的使用提供了极大的便利。回想CVS时代,每个文件都拥有各自独立的版本号(RCS版本号),要想获得全局版本号,只能通过手工不断地建立里程碑(tag)来实现。
  • +
  • 实现了原子提交。SVN不会像CVS那样出现部分文件被提交而其他文件由于故障没有被提交的状态。
  • +
  • 文件名不受限制。因为服务器端不再需要建立和客户端文件相似的文件名,这样,文件的命名就不再受服务器操作系统的字符集及大小写的限制。
  • +
  • 文件和目录重命名也得到了支持。
  • +
+

SVN最具特色的功能是轻量级拷贝,例如将目录trunk拷贝为branches/v1.x的操作类似于创建符号链接(仅需在db/revs下的变更集文件中用特定的语法标注一下),是轻量级操作,可快速完成。利用轻量级拷贝,SVN在不同的名字空间下创建不同的目录实现里程碑和分支的创建,轻松地解决了CVS中存在的里程碑、分支创建速度慢又不可见的问题。使用SVN创建里程碑和分支只在眨眼之间。

+

SVN在版本库授权上也有改进,不再像CVS那样依赖操作系统本身对版本库目录和文件进行授权,而是采用授权文件的方式来实现。

+

SVN还有一个突破,就是在工作区跟踪目录(.svn目录)下为当前目录中的每一个文件都保存一份冗余的原始拷贝。这样做的好处一个是提高了网络的效率,在提交时仅传输变更差异,另外一个好处是部分操作不再需要网络连接,如本地修改的差异比较,以及本地更改的回退等。

+

正是由于SVN的这些闪亮的功能,使得SVN成为继CVS之后诞生的诸多版本控制系统中的集大成者,成为开源社区一时的新宠,也成为当时各个企业版本控制的最佳选择之一。

+

但是SVN相对CVS在本质上并没有突破,都属于集中式版本控制系统,即一个项目只有唯一的一个版本库与之对应,所有的项目成员都通过网络向该服务器进行提交。单点故障是集中式版本控制的死穴,并由此带来数据备份和数据恢复的管理成本。此外集中式版本控制系统还存在着提交瓶颈。

+

所谓提交瓶颈就是单位时间内版本库允许的提交数量的限制。当提交非常密集时,会出现有的用户始终无法完成本地工作区的改动和服务器最新版本间的合并,其所做的改动无法提交的状况。为避免过早地出现提交瓶颈,SVN允许本地出现混杂版本(即工作区文件版本不一致,有的可能是最新版本,有的可能是历史版本),并可以针对部分目录、文件进行提交。这种非全量的提交方式会导致版本库中文件状态不可测,即本地提交前代码编译、运行是完好的,但被他人更新出来的版本存在bug。

+

集中式版本控制系统对分布式开发支持得不好,在局域网之外使用SVN,单是查看日志、提交数据等操作的延迟,就足以让基于广域网协同工作的团队抓狂了。

+

除了集中式版本控制系统固有的问题外,SVN的里程碑、分支的设计也被证明是一个错误,虽然这个错误使得SVN拥有了快速创建里程碑和分支的能力,但是这个错误导致了如下的更多问题。

+
    +
  • 项目文件在版本库中必须按照一定的目录结构进行部署,否则就可能无法建立里程碑和分支。

    +

    我在项目咨询过程中就见过很多团队,直接在版本库的根目录下创建项目文件。这样的版本库布局,在需要创建里程碑和分支时就无从下手了,因为根目录是不能拷贝到子目录中的。所以SVN的用户在创建版本库时必须遵守一个古怪的约定:先创建三个顶级目录/trunk/tags/branches

    +
  • +
  • 创建里程碑和分支会破坏精心设计的授权。

    +

    SVN的授权是基于目录的,分支和里程碑也被视为目录(和其他目录没有分别)。因此每次创建分支或里程碑时,就要将针对/trunk目录及其子目录的授权在新建的分支或里程碑上重建。随着分支和里程碑数量的增多,授权愈加复杂,维护也愈加困难。

    +
  • +
  • 虽然在SVN 1.5之后拥有了合并追踪功能,但仅适用于单向的合并追踪。

    +

    SVN的合并追踪信息并非由合并提交本身提供,而是通过记录在合并的目标目录之上、由独立于合并提交之外的属性提供的,是单边而非双边的。所以这种合并追踪方式仅适用于分支间的单向合并,对双向合并和复杂的多分支合并帮助不大。

    +
  • +
+

2009年底,SVN由CollabNet公司交由Apache社区管理,至此SVN成为了Apache的一个子项目[10]。这对SVN到底意味着什么?是开发的停滞,还是新的开始,结果如何我们将拭目以待。

+
+
+

1.1.4. Git——Linus的第二个伟大作品

+

Linux之父Linus是坚定的CVS反对者,他也同样地反对SVN。这就是为什么在1991-2002这十余年间,Linus宁可使用补丁文件和tar包的方式维护代码,也迟迟不愿使用CVS。2002年Linus顶着开源社区精英们的口诛笔伐,选择了一个商业版本控制系统BitKeeper作为Linux内核的代码管理工具[11]。和CVS/SVN不同,BitKeeper是属于分布式版本控制系统。

+

分布式版本控制系统最大的反传统之处在于,可以不需要集中式的版本库,每个人都工作在通过克隆操作建立的本地版本库中,也就是说每个人都拥有一个完整的版本库。分布式版本控制系统的几乎所有操作包括查看提交日志、提交、创建里程碑和分支、合并分支、回退等都直接在本地完成而不需要网络连接。每个人都是本地版本库的主人,不再有谁能提交谁不能提交的限制,加之多样的协同工作模型(版本库间推送、拉回,及补丁文件传送等)让开源项目的参与度有爆发式增长。

+

2005年发生的一件事最终导致了Git的诞生。在2005年初Andrew Tridgell,即大名鼎鼎的Samba的作者,试图尝试对BitKeeper反向工程,以开发一个能与BitKeeper交互的开源工具。这激怒了BitKeeper软件的所有者BitMover公司,要求收回对Linux社区免费使用BitKeeper的授权[12]。迫不得已,Linus选择了自己开发一个分布式版本控制工具以替代BitKeeper。以下是Git诞生大事记[13]

+
    +
  • 2005年4月3日,开始开发Git。
  • +
  • 2005年4月6日,项目发布。
  • +
  • 2005年4月7日,Git就可以作为自身的版本控制工具了。
  • +
  • 2005年4月18日,发生第一个多分支合并。
  • +
  • 2005年4月29日,Git的性能就已经达到了Linus的预期。
  • +
  • 2005年6月16日,Linux核心2.6.12发布,那时Git已经在维护Linux核心的源代码了。
  • +
+

Linus以一个文件系统专家和内核设计者的视角对Git进行了设计,其独特的设计,让Git拥有非凡的性能和存储管理。完成原型设计后,在2005年7月26日,Linus功成身退,将Git的维护交给另外一个Git的主要贡献者Junio C Hamano[14],直到现在。

+

最初的Git除了一些核心命令以外,其他的都用脚本语言开发,而且每个功能都作为一条独立的命令,例如克隆操作的命令git-clone,提交操作的命令git-commit。这导致Git拥有庞大的命令集,使用习惯也和其他版本控制系统格格不入。随着Git的开发者和使用者的增加,Git的使用界面也变得更友好。例如到1.5.4版本时,将一百多个独立的命令封装为一个git命令,使用习惯已经和其他版本控制工具非常一致了。

+

在Git出现之前,SVN曾是开源项目版本控制的毋庸置疑的首选,但是在Git诞生后的短短几年,开源项目中再一次出现了版本控制系统的大迁移,Git取代SVN成为当之无愧的版本控制之王。看看下面这些使用Git的项目吧,各个都耳熟能详:Linux kernel、Perl、Eclipse、Gnome、KDE、Qt、Ruby on Rails、Android、PostgreSQL、Debian、X.org,当然还有GitHub上的上百万个项目。

+

成为版本控制之王,Git当之无愧。

+
    +
  • 安全性强。

    +

    抵御了kernel.org在2011年的黑客事件。 +Git管理的每一个文件、目录、提交等都使用SHA1哈希值。

    +

    分布式。

    +
  • +
  • No delta, 全量提交。

    +
  • +
  • 提交的父子关系和分支。

    +
  • +
  • DAG。提交

    +
  • +
+
+ + + + + +
[1]Linus Torvalds于2007-05-03在Google的演讲:http://www.youtube.com/watch?v=4XpnKHJAok8
+ + + + + +
[2]文件中特意留下的错别字(“字”误为“子”),是便于演示文件的差异比较。
+ + + + + +
[3]http://www.nongnu.org/cvs/
+ + + + + +
[4]http://dickgrune.com/Programs/CVS.orig/#History
+ + + + + +
[5]http://pysvnmanager.sourceforge.net/
+ + + + + +
[6]于是就有了这篇文章:http://www.worldhello.net/doc/cvs_vs_starteam/
+ + + + + +
[7]http://subversion.apache.org/
+ + + + + +
[8]http://svnbook.red-bean.com/en/1.5/svn.intro.whatis.html#svn.intro.history
+ + + + + +
[9]http://subversion.apache.org/docs/release-notes/1.2.html
+ + + + + +
[10]http://en.wikipedia.org/wiki/Apache_Subversion
+ + + + + +
[11]http://en.wikipedia.org/wiki/BitKeeper
+ + + + + +
[12]http://en.wikipedia.org/wiki/Andrew_Tridgell
+ + + + + +
[13]http://en.wikipedia.org/wiki/Git_%28software%29
+ + + + + +
[14]http://marc.info/?l=git&m=112243466603239
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/020-love-git.html b/01-meet-git/020-love-git.html new file mode 100644 index 000000000..cf61fc3c4 --- /dev/null +++ b/01-meet-git/020-love-git.html @@ -0,0 +1,492 @@ + + + + + + + + + 1.2. 爱上Git的理由 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

1.2. 爱上Git的理由

+

本章通过一些典型应用展示Git作为版本控制系统的独特用法。对于不熟悉版本控制系统的读者,可以通过这些示例对版本控制拥有感性的认识。如果是有经验的读者,示例中的和SVN的对照可以让您体会到Git的神奇和强大。本章将列举Git的一些闪亮特性,期待能够让您爱上Git。

+
+

1.2.1. 每日的工作备份

+

当我开始撰写本书时才明白写书真的是一个辛苦活。如何让辛苦的工作不会因为笔记本硬盘的意外损坏而丢失?如何防范灾害而不让一个篮子里的鸡蛋都毁于一旦?下面就介绍一下我在写本书时如何使用Git进行文稿备份的,请看图2-1。

+
+../images/work-backup.png +

图2-1:利用Git做数据的备份

+
+

如图2-1,我的笔记本在公司局域网里的IP地址是192.168.0.100,公司的Git服务器的IP地址是192.168.0.2。公司使用动态IP上网因而没有固定的外网IP,但是公司在数据中心有托管服务器,拥有固定的IP地址,其中一台服务器用作Git服务器镜像。

+

我的写书习惯大概是这样:一般在写完一个小节,或是画完一张图,我会执行下面的命令提交一次。每一天平均提交3-5次。提交是在笔记本本地完成的,因此在图中没有表示出来。

+
$ git add -u    # 如果创建了新文件,可以执行 git add -i 命令。
+$ git commit
+
+
+

下班后,我会执行一次推送操作,将我在本地Git版本库中的提交同步到公司的Git服务器上。相当于图2-1中的步骤①。

+
$ git push
+
+
+

因为公司的Git服务器和异地数据中心的Git服务器建立了镜像,所以每当我向公司内网服务器推送的时候,就会自动触发从内网服务器到外网Git服务器的镜像操作。相当于图2-1中的步骤②,步骤②是自动执行的无须人工干预。图2-1中标记为mirror的版本库就是Git镜像版本库,该版本库只向用户提供只读访问服务,而不能对其进行写操作(推送)。

+

从图2-1中可以看出,我的每日工作保存有三个拷贝,一个在笔记本中,一个在公司内网的服务器上,还有一个在外网的镜像版本库中。鸡蛋分别装在了三个篮子里。

+

至于如何架设可以实时镜像的Git服务器,会在本书第5篇“第30章 Gitolite服务架设”中予以介绍。

+
+
+

1.2.2. 异地协同工作

+

为了能够加快写书的进度,熬夜是必须的,这就出现了在公司和在家两地工作同步 +的问题。图2-2用于说明我是如何解决两地工作同步的问题的。

+
+../images/workflow.png +

图2-2:利用Git实现异地工作协同

+
+

我在家里的电脑IP地址是10.0.0.100(家里也有一个小局域网)。如果在家里有时间工作的话,首先要做的就是图2-2中步骤③的操作:从mirror版本库同步数据到本地。只需要一条命令就好了:

+
$ git pull mirror master
+
+
+

然后在家里的电脑上编辑书稿并提交。当准备完成一天的工作时,就执行下面的命令,相当于图2-2中步骤④的操作:将在家中的提交推送到标记为home的版本库中。

+
$ git push home
+
+
+

为什么还要再引入另外一个名为home的版本库呢?使用mirror版本库不好么?不要忘了mirror版本库只是一个镜像库,不能提供写操作。

+

当一早到公司,开始动笔写书之前,先要执行图2-2中步骤⑤的操作,从home版本库将家里做的提交同步到公司的电脑中。

+
$ git pull home master
+
+
+

公司的小崔是我这本书的忠实读者,我每有新章节出来,他都会执行图2-2中步骤⑥的工作,从公司内网服务器获取我最新的文稿。

+
$ git pull
+
+
+

一旦发现文字错误,小崔会直接在文稿中修改,然后推送到公司的服务器上(图2-2中步骤⑦)。当然他的这个推送也会自动同步到外网的mirror版本库。

+
$ git push
+
+
+

而我只要执行git pull操作就可以获得小崔对我文稿的修订(图2-2中的步骤⑧)。采用这种工作方式,文稿竟然分布在5台电脑上拥有6个拷贝,真可谓狡兔三窟。不,比狡兔还要多三窟。

+

在本节中,出现在Git命令中的mirrorhome是和工作区关联的远程版本库。关于如何注册和使用远程版本库,请参见本书第3篇“第19章 远程版本库”中的内容。

+
+
+

1.2.3. 现场版本控制

+

所谓现场版本控制,就是在客户现场或在产品部署的现场,进行源代码的修改,并在修改过程中进行版本控制,以便在完成修改后能够将修改结果甚至修改过程一并带走,并能够将修改结果合并至项目对应的代码库中。

+

SVN的解决方案

+

如果使用SVN进行版本控制,首先要将服务器上部署的产品代码目录变成SVN工作区,这个过程并不简单而且会显得很繁琐,最后将改动结果导出也非常不方便,具体操作过程如下。

+
    +
  1. 在其他位置建立一个SVN版本库。

    +
    $ svnadmin create /path/to/repos/project1
    +
    +
    +
  2. +
  3. 在需要版本控制的目录下检出刚刚建立的空版本库。

    +
    $ svn checkout file:///path/to/repos/project1 .
    +
    +
    +
  4. +
  5. 执行文件添加操作,然后执行提交操作。这个提交将是版本库中编号为1的提交。

    +
    $ svn add *
    +$ svn ci -m "initialized"
    +
    +
    +
  6. +
  7. 然后开始在工作区中修改文件,提交。

    +
    $ svn ci
    +
    +
    +
  8. +
  9. 如果对修改结果满意,可以通过创建补丁文件的方式将工作成果保存带走。但是SVN很难对每次提交逐一创建补丁,一般用下面的命令与最早的提交进行比较,以创建出一个大补丁文件。

    +
    $ svn diff -r1 > hacks.patch
    +
    +
    +
  10. +
+

上面用SVN将工作成果导出的过程存在一个致命的缺陷,就是SVN的补丁文件不支持二进制文件,因此采用补丁文件的方式有可能丢失数据,如新增或修改的图形文件会丢失。更为稳妥但也更为复杂的方式可能要用到svnadmin命令将版本库导出。命令如下:

+
$ svnadmin dump --incremental -r2:HEAD \
+  /path/to/repos/project1/ > hacks.dump
+
+
+

svnadmin命令创建的导出文件恢复到版本库中也非常具有挑战性,这里就不再详细说明了。还是来看看Git在这种情况下的表现吧。

+

Git的解决方案

+

Git对产品部署目录进行到工作区的转化相比SVN要更为简单,而且使用Git将提交历史导出也更为简练和实用,具体操作过程如下:

+
    +
  1. 现场版本库创建。直接在需要版本控制的目录下执行Git版本库初始化命令。

    +
    $ git init
    +
    +
    +
  2. +
  3. 添加文件并提交。

    +
    $ git add -A
    +$ git commit -m "initialized"
    +
    +
    +
  4. +
  5. 为初始提交建立一个里程碑:“v1”。

    +
    $ git tag v1
    +
    +
    +
  6. +
  7. 然后开始在工作区中工作——修改文件,提交。

    +
    $ git commit -a
    +
    +
    +
  8. +
  9. 当对修改结果满意,想将工作成果保存带走时,可以通过下面的命令,将从v1开始的历次提交逐一导出为补丁文件。转换的补丁文件都包含一个数字前缀,并提取提交日志信息作为文件名,而且补丁文件还提供对二进制文件的支持。下面命令的输出摘自本书第3篇“第20章 补丁文件交互”中的实例。

    +
    $ git format-patch v1..HEAD
    +0001-Fix-typo-help-to-help.patch
    +0002-Add-I18N-support.patch
    +0003-Translate-for-Chinese.patch
    +
    +
    +
  10. +
  11. 通过邮件将补丁文件发出。当然也可以通过其他方式将补丁文件带走。

    +
    $ git send-email *.patch
    +
    +
    +
  12. +
+

Git创建的补丁文件使用了Git扩展格式,因此在导入时为了避免数据遗漏,要使用Git提供的命令而不能使用GNU patch命令。即使要导入的不是Git版本库,也可以使用Git命令,具体操作请参见本书第7篇“第38章 补丁中的二进制文件”中的相关内容。

+
+
+

1.2.4. 避免引入辅助目录

+

很多版本控制系统,都要在工作区中引入辅助目录或文件,如SVN要在工作区的每一个子目录下都创建.svn目录,CVS要在工作区的每一个子目录下都创建CVS目录。

+

这些辅助目录如果出现在服务器上,尤其是Web服务器上是非常危险的,因为这些辅助目录下的Entries文件会暴露出目录下的文件列表,让管理员精心配置的禁止目录浏览的努力全部白费。

+

还有,SVN的.svn辅助目录下还存在文件的原始拷贝,在文件搜索时结果会加倍。如果您曾经在SVN的工作区用过grep命令进行内容查找,就会明白我指的是什么。

+

Git没有这个问题,不会在子目录下引入讨厌的辅助目录或文件(.gitignore.gitattributes文件不算)。当然Git还是要在工作区的顶级目录下创建名为.git的目录(版本库目录),不过如果你认为唯一的一个.git目录也过于碍眼,可以将其放到工作区之外的任意目录。一旦这么做了,你在执行Git命令时,要通过命令行(–git-dir)或环境变量GIT_DIR为工作区指定版本库目录,甚至还要指定工作区目录。

+

Git还专门提供了一个git grep命令,这样在工作区根目录下执行查找时,目录.git也不会对搜索造成影响。

+

关于辅助目录的详细讨论请参见本书第2篇第4.2节中的内容。

+
+
+

1.2.5. 重写提交说明

+

很多人可能如我一样,在敲下回车之后,才发现提交说明中出现了错别字,或忘记了写关联的Bug ID。这就需要重写提交说明。

+

SVN的解决方案

+

SVN的提交说明默认是禁止更改的,因为SVN的提交说明属于不受版本控制的属性,一旦修改就不可恢复。我建议SVN的管理员只有在配置了版本库更改的外发邮件通知之后,再开放提交说明更改的功能。我发布于SourceForge上的pySvnManager项目,提供了SVN版本库图形化的钩子管理,会简化管理员的配置工作。

+

即使SVN管理员启用了允许更改提交说明的设置,修改提交说明也还是挺复杂的,看看下面的命令:

+
$ svn ps --revprop -r <REV> svn:log "new log message..."
+
+
+

Git的解决方案

+

Git修改提交说明很简单,而且提交说明的修改也是被追踪的。Git修改最新提交的提交说明最为简单,使用一条名为修补提交的命令即可。

+
$ git commit --amend
+
+
+

这个命令如果不带“-m”参数,会进入提交说明编辑界面,修改原来的提交说明,直到满意为止。

+

如果要修改某个历史提交的提交说明,Git也可以实现,但要用到另外一个命令:变基命令。例如要修改<commit-id>所标识提交的提交说明,执行下面的命令,并在弹出的变基索引文件中修改相应提交前面的动作的关键字。

+
$ git rebase -i <commit-id>^
+
+
+

关于如何使用交互式变基操作更改历史提交的提交说明,请参见本书第2篇“第12章 改变历史”中的内容。

+
+
+

1.2.6. 想吃后悔药

+

假如提交的数据中不小心包含了一个不应该检入的虚拟机文件——大约有1个GB!这时候,您会多么希望这个世界上有后悔药卖啊。

+

SVN的解决方案

+

SVN遇到这个问题该怎么办呢?删除错误加入的大文件,再提交,这样的操作是不能解决问题的。虽然表面上去掉了这个文件,但是它依然存在于历史中。

+

管理员可能是受影响最大的人,因为他要负责管理服务器的磁盘空间占用及版本库的备份。实际上这个问题也只有管理员才能解决,所以你必须向管理员坦白,让他帮你在服务器端彻底删除错误引入的大文件。我要告诉你的是,对于管理员,这并不是一个简单的活。

+
    +
  1. SVN管理员要是没有历史备份的话,只能从头用svnadmin dump导出整个版本库。
  2. +
  3. 再用svndumpfilter命令过滤掉不应检入的大文件。
  4. +
  5. 然后用svnadmin load重建版本库。
  6. +
+

上面的操作描述中省略了一些窍门,因为要把窍门说清楚的话,这本书就不是讲Git,而是讲SVN了。

+

Git的解决方案

+

如果你用Git,一切就会非常简单,而且你也不必去乞求管理员,因为使用Git,每个人都是管理员。

+

如果是最新的提交引入了不该提交的大文件:winxp.img,操作起来会非常简单,还是用修补提交命令。

+
$ git rm --cached winxp.img
+$ git commit --amend
+
+
+

如果是历史版本,例如是在<commit-id>所标识的提交中引入的文件,则需要使用变基操作。

+
$ git rebase -i <commit-id>^
+
+
+

执行交互式变基操作抛弃历史提交,版本库还不能立即瘦身,具体原因和解决方案请参见本书第2篇“第14章 Git库管理”中的内容。除了使用变基操作,Git还有更多的武器可以实现版本库的整理操作,具体请参见本书第6篇第35.4节的内容。

+
+
+

1.2.7. 更好用的提交列表

+

正确的版本控制系统的使用方法是,一次提交只干一件事:完成一个新功能、修改了一个Bug、或是写完了一节的内容、或是添加了一幅图片,就执行一次提交。而不要在下班时才想起来要提交,那样的话版本控制系统就被降格为文件备份系统了。

+

但有时在同一个工作区中可能同时在做两件事情,一个是尚未完成的新功能,另外一个是解决刚刚发现的Bug。很多版本控制系统没有提交列表的概念,或者要在命令行指定要提交的文件,或者默认把所有修改内容全部提交,破坏了一个提交干一件事的原则。

+

SVN的解决方案

+

SVN 1.5开始提供了变更列表(change list)的功能,通过引入一个新的命令svn changelist来实现。但是我从来就没有用过,因为:

+
    +
  • 定义一个变更列表太麻烦。例如不支持将当前所有改动的文件加入列表,也不支持将工作区中的新文件全部加入列表。
  • +
  • 一个文件不能同时属于两个变更列表。两次变更不许有文件交叉,这样的限制太牵强。
  • +
  • 变更列表是一次性的,提交之后自动消失。这样的设计没有问题,但是相比定义列表时的繁琐,以及提交时必须指定列表的繁琐,使用变更列表未免得不偿失。
  • +
  • 再有,因为Subversion的提交不能撤销,如果在提交时忘了提供变更列表名称以针对特定的变更列表进行提交,错误的提交内容将无法补救。
  • +
+

总之,SVN的变更列表尚不如鸡肋,食之无味,弃之不可惜。

+

Git的解决方案

+

Git通过提交暂存区实现对提交内容的定制,非常完美地实现了对工作区的修改内容进行筛选提交:

+
    +
  • 执行git add命令将修改内容加入提交暂存区。执行git add -u命令可以将所有修改过的文件加入暂存区,执行git add -A命令可以将本地删除文件和新增文件都登记到提交暂存区,执行git add -p命令甚至可以对一个文件内的修改进行有选择性的添加。
  • +
  • 一个修改后的文件被登记到提交暂存区后,可以继续修改,继续修改的内容不会 +被提交,除非再对此文件再执行一次git add命令。即一个修改的文件可以拥有两个版本,在提交暂存区中有一个版本,在工作区中有另外一个版本。
  • +
  • 执行git commit命令提交,无须设定什么变更列表,直接将登记在暂存区中的内容提交。
  • +
  • Git支持对提交的撤消,而且可以撤消任意多次。
  • +
+

只要使用Git,就会时刻在和隐形的提交列表打交道。本书第2篇“第5章 Git暂存区”会详细介绍Git的这一特性,相信你会爱上Git的这个特性。

+
+
+

1.2.8. 更好的差异比较

+

Git对差异比较进行了扩展,支持对二进制文件的差异比较,这是对GNU的diffpatch命令的重要补充。还有Git的差异比较除了支持基于行的差异比较外,还支持在一行内逐字比较的方式,当向git diff命令传递–word-diff参数时,就会进行逐字比较。

+

在上面介绍了工作区的文件修改可能会有两个不同的版本,一个是在提交暂存区,一个是在工作区。因此在执行git diff命令时会遇到令Git新手费解的现象。

+
    +
  • 修改后的文件在执行git diff命令时会看到修改造成的差异。
  • +
  • 修改后的文件通过git add命令提交到暂存区后,再执行git diff命令会看不到该文件的差异。
  • +
  • 继续对此文件进行修改,再执行git diff命令,会看到新的修改 +显示在差异中,而看不到旧的修改。
  • +
  • 执行git diff –cached命令才可以看到添加到暂存区中的文件所 +做出的修改。
  • +
+

Git差异比较的命令充满了魔法,本书第5章第5.3节会带您破解Git的diff魔法。一旦您习惯了,就会非常喜欢git diff的这个行为。

+
+
+

1.2.9. 工作进度保存

+

如果工作区的修改尚未完成时,忽然有一个紧急的任务,需要从一个干净的工作区开始新的工作,或要切换到别的分支进行工作,那么如何保存当前尚未完成的工作进度呢?

+

SVN的解决方案

+

如果版本库规模不大,最好重新检出一个新的工作区,在新的工作区进行工作。否则,可以执行下面的操作。

+
$ svn diff > /path/to/saved/patch.file
+$ svn revert -R
+$ svn switch <new_branch>
+
+
+

在新的分支中工作完毕后,再切换回当前分支,将补丁文件重新应用到工作区。

+
$ svn switch <original_branch>
+$ patch -p1 < /path/to/saved/patch.file
+
+
+

但是切记SVN的补丁文件不支持二进制文件,这种操作方法可能会丢失对二进制文件的更改!

+

Git 的解决方案

+

Git提供了一个可以保存和恢复工作进度的命令git stash。这个命令非常方便地解决了这个难题。

+

在切换到新的工作分支之前,执行git stash保存工作进度,工作区会变得非常干净,然后就可以切换到新的分支中了。

+
$ git stash
+$ git checkout <new_branch>
+
+
+

新的工作分支修改完毕后,再切换回当前分支,调用git stash pop命令则可恢复之前保存的工作进度。

+
$ git checkout <orignal_branch>
+$ git stash pop
+
+
+

本书第2篇“第9章 恢复进度”会为您揭开git stash命令的奥秘。

+
+
+

1.2.10. 代理SVN提交实现移动式办公

+

使用像SVN一样的集中式版本控制系统,要求使用者和版本控制服务器之间要有网络连接,如果因为出差在外或在家办公访问不到版本控制服务器就无法提交。Git属于分布式版本控制系统,不存在这样的问题。

+

当版本控制服务器无法实现从SVN到Git的迁移时,仍然可以使用Git进行工作。在这种情况下,Git作为客户端来操作SVN服务器,实现在移动办公状态下的版本提交(当然是在本地Git库中提交)。当能够连通SVN服务器时,一次性将移动办公状态下的本地提交同步给SVN服务器。整个过程对于SVN来说是透明的,没有人知道你是使用Git在进行提交。

+

使用Git来操作SVN版本控制服务器的一般工作流程为:

+
    +
  1. 访问SVN服务器,将SVN版本库克隆为一个本地的Git库,一个货真价实的Git库,不过其中包含针对SVN的扩展。

    +
    $ git svn clone <svn_repos_url>
    +
    +
    +
  2. +
  3. 使用Git命令操作本地克隆的版本库,例如提交就使用git commit命令。

    +
  4. +
  5. 当能够通过网络连接到SVN服务器,并想将本地提交同步给SVN服务器时,先获取SVN服务器上最新的提交,再执行变基操作,最后再将本地提交推送给SVN服务器。

    +
    $ git svn fetch
    +$ git svn rebase
    +$ git svn dcommit
    +
    +
    +
  6. +
+

本书第4篇“第26章 Git和SVN协同模型”中会详细介绍这一话题。

+
+
+

1.2.11. 无处不在的分页器

+

虽然拥有图形化的客户端,但Git更有效率的操作方式还是命令行操作。使用命令行操作的好处一个是快,另外一个就是防止鼠标手的出现。Git的命令行进行了大量的人性化设计,包括命令补全、彩色字符输出等,不过最具特色的还是无处不在的分页器。

+

在操作其他版本控制系统的命令行时,如果命令的输出超过了一屏,为了能够逐屏显示,需要在命令的后面加上一个管道符号将输出交给一个分页器。例如:

+
$ svn log | less
+
+
+

而Git则不用如此麻烦,因为常用的Git的命令都带有一个分页器,当一屏显示不下时启动分页器。分页器默认使用less命令(less -FRSX)进行分页。

+

因为less分页器在翻屏时使用了vi风格的热键,如果您不熟悉vi的话,可能会遇到麻烦。下面是在分页器中常用的热键:

+
    +
  • 字母q:退出分页器。
  • +
  • 字母h:显示分页器帮助。
  • +
  • 按空格下翻一页,按字母 b 上翻一页。
  • +
  • 字母du:分别代表向下翻动半页和向上翻动半页。
  • +
  • 字母jk:分别代表向上翻一行和向下翻一行。
  • +
  • 如果行太长被截断,可以用左箭头和右箭头使得窗口内容左右滚动。
  • +
  • 输入/pattern:向下寻找和pattern匹配的内容。
  • +
  • 输入?pattern:向上寻找和pattern匹配的内容。
  • +
  • 字母nN:代表向前或向后继续寻找。
  • +
  • 字母g:跳到第一行;字母G:跳到最后一行;输入数字再加字母g:则跳转到对应的行。
  • +
  • 输入!<command>:可以执行Shell命令。
  • +
+

对于默认未提供分页器的Git命令,例如git status命令,可以通过下面任一方法启用分页器:

+
    +
  • git和子命令(如status)之间插入参数-p--paginate,为命令启用内建分页器。如:

    +
    $ git -p status
    +
    +
    +
  • +
  • 设置Git配置变量,设置完毕后运行相应的命令,将启用内建分页器。

    +
    $ git config --global pager.status true
    +
    +
    +
  • +
+

Git命令的分页器支持带颜色的字符输出,对于太长的行则采用截断方式处理(可用左右方向键滚动)。如果不习惯分页器的长行截断模式而希望采用自动折行模式,可以通过下面任一方法进行设置:

+
    +
  • 通过设置LESS环境变量来实现。

    +
    $ export LESS=FRX
    +
    +
    +
  • +
  • 或者通过定义Git配置变量来改变分页器的默认行为。

    +
    $ git config --global core.pager 'less -+$LESS -FRX'
    +
    +
    +
  • +
+
+
+

1.2.12. 快

+

您有项目托管在sourceforge.net的CVS或SVN服务器上么?或者因为公司的SVN服务器部署在另外一个城市需要经过互联网才能访问?

+

使用传统的集中式版本控制服务器,如果遇到上面的情况——网络带宽没有保证,那么使用起来一定是慢得让人痛苦不堪。Git作为分布式版本控制系统彻底解决了这个问题,几乎所有的操作都在本地进行,而且还不是一般的快。

+

还有很多其他的分布式版本控制系统,如Hg、Bazaar等。和这些分布式版本控制系统相比,Git在速度上也有优势,这源自于Git独特的版本库设计。第2篇的相关章节会向您展示Git独特的版本库设计。

+

其他很多版本控制系统,当输入检出、更新或克隆等命令后,只能双手合十然后望眼欲穿,因为整个操作过程就像是一个黑洞,不知道什么时候才能够完成。而Git在版本库克隆及与版本库同步的时候,能够实时地显示完成的进度,这不但是非常人性化的设计,更体现了Git的智能。Git的智能协议源自于会话过程中在客户端和服务器端各自启用了一个会话的角色,按需传输以及获取进度。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/030-installation.html b/01-meet-git/030-installation.html new file mode 100644 index 000000000..5c41691bf --- /dev/null +++ b/01-meet-git/030-installation.html @@ -0,0 +1,179 @@ + + + + + + + + + 1.3. 安装Git — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

1.2. 爱上Git的理由

+

下一个主题

+

1.3.1. Linux下安装和使用Git

+

本页

+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/01-meet-git/035-install-on-linux.html b/01-meet-git/035-install-on-linux.html new file mode 100644 index 000000000..e159fa2b1 --- /dev/null +++ b/01-meet-git/035-install-on-linux.html @@ -0,0 +1,334 @@ + + + + + + + + + 1.3.1. Linux下安装和使用Git — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

1.3. 安装Git

+

下一个主题

+

1.3.2. Mac OS X下安装和使用Git

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

1.3.1. Linux下安装和使用Git

+

Git诞生于Linux平台并做为版本控制系统帅先服务于Linux核心,因此在Linux安装Git是非常方便的。可以通过不同的方式在Linux上安装Git。一种方法是通过Linux发行版的包管理器安装已经编译好的二进制格式的Git软件包。另外一种方式就是从Git源码开始安装。

+
+

1.3.1.1. 包管理器方式安装

+

用Linux发行版的包管理器安装Git,最为简单,但安装的Git可能不是最新的版本。还有一点要注意,就是Git软件包在有的Linux发行版中可能不叫做git,而叫做git-core。这是因为在Git之前就有一款叫做GNU交互工具(GNU Interactive Tools)的GNU软件在有的Linux发行版(Deian lenny)中已经占用了git的名称。为了以示区分,作为版本控制系统的Git,其软件包在这些平台就被命名为git-core。不过因为作为版本控制系统的Git太有名了,最终导致在一些Linux发行版的最新版本中,将GNU Interactive Tools软件包由git改名为gnuit,将git-core改名为git。所以在下面介绍的在不同的Linux发行版中安装Git时,会看到有git和git-core两个不同的名称。

+
    +
  • Ubuntu 10.10(maverick)或更新版本,Debian(squeeze)或更新版本:

    +
    $ sudo aptitude install git
    +$ sudo aptitude install git-doc git-svn git-email gitk
    +
    +
    +

    其中git软件包包含了大部分Git命令,是必装的软件包。

    +

    软件包git-svn、git-email、gitk本来也是Git软件包的一部分,但是因为有着不一样的软件包依赖(如更多perl模组,tk等),所以单独作为软件包发布。

    +

    软件包git-doc则包含了Git的HTML格式文档,可以选择安装。如果安装了Git的HTML格式的文档,则可以通过执行git help -w <sub-command>命令,自动用 Web 浏览器打开相关子命令<sub-command>的HTML帮助。

    +
  • +
  • Ubuntu 10.04(lucid)或更老版本,Debian(lenny)或更老版本:

    +

    在老版本的Debian中,软件包git实际上是Gnu Interactive Tools,而非作为版本控制系统的Git。做为版本控制系统的Git在软件包git-core中。

    +
    $ sudo aptitude install git-core
    +$ sudo aptitude install git-doc git-svn git-email gitk
    +
    +
    +
  • +
  • RHEL、Fedora、CentOS:

    +
    $ yum install git
    +$ yum install git-svn git-email gitk
    +
    +
    +
  • +
+

其他发行版安装Git的过程和上面介绍的方法向类似。Git软件包在这些发行版里或称为git,或称为git-core。

+
+
+

1.3.1.2. 从源代码开始安装

+

访问Git的官方网站:http://git-scm.com/。下载Git源码包,例如:git-1.7.3.5.tar.bz2

+
    +
  • 展开源码包,并进入到相应的目录中。

    +
    $ tar -jxvf git-1.7.3.5.tar.bz2
    +$ cd git-1.7.3.5/
    +
    +
    +
  • +
  • 安装方法写在INSTALL文件当中,参照其中的指示完成安装。下面的命令将Git安装在/usr/local/bin中。

    +
    $ make prefix=/usr/local all
    +$ sudo make prefix=/usr/local install
    +
    +
    +
  • +
  • 安装Git文档(可选)。

    +

    编译的文档主要是HTML格式文档,方便通过git help -w <sub-command>命令查看。实际上即使不安装Git文档,也可以使用man手册查看Git帮助,使用命令git help <sub-command>或者git <sub-command> –help

    +

    编译文档依赖asciidoc,因此需要先安装asciidoc(如果尚未安装的话),然后编译文档。在编译文档时要花费很多时间,要有耐心。

    +
    $ make prefix=/usr/local doc info
    +$ sudo make prefix=/usr/local \
    +  install-doc install-html install-info
    +
    +
    +
  • +
+

安装完毕之后,就可以在/usr/local/bin下找到git命令。

+
+
+

1.3.1.3. 从Git版本库进行安装

+

如果在本地克隆一个Git版本库,就可以用版本库同步的方式获取最新版本的Git,这样在下载不同版本的Git源代码时实际上采用了增量方式,会非常的节省时间和空间。当然使用这种方法的前提是已经用其他方法安装好了Git。

+
    +
  • 克隆Git版本库到本地。

    +
    $ git clone git://git.kernel.org/pub/scm/git/git.git
    +$ cd git
    +
    +
    +
  • +
  • 如果本地已经克隆过一个Git版本库,直接在工作区中更新,以获得最新版本的Git。

    +
    $ git pull
    +
    +
    +
  • +
  • 执行清理工作,避免前一次编译的遗留文件造成影响。注意下面的操作将丢弃本地对Git代码的改动。

    +
    $ git clean -fdx
    +$ git reset --hard
    +
    +
    +
  • +
  • 查看Git的里程碑,选择最新的版本进行安装。例如v1.7.3.5

    +
    $ git tag
    +...
    +v1.7.3.5
    +
    +
    +
  • +
  • 检出该版本的代码。

    +
    $ git checkout v1.7.3.5
    +
    +
    +
  • +
  • 执行安装。例如安装到/usr/local目录下。

    +
    $ make prefix=/usr/local all doc info
    +$ sudo make prefix=/usr/local install \
    +  install-doc install-html install-info
    +
    +
    +
  • +
+

我在撰写本书的过程中,就通过Git版本库的方式安装,在/opt/git目录下安装了多个不同版本的Git,以测试Git的兼容性。使用类似下面的脚本,可以批量安装不同版本的Git。

+
#!/bin/sh
+
+for ver in      \
+    v1.5.0      \
+    v1.7.3.5    \
+    v1.7.4-rc1  \
+; do
+    echo "Begin install Git $ver.";
+    git reset --hard
+    git clean -fdx
+    git checkout $ver || exit 1
+    make prefix=/opt/git/$ver all && \
+    sudo make prefix=/opt/git/$ver install || exit 1
+    echo "Installed Git $ver."
+done
+
+
+
+
+

1.3.1.4. 命令补齐

+

Linux的shell环境(bash)通过bash-completion软件包提供命令补齐功能,能够实现在录入命令参数时按一下或两下TAB键,实现参数的自动补齐或提示。例如输入git com后按下TAB键,会自动补齐为git commit

+

通过包管理器方式安装Git,一般都已经为Git配置好了自动补齐,但是如果是以源码编译方式安装Git,就需要为命令补齐多做些工作。

+
    +
  • 将Git源码包中的命令补齐脚本复制到bash-completion对应的目录中。

    +
    $ cp contrib/completion/git-completion.bash \
    +     /etc/bash_completion.d/
    +
    +
    +
  • +
  • 重新加载自动补齐脚本,使之在当前shell中生效。

    +
    $ . /etc/bash_completion
    +
    +
    +
  • +
  • 为了能够在终端开启时自动加载bash_completion脚本,需要在本地配置文件~/.bash_profile或全局文件/etc/bashrc文件中添加下面的内容。

    +
    if [ -f /etc/bash_completion ]; then
    +  . /etc/bash_completion
    +fi
    +
    +
    +
  • +
+
+
+

1.3.1.5. 中文支持

+

Git的本地化做的并不完善,命令的输出以及命令的帮助还只能输出英文,也许在未来版本会使用gettext实现本地化,就像目前对git-gui命令所做的那样。

+

使用中文的用户最关心的问题还有:是否可以在提交说明中使用中文?是否可以使用中文文件名或者目录名?是否可以使用中文来命名分支或者里程碑?简单的说,可以在提交说明中使用中文,但是若使用非UTF-8字符集,则需要为Git做些设置。至于使用中文来命名文件、目录或引用,只有在使用UTF-8字符集的环境下才可以(Windows用户使用Cygwin),否则尽量避免使用。

+

UTF-8字符集

+

Linux平台的中文用户一般会使用utf-8字符集,Git在utf-8字符集下可以工作的非常好。

+
    +
  • 在提交时,可以在提交说明中输入中文。
  • +
  • 显示提交历史,能够正常显示提交说明中的中文字符。
  • +
  • 可以添加中文文件名的文件,并可以在同样utf-8字符集的Linux环境中克隆及检出。
  • +
  • 可以创建带有中文字符的里程碑名称。
  • +
+

但是默认设置下,带有中文文件名的文件,在工作区状态输出、查看历史更改概要、以及在补丁文件中,文件名不能正确显示为中文,而是用若干8进制编码来显示中文,如下:

+
$ git status -s
+?? "\350\257\264\346\230\216.txt"
+
+
+

通过设置变量core.quotepathfalse,就可以解决中文文件名在这些Git命令输出中的显示问题。

+
$ git config --global core.quotepath false
+$ git status -s
+?? 说明.txt
+
+
+

GBK字符集

+

但如果Linux平台采用非UTF-8字符集,例如用zh_CN.GBK字符集编码(某些Linux发行版),就要另外再做些工作了。

+
    +
  • 设置提交说明显示所使用的字符集为gbk,这样使用git log查看提交说明才能够正确显示其中的中文。

    +
    $ git config --global i18n.logOutputEncoding gbk
    +
    +
    +
  • +
  • 设置录入提交说明时所使用的字符集,以便在commit对象中对字符集正确标注。

    +

    Git在提交时并不会对提交说明进行从GBK字符集到UTF-8的转换,但是可以在提交说明中标注所使用的字符集,因此在非UTF-8字符集的平台录入中文,需要用下面指令设置录入提交说明的字符集,以便在commit对象中嵌入正确的编码说明。

    +
    $ git config --global i18n.commitEncoding gbk
    +
    +
    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/040-install-on-mac.html b/01-meet-git/040-install-on-mac.html new file mode 100644 index 000000000..be4575226 --- /dev/null +++ b/01-meet-git/040-install-on-mac.html @@ -0,0 +1,296 @@ + + + + + + + + + 1.3.2. Mac OS X下安装和使用Git — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

1.3.2. Mac OS X下安装和使用Git

+

Mac OS X 被称为最人性化的操作系统,工作在Mac上是件非常惬意的事情,工作中怎能没有Git?

+
+

1.3.2.1. 以二进制发布包的形式安装

+

Git在Mac OS X中也有好几种安装方法。最为简单的方式是安装.dmg格式的安装包。

+

访问git-osx-installer的官方网站:http://code.google.com/p/git-osx-installer/,下载Git安装包。安装包带有.dmg扩展名,是苹果磁盘镜像(Apple Disk Image)格式的软件发布包。从官方网站上下载文件名类似git-<version>-<arch>-leopard.dmg的安装包文件,例如:git-1.7.3.5-x86_64-leopard.dmg是64位的安装包,git-1.7.3.5-i386-leopard.dmg是32位的安装包。建议选择64位的软件包,因为Mac OS X 10.6 雪豹(或更新版本)完美的兼容32位和64位(开机按住键盘数字3和2进入32位系统,按住6和4进入64位系统),即使在核心处于32位架构下,也可以放心的运行64位软件包。

+

苹果的.dmg格式的软件包实际上是一个磁盘映像,安装起来非常方便,点击该文件就直接挂载到Finder中,并打开,如图3-1所示。

+
+../images/mac-install-1.png +

图3-1:在 Mac OS X 下打开 .dmg 格式磁盘镜像

+
+

其中带有一个正在解包图标的文件(扩展名为.pkg)是Git的安装程序,另外的两个脚本程序,一个用于应用的卸载(uninstall.sh),另外一个带有长长文件名的脚本可以在Git安装后执行的,为非终端应用注册Git的安装路径,因为Git部署在标准的系统路径之外/usr/local/git/bin

+

点击扩展名为.pkg的安装程序,开始Git的安装,根据提示按步骤完成安装,如图3-2所示。

+
+../images/mac-install-2.png +

图3-2:在 Mac OS X 下安装 Git。

+
+

安装完毕,git会被安装到/usr/local/git/bin/目录下。重启终端程序,才能让/etc/paths.d/git文件为PATH环境变量中添加的新路径注册生效。然后就可以在终端中直接运行git命令了。

+
+
+

1.3.2.2. 安装Xcode

+

App Store安装Xcode

+

安装完毕,可以运行下面命令查看Xcode安装路径。

+
$ xcode-select --print-path
+/Applications/Xcode.app/Contents/Developer
+
+
+

路径并不在PATH中,可以运行xcrun调用在Xcode路径中的Git工具。

+
$ xcrun git --version
+git version 1.7.9.6 (Apple Git-31.1)
+
+
+

为了方便在终端命令行下运行Git,可以用

+
$ cat /etc/paths.d/xcode
+/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
+/Applications/Xcode.app/Contents/Developer/usr/bin
+
+
+

或者打开 Xcode,Preference -> Downloads -> Components -> Command Line Tools (install)

+

Mac OS X基于Unix内核,因此也可以很方便的通过源码编译的方式进行安装,但是缺省安装的Mac OS X缺乏相应的开发工具,需要安装苹果提供的Xcode软件包。在Mac随机附送的光盘(Mac OS X Install DVD)的可选安装文件夹下就有Xcode的安装包(如图3-3所示),通过随机光盘安装Xcode可以省去了网络下载的麻烦,要知道Xcode有3GB以上。

+
+../images/xcode-install.png +

图3-3:在Mac OS X下安装Xcode。

+
+
+
+

1.3.2.3. 使用Homebrew安装Git

+

Mac OS X有好几个包管理器实现对一些开源软件在Mac OS X上的安装和升级进行管理。有传统的MacPort、Fink,还有更为简单易用的Homebrew。下面就介绍一下如何通过Homebrew包管理器,以源码包编译的方式安装Git。

+

Homebrew用Ruby语言开发,支持千余种开源软件在Mac OS X中的部署和管理。Homebrew项目托管在Github上,网址为:https://github.com/mxcl/homebrew

+

首先是安装Homebrew,执行下面的命令:

+
$ ruby -e \
+  "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
+
+
+

安装完成后,Homebrew的主程序安装在/usr/local/bin/brew,在目录/usr/local/Library/Formula/下保存了所有Homebrew支持的软件的安装指引文件。

+

运行brew安装Git,使用下面的命令。

+
$ brew install git
+
+
+

使用Homebrew方式安装,Git被安装在/usr/local/Cellar/git/1.7.3.5,可执行程序自动在/usr/local/bin目录下创建符号连接,可以直接在终端程序中访问。

+

通过brew list命令可以查看安装的开源软件包。

+
$ brew list
+git
+
+
+

也可以查看某个软件包安装的详细路径和安装内容。

+
$ brew list git
+/usr/local/Cellar/git/1.7.3.5/bin/gitk
+...
+
+
+
+
+

1.3.2.4. 从Git源码进行安装

+

如果需要安装历史版本的Git或是安装尚在开发中的未发布版本的Git,就需要从源码安装或通过克隆Git源码库进行安装。既然Homebrew就是通过源码编译方式安装Git的,那么也应该可以直接从源码进行安装,但是使用Homebrew安装Git和直接通过Git源码安装并不完全等同,例如Homebrew安装Git的过程中,是通过下载已经编译好的Git文档包进行安装,而非从头对文档进行编译。

+

直接通过源码安装Git包括文档,遇到主要的问题就是文档的编译,因为Git文档编译所需要的相关工具没有在Xcode中提供。但是这些工具可以通过Homebrew进行安装。下面工具软件的安装过程可能会遇到一些小麻烦,不过大多可以通过参考命令输出予以解决。

+
$ brew install asciidoc
+$ brew install docbook2x
+$ brew install xmlto
+
+
+

当编译源码及文档的工具部署完全后,就可以通过源码编译Git。

+
$ make prefix=/usr/local all doc info
+$ sudo make prefix=/usr/local install \
+  install-doc install-html install-info
+
+
+
+
+

1.3.2.5. 命令自动补齐

+

Git通过bash-completion软件包实现命令补齐,在Mac OS X下可以通过Homebrew进行安装。

+
$ brew search completion
+bash-completion
+$ brew install bash-completion
+...
+Add the following lines to your ~/.bash_profile file:
+if [ -f $(brew --prefix)/etc/bash_completion ]; then
+  . $(brew --prefix)/etc/bash_completion
+fi
+...
+
+
+

根据bash-completion安装过程中的提示,修改文件~/.bash_profile文件,并在其中加入如下内容,以便在终端加载时自动启用命令补齐。

+
if [ -f $(brew --prefix)/etc/bash_completion ]; then
+  . $(brew --prefix)/etc/bash_completion
+fi
+
+
+

将Git的命令补齐脚本拷贝到bash-completion对应的目录中。

+
$ cp contrib/completion/git-completion.bash \
+     $(brew --prefix)/etc/bash_completion.d/
+
+
+

不用重启终端程序,只需要运行下面的命令,即可立即在当前的shell中加载命令补齐。

+
. $(brew --prefix)/etc/bash_completion
+
+
+
+
+

1.3.2.6. 其他辅助工具的安装

+

本书中还会用到一些常用的GNU或其他开源软件,在Mac OS X下也可以通过Homebrew进行安装。这些软件包有:

+
    +
  • gnupg:数字签名和加密工具。在为Git版本库建立签名里程碑时会用到。
  • +
  • md5sha1sum:生成MD5或SHA1摘要。在研究Git版本库中的对象过程中会用到。
  • +
  • cvs2svn:CVS版本库迁移到SVN或Git的工具。在版本库迁移时会用到。
  • +
  • stgit:Git的补丁和提交管理工具。
  • +
  • quilt:一种补丁管理工具。在介绍Topgit时用到。
  • +
+
+
在Mac OS X下能够使用到的Git图形工具除了Git软件包自带的gitk
+
git gui之外,还可以安装GitX。下载地址:
+
+ +

Git的图形工具一般需要在本地克隆版本库的工作区中执行,为了能和Mac OS X有更好的整合,可以安装插件实现和Finder的整合。在git-osx-installer的官方网站:http://code.google.com/p/git-osx-installer/,有两个以OpenInGitGui-OpenInGitX-为前缀的软件包,可以分别实现和git gui以及gitx的整合:在Finder中进入工作区目录,点击对应插件的图标,启动git guigitx

+
+
+

1.3.2.7. 中文支持

+

由于Mac OS X采用Unix内核,在中文支持上和Linux相近,请参照前面介绍Git在Linux下安装中3.1.5节相关内容。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/050-install-on-windows-cygwin.html b/01-meet-git/050-install-on-windows-cygwin.html new file mode 100644 index 000000000..cb4d9477f --- /dev/null +++ b/01-meet-git/050-install-on-windows-cygwin.html @@ -0,0 +1,451 @@ + + + + + + + + + 1.3.3. Windows下安装和使用Git(Cygwin篇) — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

1.3.3. Windows下安装和使用Git(Cygwin篇)

+

在Windows下安装和使用Git有两个不同的方案,通过安装msysGit或者通过安装Cygwin来使用Git。在这两种不同的方案下,Git的使用和在Linux下使用完全一致。再有一个就是基于msysGit的图形界面工具——TortoiseGit,也就是在CVS和SVN时代就已经广为人知的Tortoise系列软件的Git版本。TortoiseGit提供和资源管理器的整合,提供Git操作的图形化界面。

+

先介绍通过Cygwin来使用Git的原因,不是因为这是最便捷的方法,如果需要在Windows快速安装和使用Git,下节介绍的msysGit才是。之所以将Cygwin放在前面介绍是因为本书在介绍Git原理部分以及介绍其他Git相关软件时用到了大量的开源工具,这些开源工具在Cygwin下很容易获得,而msysGit的MSYS(Minimal SYStem,最简系统)则不能满足我们的需要。因此我建议使用Windows平台的读者在跟随本书学习Git的过程中,首选Cygwin,当完成Git的学习后,无论是msysGit或者TortoiseGit也都会应对自足。

+

Cygwin是一款伟大的软件,通过一个小小的DLL(cygwin1.dll)建立Linux和Windows系统调用及API之间的转换,实现了Linux下绝大多数软件到Windows的迁移。Cygwin通过cygwin1.dll所建立的中间层和诸如VMWare、VirtualBox等虚拟机软件完全不同,不会对系统资源进行独占。像VMWare等虚拟机,只要启动一个虚拟机(操作系统),即使不在其中执行任何命令,同样会占用大量的系统资源:内存、CPU时间等等。

+

Cygwin还提供了一个强大易用的包管理工具(setup.exe),实现了几千个开源软件包在Cygwin下便捷的安装和升级,Git就是Cygwin下支持的几千个开源软件中的一员。

+

我对Cygwin有着深厚的感情,Cygwin让我在Windows平台能用Linux的方式更有效率的做事,使用Linux风格的控制台替换Windows黑乎乎的、冰冷的、由cmd.exe提供的命令行。Cygwin帮助我逐渐摆脱对Windows的依赖,当我完全转换到Linux平台时,没有感到一丝的障碍。

+
+

1.3.3.1. 安装Cygwin

+

安装Cygwin非常简单,访问其官方网站http://www.cygwin.com/,下载安装程序——一个只有几百KB的setup.exe,即可开始安装。

+

安装过程会让用户选择安装模式,可以选择网络安装、仅下载,或者通过本地软件包缓存(在安装过程自动在本地目录下建立软件包缓存)进行安装。如果是第一次安装Cygwin,因为本地尚没有软件包缓存,当然只能选择从网络安装,如图3-4所示。

+
+../images/cygwin-2.png +

图3-4:选择安装模式

+
+

接下来,Cygwin询问安装目录,默认为C:\cygwin,如图3-5所示。这个目录将作为Cygwin shell环境的根目录(根卷),Windows的各个盘符将挂载在根卷一个特殊目录之下。

+
+../images/cygwin-3.png +

图3-5:选择安装目录

+
+

询问本地软件包缓存目录,默认是setup.exe所处的目录,如图3-6所示。

+
+../images/cygwin-4.png +

图3-6:选择本地软件包缓存目录

+
+

询问网络连接方式,是否使用代理等,如图3-7所示。默认会选择第一项:“直接网络连接”。如果一个团队有很多人要使用Cygwin,架设一个能够提供软件包缓存的HTTP代理服务器会节省大量的网络带宽和节省大把的时间。用Debian的apt-cacher-ng就可以非常简单的搭建一个软件包代理服务器。图3-7显示的就是我在公司内网安装Cygwin时使用了我们公司内网的服务器bj.ossxp.com做为HTTP代理的截图,端口设置为9999,因为这是apt-cacher-ng的默认端口。

+
+../images/cygwin-5-mirror.png +

图3-7:是否使用代理下载Cygwin软件包

+
+

选择一个Cygwin源,如图3-8所示。如果在上一个步骤选择了使用HTTP代理服务器,就必须选择HTTP协议的Cygwin源。

+
+../images/cygwin-6.png +

图3-8:选择Cygwin源

+
+

接下来就会从所选的Cygwin源下载软件包索引文件,然后显示软件包管理器界面,如图3-9所示。

+
+../images/cygwin-8.png +

图3-9:Cygwin软件包管理器

+
+

Cygwin的软件包管理器非常强大和易用(如果习惯了其界面)。软件包归类于各个分组中,点击分组前的加号就可以展开分组。在展开的Admin分组中,如图3-10所示(这个截图不是首次安装Cygwin的截图),有的软件包如libattr1已经安装过了,因为没有新版本而标记为“Keep”(保持)。至于没有安装过并且不准备安装的软件包则标记为“Skip”(跳过)。

+
+../images/cygwin-8-expand-admin-group.png +

图3-10:Cygwin 软件包管理器展开分组

+
+

鼠标点击分组名称后面动作名称(文字“Default”),会进行软件包安装动作的切换。例如图3-11,将Admin分组的安装动作由“Default”(默认)切换为“Install”(安装),会看到Admin分组下的所有软件包都标记为安装(显示具体要安装的软件包版本号)。也可以通过鼠标点击,单独的为软件包进行安装动作的设定,可以强制重新安装、安装旧版本、或者不安装。

+
+../images/cygwin-8-expand-admin-group-install.png +

图3-11:Cygwin软件包管理器展开分组

+
+

当通过软件包管理器对要安装的软件包定制完毕后,点击下一步,开始下载软件包、安装软件包和软件包后处理,直至完成安装。根据选择的软件包的多少,网络情况以及是否架设有代理服务器,首次安装Cygwin的时间可能从几分钟到几个小时不等。

+
+
+

1.3.3.2. 安装Git

+

默认安装的Cygwin没有安装Git软件包。如果在首次安装过程中忘记通过包管理器选择安装Git或其他相关软件包,可以在安装后再次运行Cygwin的安装程序setup.exe。当再次进入Cygwin包管理器界面时,在搜索框中输入git。如图3-12所示。

+
+../images/cygwin-8-search-git.png +

图3-12:Cygwin软件包管理器中搜索git

+
+

从图3-12中看出在Cygwin中包含了很多和Git相关的软件包,把这些Git相关的软件包都安装吧,如图3-13所示。

+
+../images/cygwin-8-search-git-install.png +

图3-13:Cygwin软件包管理器中安装git

+
+

需要安装的其他软件包:

+
    +
  • git-completion:提供Git命令自动补齐功能。安装该软件包会自动安装依赖的bash-completion软件包。
  • +
  • openssh:SSH客户端,提供Git访问ssh协议的版本库。
  • +
  • vim:是Git缺省的编辑器。
  • +
+
+
+

1.3.3.3. Cygwin的配置和使用

+

运行Cygwin,就会进入shell环境中,见到熟悉的Linux提示符。如图3-14所示。

+
+../images/cygwin-startup.png +

图3-14:运行 Cygwin

+
+

显示Cygwin中安装的软件包的版本,可以通过执行cygcheck命令来查看,例如查看cygwin软件包本身的版本:

+
$ cygcheck -c cygwin
+Cygwin Package Information
+Package              Version        Status
+cygwin               1.7.7-1        OK
+
+
+
+

1.3.3.3.1. 如何访问Windows的磁符

+

刚刚接触Cygwin的用户遇到的头一个问题就是Cygwin如何访问Windows的各个磁盘目录,以及在Windows平台如何访问Cygwin中的目录?

+

执行mount命令,可以看到Windows下的盘符映射到/cyg +drive特殊目录下。

+
$ mount
+C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
+C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
+C:/cygwin on / type ntfs (binary,auto)
+C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
+D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
+
+
+

也就是说在Windows下的C:\Windows目录,在Cygwin以路径/cygdrive/c/Windows进行访问。实际上Cygwin提供一个命令cygpath实现Windows平台和Cygwin之间目录名称的变换。如下:

+
$ cygpath -u C:\\Windows
+/cygdrive/c/Windows
+
+$ cygpath -w ~/
+C:\cygwin\home\jiangxin\
+
+
+

从上面的示例也可以看出,Cygwin下的用户主目录(即/home/jiangxin/)相当于Windows下的C:\cygwin\home\jiangxin\目录。

+
+
+

1.3.3.3.2. 用户主目录不一致的问题

+

如果其他某些软件(如msysGit)为Windows设置了HOME环境变量,会影响到Cygwin中用户主目录的设置,甚至造成在Cygwin中不同命令有不同的用户主目录的设置。例如:Cygwin下Git的用户主目录设置为“/cygdrive/c/Documents and Settings/jiangxin”,而SSH客户端软件的主目录为“/home/jiangxin”,这会造成用户的困惑。

+

出现这种情况,是因为Cygwin确定用户主目录有几个原则,依照顺序确定主目录。首先查看系统的HOME环境变量,其次查看/etc/passwd中为用户设置的主目录。有的软件遵照这个原则,而有些Cygwin应用如ssh,却没有使用HOME环境变量而直接使用/etc/passwd中的的设置。要想避免在同一个Cygwin环境下有两个不同的用户主目录设置,可以采用下面两种方法。

+
    +
  • 方法1:修改Cygwin启动的批处理文件(如:C:\cygwin\Cygwin.bat),在批处理的开头添加如下的一行,就可以清除其他软件为Windows引入的HOME环境变量。

    +
    set HOME=
    +
    +
    +
  • +
  • 方法2:如果希望使用HOME环境变量指向的主目录,则通过手工编辑/etc/passwd文件,将其中用户主目录修改成HOME环境变量所指向的目录。

    +
  • +
+
+
+

1.3.3.3.3. 命令行补齐忽略文件大小写

+

Windows的文件系统忽略文件名大小写,在Cygwin下最好对命令行补齐进行相关设置以忽略大小写,这样使用起来更方便。

+

编辑文件~/.inputrc,在其中添加设置set completion-ignore-case on,或者取消已有相关设置前面的井号注释符。修改完毕后,再重新进入Cygwin,就可以实现文件名补齐对大小写的忽略。

+
+
+

1.3.3.3.4. 忽略文件权限的可执行位

+

Linux、Unix、Mac OS X下的可执行文件在文件权限有特殊的设置(设置文件的可执行位),Git可以跟踪文件的可执行位,即在添加文件时会把文件的权限也记录其中。在Windows上,缺乏对文件可执行位的支持和需要,虽然Cygwin可以模拟Linux下的文件授权并对文件的可执行位进行支持,但一来为支持文件权限而调用Cygwin的stat()和lstat()函数会比Windows自身的Win32API要慢两倍,二来对于非跨平台项目也没有必要对文件权限位进行跟踪,还有其他Windows下的工具及操作可能会破坏文件的可执行位,导致Cygwin下的Git认为文件的权限更改需要重新提交。通过下面的配置,可以禁止Git对文件权限的跟踪:

+
$ git config --system core.fileMode false
+
+
+

在此模式下,当已添加到版本库中的文件其权限的可执行位改变时,该文件不会显示有改动。新增到版本库的文件,都以100644的权限添加(忽略可执行位),无论文件本身是否设置为可执行。

+

关于Cygwin的更多定制和帮助,参见网址:http://www.cygwin.com/cygwin-ug-net/

+
+
+
+

1.3.3.4. Cygwin下Git的中文支持

+

Cygwin当前版本1.7.x,对中文的支持非常好。无需任何配置就可以在Cygwin的窗口内输入中文,以及执行ls命令显示中文文件名。这与我记忆中的6、7年前的Cygwin 1.5.x完全不一样了。老版本的Cygwin还需要做一些工作才能在控制台输入中文和显示中文,但是最新的Cygwin已经完全不需要了。反倒是后面要介绍的msysGit的shell环境仍然需要做出类似(老版本Cygwin)的改动才能够正常显示和输入中文。

+

Cygwin默认使用UTF-8字符集,并巧妙的和Windows系统的字符集之间进行转换。在Cygwin下执行locale命令查看Cygwin下正在使用的字符集。

+
$ locale
+LANG=C.UTF-8
+LC_CTYPE="C.UTF-8"
+LC_NUMERIC="C.UTF-8"
+LC_TIME="C.UTF-8"
+LC_COLLATE="C.UTF-8"
+LC_MONETARY="C.UTF-8"
+LC_MESSAGES="C.UTF-8"
+LC_ALL=
+
+
+

正因如此,Cygwin下的Git对中文支持非常出色,虽然中文Windows本身使用GBK字符集,但是在Cygwin下Git的行为就如同工作在UTF-8字符集的Linux下,对中文的支持非常的好。

+
    +
  • 在提交时,可以在提交说明中输入中文。
  • +
  • 显示提交历史,能够正常显示提交说明中的中文字符。
  • +
  • 可以添加中文文件名的文件,并可以在使用utf-8字符集的Linux环境中克隆及检出。
  • +
  • 可以创建带有中文字符的里程碑名称。
  • +
+

但是和Linux平台一样,在默认设置下,带有中文文件名的文件,在工作区状态输出、查看历史更改概要、以及在补丁文件中,文件名不能正确显示为中文,而是用若干8进制编码来显示中文,如下:

+
$ git status -s
+?? "\350\257\264\346\230\216.txt"
+
+
+

通过设置变量core.quotepathfalse,就可以解决中文文件名在这些Git命令输出中的显示问题。

+
$ git config --global core.quotepath false
+$ git status -s
+?? 说明.txt
+
+
+
+
+

1.3.3.5. Cygwin下Git访问SSH服务

+

在本书第5篇第29章介绍的公钥认证方式访问Git服务,是Git写操作最重要的服务。公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更为安全。使用公钥认证就涉及到创建公钥/私钥对,以及在SSH连接时选择哪一个私钥的问题(如果建立有多个私钥)。

+

Cygwin下的openssh软件包提供的ssh命令和Linux下的没有什么区别,也提供ssh-keygen命令管理SSH公钥/私钥对。但是Cygwin当前的openssh(版本号:5.7p1-1)有一个Bug,偶尔在用Git克隆使用SSH协议的版本库时会中断,无法完成版本库克隆。如下:

+
$ git clone git@bj.ossxp.com:ossxp/gitbook.git
+Cloning into gitbook...
+remote: Counting objects: 3486, done.
+remote: Compressing objects: 100% (1759/1759), done.
+fatal: The remote end hung up unexpectedly MiB | 3.03 MiB/s
+fatal: early EOFs:  75% (2615/3486), 13.97 MiB | 3.03 MiB/s
+fatal: index-pack failed
+
+
+

如果读者也遇到同样的问题,建议使用PuTTY提供的plink.exe做为SSH客户端,替代存在问题的Cygwin自带的ssh命令。

+
+

1.3.3.5.1. 安装PuTTY

+

PuTTY是Windows下一个开源软件,提供SSH客户端服务,还包括公钥管理相关工具。访问PuTTY的主页(http://www.chiark.greenend.org.uk/~sgtatham/putty/),下载并安装PuTTY。安装完毕会发现PuTTY软件包包含了好几个可执行程序,对于和Git整合,下面几个命令会用到。

+
    +
  • Plink:即plink.exe,是命令行的SSH客户端,用于替代ssh命令。默认安装于C:\Program Files\PuTTY\plink.exe
  • +
  • PuTTYgen:用于管理PuTTY格式的私钥,也可以用于将openssh格式的私钥转换为PuTTY格式的私钥。
  • +
  • Pageant:是SSH认证代理,运行于后台,负责为SSH连接提供私钥访问服务。
  • +
+
+
+

1.3.3.5.2. PuTTY格式的私钥

+

PuTTY使用自定义格式的私钥文件(扩展名为.ppk),而不能直接使用openssh格式的私钥。即用openssh的ssh-keygen命令创建的私钥不能直接被PuTTY拿过来使用,必需经过转换。程序PuTTYgen可以实现私钥格式的转换。

+

运行PuTTYgen程序,如图3-15所示。

+
+../images/putty-keygen-1.png +

图3-15:运行PuTTYgen程序

+
+

PuTTYgen既可以重新创建私钥文件,也可以通过点击加载按钮(load)读取openssh格式的私钥文件,从而可以将其转换为PuTTY格式私钥。点击加载按钮,会弹出文件选择对话框,选择openssh格式的私钥文件(如文件id_rsa),如果转换成功,会显示如图3-16的界面。

+
+../images/putty-keygen-2.png +

图3-16:PuTTYgen完成私钥加载

+
+

然后点击“Save private key”(保存私钥),就可以将私钥保存为PuTTY的.ppk格式的私钥。例如将私钥保存到文件~/.ssh/jiangxin-cygwin.ppk中。

+
+
+

1.3.3.5.3. Git使用Pageant进行公钥认证

+

Git在使用命令行工具Plink(plink.exe)做为SSH客户端访问SSH协议的版本库服务器时,如何选择公钥呢?使用Pageant是一个非常好的选择。Pageant是PuTTY软件包中为各个PuTTY应用提供私钥请求的代理软件,当Plink连接SSH服务器需要请求公钥认证时,Pageant就会提供给Plink相应的私钥。

+

运行Pageant,启动后显示为托盘区中的一个图标,在后台运行。当使用鼠标右键单击Pageant的图标,就会显示弹出菜单如图3-17所示。

+
+../images/pageant.png +

图3-17:Pageant的弹出菜单

+
+

点击弹出菜单中的“Add Key”(添加私钥)按钮,弹出文件选择框,选择扩展名为.ppk的PuTTY格式的公钥,即完成了Pageant的私钥准备工作。

+

接下来,还需要对Git进行设置,设置Git使用plink.exe做为SSH客户端,而不是缺省的ssh命令。通过设置GIT_SSH环境变量即可实现。

+
$ export GIT_SSH=/cygdrive/c/Program\ Files/PuTTY/plink.exe
+
+
+

上面在设置GIT_SSH环境变量的过程中,使用了Cygwin格式的路径,而非Windows格式,这是因为Git是在Cygwin的环境中调用plink.exe命令的,当然要使用Cygwin能够理解的路径。

+

然后就可以用Git访问SSH协议的Git服务器了。运行在后台的Pageant会在需要的时候为plink.exe提供私钥访问服务。但在首次连接一个使用SSH协议的Git服务器的时候,很可能会因为远程SSH服务器的公钥没有经过确认导致git命令执行失败。如下所示。

+
$ git clone git@bj.ossxp.com:ossxp/gitbook.git
+Cloning into gitbook...
+The server's host key is not cached in the registry. You
+have no guarantee that the server is the computer you
+think it is.
+The server's rsa2 key fingerprint is:
+ssh-rsa 2048 49:eb:04:30:70:ab:b3:28:42:03:19:fe:82:f8:1a:00
+Connection abandoned.
+fatal: The remote end hung up unexpectedly
+
+
+

这是因为首次连接一个SSH服务器时,要对其公钥进行确认(以防止被钓鱼),而运行于Git下的plink.exe没有机会从用户那里获取输入以建立对该SSH服务器公钥的信任,因此Git访问失败。解决办法非常简单,就是直接运行plink.exe连接一次远程SSH服务器,对公钥确认进行应答。如下:

+
$ /cygdrive/c/Program\ Files/PuTTY/plink.exe git@bj.ossxp.com
+The server's host key is not cached in the registry. You
+have no guarantee that the server is the computer you
+think it is.
+The server's rsa2 key fingerprint is:
+ssh-rsa 2048 49:eb:04:30:70:ab:b3:28:42:03:19:fe:82:f8:1a:00
+If you trust this host, enter "y" to add the key to
+PuTTY's cache and carry on connecting.
+If you want to carry on connecting just once, without
+adding the key to the cache, enter "n".
+If you do not trust this host, press Return to abandon the
+connection.
+Store key in cache? (y/n)
+
+
+

输入“y”,将公钥保存在信任链中,以后再次连接就不会弹出该确认应答了。当然执行Git命令,也就可以成功执行了。

+
+
+

1.3.3.5.4. 使用自定义SSH脚本取代Pageant

+

使用Pageant还要在每次启动Pageant时手动选择私钥文件,比较的麻烦。实际上可以创建一个脚本对plink.exe进行封装,在封装的脚本中指定私钥文件,这样就可以不必使用Pageant而实现公钥认证了。

+

例如:创建脚本~/bin/ssh-jiangxin,文件内容如下了:

+
#!/bin/sh
+
+/cygdrive/c/Program\ Files/PuTTY/plink.exe -i \
+    c:/cygwin/home/jiangxin/.ssh/jiangxin-cygwin.ppk $*
+
+
+

设置该脚本为可执行。

+
$ chmod a+x ~/bin/ssh-jiangxin
+
+
+

通过该脚本和远程SSH服务器连接,使用下面的命令:

+
$ ~/bin/ssh-jiangxin git@bj.ossxp.com
+Using username "git".
+Server refused to allocate pty
+hello jiangxin, the gitolite version here is v1.5.5-9-g4c11bd8
+the gitolite config gives you the following access:
+     R          gistore-bj.ossxp.com/.*$
+     R          gistore-ossxp.com/.*$
+  C  R  W       ossxp/.*$
+     R  W       test/repo1
+     R  W       test/repo2
+     R  W       test/repo3
+    @R @W       test/repo4
+ @C @R  W       users/jiangxin/.+$
+
+
+

设置GIT_SSH变量,使之指向新建立的脚本,然后就可以脱离Pageant来连接SSH协议的Git库了。

+
$ export GIT_SSH=~/bin/ssh-jiangxin
+
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/060-install-on-windows-msysgit.html b/01-meet-git/060-install-on-windows-msysgit.html new file mode 100644 index 000000000..a655ca877 --- /dev/null +++ b/01-meet-git/060-install-on-windows-msysgit.html @@ -0,0 +1,347 @@ + + + + + + + + + 1.3.4. Windows下安装和使用Git(msysGit篇) — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

1.3.4. Windows下安装和使用Git(msysGit篇)

+

运行在Cygwin下的Git不是直接使用Windows的系统调用,而是通过二传手cygwin1.dll来进行,虽然Cygwin的git命令能够在Windows下的cmd.exe命令窗口中运行的非常好,但Cygwin下的Git并不能看作是Windows下的原生程序。相比Cygwin下的Git,msysGit是原生的Windows程序,msysGit下运行的Git直接通过Windows的系统调用运行。

+

msysGit的名字前面的四个字母来源于MSYS项目。MSYS项目源自于MinGW(Minimalist GNU for Windows,最简GNU工具集),通过增加了一个bash提供的shell环境以及其他相关工具软件,组成了一个最简系统(Minimal SYStem),简称MSYS。利用MinGW提供的工具,以及Git针对MinGW的一个分支版本,在Windows平台为Git编译出一个原生应用,结合MSYS就组成了msysGit。

+
+

1.3.4.1. 安装msysGit

+

安装msysGit非常简单,访问msysGit的项目主页(http://code.google.com/p/msysgit/),下载msysGit。最简单的方式是下载名为Git-<VERSION>-preview<DATE>.exe的软件包,如:Git-1.7.3.1-preview20101002.exe。如果有时间和耐心,喜欢观察Git是如何在Windows上是编译为原生应用的,也可以下载带msysGit-fullinstall-前缀的软件包。

+

点击下载的安装程序(如Git-1.7.3.1-preview20101002.exe),开始安装,如图3-18。

+
+../images/msysgit-1.png +

图3-18:启动msysGit安装

+
+

默认安装到C:\Program Files\Git目录中。

+
+../images/msysgit-3.png +

图3-19:选择msysGit的安装目录

+
+

在安装过程中会询问是否修改环境变量,如图3-20。默认选择“Use Git Bash Only”,即只在msysGit提供的shell环境(类似Cygwin)中使用Git,不修改环境变量。注意如果选择最后一项,会将msysGit所有的可执行程序全部加入Windows的PATH路径中,有的命令会覆盖Windows相同文件名的程序(如find.exesort.exe)。而且如果选择最后一项,还会为Windows添加HOME环境变量,如果安装有Cygwin,Cygwin会受到msysGit引入的HOME环境变量的影响(参见前面3.3.3节的相关讨论)。

+
+../images/msysgit-6.png +

图3-20:是否修改系统的环境变量

+
+

还会询问换行符的转换方式,使用默认设置就好。参见图3-21。关于换行符转换,参见本书第8篇相关章节。

+
+../images/msysgit-8.png +

图3-21:换行符转换方式

+
+

根据提示,完成msysGit的安装。

+
+
+

1.3.4.2. msysGit的配置和使用

+

完成msysGit的安装后,点击Git Bash图标,启动msysGit,如图3-22。会发现Git Bash 的界面和Cygwin的非常相像。

+
+../images/msysgit-startup.png +

图3-22:启动Git Bash

+
+
+

1.3.4.2.1. 如何访问Windows的磁符

+

在msysGit下访问Windows的各个盘符,要比Cygwin简单,直接通过/c即可访问Windows的C:盘,用/d访问Windows的D:盘。

+
$ ls -ld /c/Windows
+drwxr-xr-x  233 jiangxin Administ        0 Jan 31 00:44 /c/Windows
+
+
+

至于msysGit的根目录,实际上就是msysGit安装的目录,如:“C:\Program Files\Git”。

+
+
+

1.3.4.2.2. 命令行补齐和忽略文件大小写

+

msysGit缺省已经安装了Git的命令补齐功能,并且在对文件名命令补齐时忽略大小写。这是因为msysGit已经在配置文件/etc/inputrc中包含了下列的设置:

+
set completion-ignore-case on
+
+
+
+
+
+

1.3.4.3. msysGit的shell环境的中文支持

+

在介绍Cygwin的章节中曾经提到过,msysGit的shell环境的中文支持相当于老版本的Cygwin,需要配置才能够实现录入中文和显示中文。

+
+

1.3.4.3.1. 中文录入问题

+

缺省安装的msysGit的shell环境无法输入中文。为了能在shell界面中输入中文,需要修改配置文件/etc/inputrc,增加或修改相关配置如下:

+
# disable/enable 8bit input
+set meta-flag on
+set input-meta on
+set output-meta on
+set convert-meta off
+
+
+

关闭Git Bash再重启,就可以在msysGit的shell环境中输入中文了。

+
$ echo 您好
+您好
+
+
+
+
+

1.3.4.3.2. 分页器中文输出问题

+

当对/etc/inputrc进行正确的配置之后,能够在shell下输入中文,但是执行下面的命令会显示乱码。这显然是less分页器命令导致的问题。

+
$ echo 您好 | less
+<C4><FA><BA><C3>
+
+
+

通过管道符调用分页器命令less后,原本的中文输出变成了乱码显示。这将会导致Git很多命令的输出都会出现中文乱码问题,因为Git大量的使用less命令做为分页器。之所以less命令出现乱码,是因为该命令没有把中文当作正常的字符,可以通过设置LESSCHARSET环境变量,将utf-8编码字符视为正规字符显示,则中文就能正常显示了。下面的操作,可以在less分页器中正常显示中文。

+
$ export LESSCHARSET=utf-8
+$ echo 您好 | less
+您好
+
+
+

编辑配置文件/etc/profile,将对环境变量LESSCHARSET的设置加入其中,以便msysGit的shell环境一启动即加载。

+
declare -x LESSCHARSET=utf-8
+
+
+
+
+

1.3.4.3.3. ls命令对中文文件名的显示

+

最常用的显示目录和文件名列表的命令ls对中文文件名的显示有问题。下面的命令创建了一个中文文件名的文件,显示文件内容中的中文没有问题,但是显示文件名本身会显示为一串问号。

+
$ echo 您好 > 您好.txt
+
+$ cat \*.txt
+您好
+
+$ ls \*.txt
+????.txt
+
+
+

实际上只要在ls命令后添加参数–show-control-chars即可正确显示中文。

+
$ ls --show-control-chars *.txt
+您好.txt
+
+
+

为方便起见,可以为ls命令设置一个别名,这样就不必在输入ls命令时输入长长的参数了。

+
$ alias ls="ls --show-control-chars"
+
+$ ls \*.txt
+您好.txt
+
+
+

将上面的alias命令添加到配置文件/etc/profile中,实现在每次运行Git Bash时自动加载。

+
+
+
+

1.3.4.4. msysGit中Git的中文支持

+

非常遗憾的是msysGit中的Git对中文支持没有Cygwin中的Git做的那么好,msysGit中的Git对中文支持的程度,就相当于前面讨论过的Linux使用了GBK字符集时Git的情况。

+
    +
  • 未经配置的msysGit提交时,如果在提交说明中输入中文,从Linux平台或其他UTF-8字符集平台上查看提交说明显示乱码。
  • +
  • 同样从Linux平台或者其他使用UTF-8字符集平台进行的提交,若提交说明包含中文,在未经配置的msysGit中也显示乱码。
  • +
  • 如果使用msysGit向版本库中添加带有中文文件名的文件,在Linux(或其他utf-8)平台检出文件名显示为乱码。反之亦然。
  • +
  • 不能创建带有中文字符的引用(里程碑、分支等)。
  • +
+

如果希望版本库中出现使用中文文件名的文件,最好不要使用msysGit,而是使用Cygwin下的Git。而如果只是想在提交说明中使用中文,经过一定的设置msysGit还是可以实现的。

+

为了解决提交说明显示乱码问题,msysGit要为Git设置参数i18n.logOutputEncoding,将提交说明的输出编码设置为gbk

+
$ git config --system i18n.logOutputEncoding gbk
+
+
+

Git在提交时并不会对提交说明进行从GBK字符集到UTF-8的转换,但是可以在提交说明中标注所使用的字符集,因此在非UTF-8字符集的平台录入中文,需要用下面指令设置录入提交说明的字符集,以便在commit对象中嵌入正确的编码说明。为了使msysGit提交时输入的中文说明能够在Linux或其他使用UTF-8编码的平台中正确显示,还必须对参数i18n.commitEncoding设置。

+
$ git config --system i18n.commitEncoding gbk
+
+
+

同样,为了能够让带有中文文件名的文件,在工作区状态输出、查看历史更改概要、以及在补丁文件中,能够正常显示,要为Git配置core.quotepath变量,将其设置为false。但是要注意在msysGit中添加中文文件名的文件,只能在msysGit环境中正确显示,而在其他环境(Linu、Mac OS X、Cygwin)中文件名会出现乱码。

+
$ git config --system core.quotepath false
+$ git status -s
+?? 说明.txt
+
+
+

注意:如果同时安装了Cygwin和msysGit(可能配置了相同的用户主目录),或者因为中文支持问题而需要单独为TortoiseGit准备一套msysGit时,为了保证不同的msysGit之间,以及和Cygwin之间的配置不会互相影响,而在配置Git环境时使用–system参数。这是因为不同的msysGit安装以及Cygwin有着不同的系统配置文件,但是用户级配置文件位置却可能重合。

+
+
+

1.3.4.5. 使用SSH协议

+

msysGit软件包包含的ssh命令和Linux下的没有什么区别,也提供ssh-keygen命令管理SSH公钥/私钥对。在使用msysGit的ssh命令时,没有遇到Cygwin中的ssh命令(版本号:5.7p1-1)不稳定的问题,即msysGit下的ssh命令可以非常稳定的工作。

+

如果需要和Windows有更好的整合,希望使用图形化工具管理公钥,也可以使用PuTTY提供的plink.exe做为SSH客户端。关于如何使用PuTTY可以参见3.3.5节Cygwin和PuTTY整合的相关内容。

+
+
+

1.3.4.6. TortoiseGit的安装和使用

+

TortoiseGit提供了Git和Windows资源管理器的整合,提供了Git的图形化操作界面。像其他Tortoise系列产品(TortoiseCVS、TortoiseSVN)一样,Git工作区的目录和文件的图标附加了标识版本控制状态的图像,可以非常直观的看到哪些文件被更改了需要提交。通过对右键菜单的扩展,可以非常方便的在资源管理器中操作Git版本库。

+

TortoiseGit是对msysGit命令行的封装,因此需要先安装msysGit。安装TortoiseGit非常简单,访问网站http://code.google.com/p/tortoisegit/,下载安装包,然后根据提示完成安装。

+

安装过程中会询问要使用的SSH客户端,如图3-23。缺省使用内置的TortoisePLink(来自PuTTY项目)做为SSH客户端。

+
+../images/tgit-3.png +

图3-23:启动Git Bash

+
+

TortoisePLink和TortoiseGit的整合性更好,可以直接通过对话框设置SSH私钥(PuTTY格式),而无需再到字符界面去配置SSH私钥和其他配置文件。如果安装过程中选择了OpenSSH,可以在安装完毕之后,通过TortoiseGit的设置对话框重新选择TortoisePLink做为缺省SSH客户端程序,如图3-24。

+
+../images/tgit-settings-network-plink.png +

图3-24:配置缺省SSH客户端

+
+

当配置使用TortoisePLink做为缺省SSH客户端时,在执行克隆操作时,在操作界面中可以选择一个PuTTY格式的私钥文件进行认证,如图3-25。

+
+../images/tgit-clone.png +

图3-25:克隆操作选择PuTTY格式私钥文件

+
+

如果连接一个服务器的SSH私钥需要更换,可以通过Git远程服务器配置界面对私钥文件进行重新设置。如图3-26。

+
+../images/tgit-settings-remote.png +

图3-26:更换连接远程SSH服务器的私钥

+
+

如果安装有多个msysGit拷贝,也可以通过TortoiseGit的配置界面进行选择,如图3-27。

+
+../images/tgit-settings-general.png +

图3-27:配置msysGit的可执行程序位置

+
+
+
+

1.3.4.7. TortoiseGit的中文支持

+

TortoiseGit虽然在底层调用了msysGit,但是TortoiseGit的中文支持和msysGit有区别,甚至前面介绍msysGit中文支持时所进行的配制会破坏TortoiseGit。

+

TortoiseGit在提交时,会将提交说明转换为UTF-8字符集,因此无须对i18n.commitEncoding变量进行设置。相反,如果设置了i18n.commitEncodinggbk或其他,则在提交对象中会包含错误的编码设置,有可能为提交说明的显示带来麻烦。

+

TortoiseGit在显示提交说明时,认为所有的提交说明都是UTF-8编码,会转换为合适的Windows本地字符集显示,而无须设置i18n.logOutputEncoding变量。因为当前版本的TortoiseGit没有对提交对象中的encoding设置进行检查,因此使用GBK字符集的提交说明中的中文不能正常显示。

+

因此,如果需要同时使用msysGit的文字界面Git Bash以及TortoiseGit,并需要在提交说明中使用中文,可以安装两套msysGit,并确保TortoiseGit关联的msysGit没有对i18n.commitEncoding进行设置。

+

TortoiseGit对使用中文命名的文件和目录的支持和msysGit一样,都存在缺陷,因此应当避免在msysGit和TortoiseGit中添加用中文命名的文件和目录,如果确实需要,可以使用Cygwin。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/01-meet-git/index.html b/01-meet-git/index.html new file mode 100644 index 000000000..af05d86f9 --- /dev/null +++ b/01-meet-git/index.html @@ -0,0 +1,209 @@ + + + + + + + + + 1. 初识Git — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

Git权威指南

+

下一个主题

+

1.1. 版本控制的前世和今生

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

1. 初识Git

+

Git是一款分布式版本控制系统,有别于CVS和SVN等集中式版本控制系统,Git可以让研发团队更加高效地协同工作、提高生产率。使用Git,开发人员的工作不会因为频繁地遭遇提交冲突而中断,管理人员也无须为数据的备份而担心。经过Linux这样庞大的项目的考验之后,Git被证明可以胜任任何规模的团队,即便这个团队的成员分布于世界各地。

+

Git是开源社区奉献给每一个人的宝贝,用好它可以实现个人的知识积累、保护好自己的数据,而且还能与他人分享自己的成果。这对于其他很多商业版本控制工具来说是不可想象的。试想你会仅仅为了个人的版本控制而花费高昂的费用去购买商业版本控制工具么?你会去使用必须搭建额外的服务器才能使用的版本控制系统么?你会把“鸡蛋”放在具有单点故障、服务器软硬件有可能崩溃的唯一的“篮子”里么?如果你不会,那么选择Git一定是最明智的选择。

+

本篇我们首先用一章的内容回顾一下版本控制的历史,并以此向版本控制的前辈CVS和SVN致敬。在第2章通过一些典型的版本控制实例向您展示Git独特的魅力,让您爱上Git。在本篇的最后一章会介绍Git在Linux、Mac OS X及Windows下的安装,这是我们下一步研究Git的基础。

+

ICON-SOUND 在这里有必要纠正一下Git的发音。一种错误是按照单个字母来发音,另外一种更为普遍的错误是把整个单词读作“技特”,实际上Git中字母G的发音应该是和下列单词中的G类似:great、gift、geek、given。因此Git正确的发音应该听起来像是“歌易特”(连读)。实际上在我写作过程中,我为本书取的代号(code name)为《Got Git》,面对如此具有对称美的代号您还会把Git读错么?

+

目录:

+
+ +
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/010-git-init.html b/02-git-solo/010-git-init.html new file mode 100644 index 000000000..8353bd826 --- /dev/null +++ b/02-git-solo/010-git-init.html @@ -0,0 +1,544 @@ + + + + + + + + + 2.1. Git初始化 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

2.1. Git初始化

+
+

2.1.1. 创建版本库及第一次提交

+

您当前使用的是1.5.6或更高版本的Git么?

+
$ git --version
+git version 1.7.11.2
+
+
+

Git是一个活跃的项目,仍在不断的进化之中,不同Git版本的功能不尽相同。本书对Git的介绍涵盖了1.5.6到1.7.11版本,这也是目前Git的主要版本。如果您使用的Git版本低于1.5.6,那么请升级到1.5.6或更高的版本。本书示例使用的是1.7.11.2版本的Git,我们会尽可能地指出那些低版本不兼容的命令及参数。

+

在开始Git之旅之前,我们需要设置一下Git的环境变量,这个设置是一次性的工作。即这些设置会在全局文件(用户主目录下的.gitconfig)或系统文件(/etc/gitconfig)中做永久的记录。

+
    +
  • 告诉Git当前用户的姓名和邮件地址,配置的用户名和邮件地址将在版本库提交时作为提交者的用户名和邮件地址。

    +

    注意下面的两条命令不要照抄照搬,而是用您自己的用户名和邮件地址代替这里的用户名和邮件地址,否则您的劳动成果(提交内容)可要算到作者的头上了。

    +
    $ git config --global user.name "Jiang Xin"
    +$ git config --global user.email jiangxin@ossxp.com
    +
    +
    +
  • +
  • 设置一些Git别名,以便可以使用更为简洁的子命令。

    +

    例如:输入git ci即相当于git commit -s[1],输入git st即相当于git -p status[2]

    +
      +
    • 如果拥有系统管理员权限(可以执行sudo命令),希望注册的命令别名能够被所有用户使用,可以执行如下命令:

      +
      $ sudo git config --system alias.br branch
      +$ sudo git config --system alias.ci "commit -s"
      +$ sudo git config --system alias.co checkout
      +$ sudo git config --system alias.st "-p status"
      +
      +
      +
    • +
    • 也可以运行下面的命令,只在本用户的全局配置中添加Git命令别名:

      +
      $ git config --global alias.st status
      +$ git config --global alias.ci "commit -s"
      +$ git config --global alias.co checkout
      +$ git config --global alias.br branch
      +
      +
      +
    • +
    +
  • +
+

Git的所有操作,包括创建版本库等管理操作都用git一个命令即可完成,不像其他有的版本控制系统(如Subversion),一些涉及管理的操作要使用另外的命令(如svnadmin)。创建Git版本库,可以直接进入到包含数据(文件和子目录)的目录下,通过执行git init完成版本库的初始化。

+

下面就从一个空目录开始初始化版本库,这个版本库命名为“demo”,这个DEMO版本库将贯穿本篇始终。为了方便说明,使用了名为/path/to/my/workspace的目录作为个人的工作区根目录,您可以在磁盘中创建该目录并设置正确的权限。

+

首先建立一个新的工作目录,进入该目录后,执行git init创建版本库。

+
$ cd /path/to/my/workspace
+$ mkdir demo
+$ cd demo
+$ git init
+初始化空的 Git 版本库于 /path/to/my/workspace/demo/.git/
+
+
+

实际上,如果Git的版本是1.6.5或更新的版本,可以在git init命令的后面直接输入目录名称,自动完成目录的创建。

+
$ cd /path/to/my/workspace
+$ git init demo
+初始化空的 Git 版本库于 /path/to/my/workspace/demo/.git/
+$ cd demo
+
+
+

从上面版本库初始化后的输出中,可以看到执行git init命令在工作区创建了隐藏目录.git

+
$ ls -aF
+./  ../  .git/
+
+
+

这个隐藏的.git目录就是Git版本库(又叫仓库,repository)。

+

.git版本库目录所在的目录,即/path/to/my/workspace/demo目录称为工作区,目前工作区除了包含一个隐藏的file:.git版本库目录外空无一物。

+

下面为工作区中加点料:在工作区中创建一个文件welcome.txt,内容就是一行“Hello.”。

+
$ echo "Hello." > welcome.txt
+
+
+

为了将这个新建立的文件添加到版本库,需要执行下面的命令:

+
$ git add welcome.txt
+
+
+

切记,到这里还没有完。Git和大部分其他版本控制系统都需要再执行一次提交操作,对于Git来说就是执行git commit命令完成提交。在提交过程中需要输入提交说明,这个要求对于Git来说是强制性的,不像其他很多版本控制系统(如CVS、Subversion)允许空白的提交说明。在Git提交时,如果在命令行不提供提交说明(没有使用-m参数),Git会自动打开一个编辑器,要求您在其中输入提交说明,输入完毕保存退出。需要说明的是,读者要在一定程度上掌握vim或emacs这两种Linux下常用编辑器的编辑技巧,否则保存退出也会成为问题。

+

下面进行提交。为了说明方便,使用-m参数直接给出了提交说明。

+
$ git ci -m "initialized"
+[master(根提交) 7e749cc] initialized
+ 1 个文件被修改,插入 1 行(+)
+ create mode 100644 welcome.txt
+
+
+

从上面的命令及输出可以看出:

+
    +
  • 使用了Git命令别名,即git ci相当于执行git commit。在本节的一开始就进行了Git命令别名的设置。
  • +
  • 通过-m参数设置提交说明为:”initialized”。该提交说明也显示在命令输出的第一行中。
  • +
  • 命令输出的第一行还显示了当前处于名为master的分支上,提交ID为7e749cc[3],且该提交是该分支的第一个提交,即根提交(root-commit)。根提交和其他提交的区别在于没有关联的父提交,这会在后面的章节中加以讨论。
  • +
  • 命令输出的第二行开始显示本次提交所做修改的统计:修改了一个文件,包含一行的插入。
  • +
+
+
+

2.1.2. 思考:为什么工作区下有一个.git目录?

+

Git及其他分布式版本控制系统(如Mercurial/Hg、Bazaar)的一个显著特点是,版本库位于工作区的根目录下。对于Git来说,版本库位于工作区根目录下的.git目录中,且仅此一处,在工作区的子目录下则没有任何其他跟踪文件或目录。Git的这个设计要比CVS、Subversion这些传统的集中式版本控制工具来说方便多了。

+

看看版本控制系统前辈们是如何对工作区的跟踪进行设计的。通过其各自设计的优缺点,我们会更加深刻地体会到Git实现的必要和巧妙。

+

对于CVS,工作区的根目录及每一个子目录下都有一个CVS目录,CVS目录中包含几个配置文件,建立了对版本库的追踪。如CVS目录下的Entries文件记录了从版本库检出到工作区的文件的名称、版本和时间戳等,这样就可以通过对工作区文件时间戳的改变来判断文件是否更改。这样设计的好处是,可以将工作区移动到任何其他目录中,而工作区和版本控制服务器的映射关系保持不变,这样工作区依然能够正常工作。甚至还将工作区的某个子目录移动到其他位置,形成新的工作区,在新的工作区下仍然可以完成版本控制相关的操作。但是缺点也很多,例如工作区文件修改了,因为没有原始文件做比对,因此向服务器提交修改的时候只能对整个文件进行传输而不能仅传输文件的改动部分,导致从客户端到服务器的网络传输效率降低。还有一个风险是信息泄漏。例如Web服务器的目录下如果包含了CVS目录,黑客就可以通过扫描CVS/Entries文件得到目录下的文件列表,由此造成信息泄漏。

+

对于Subversion来说,工作区的根目录和每一个子目录下都有一个.svn目录。目录.svn中不但包含了类似CVS的跟踪目录下的配置文件,还包含了当前工作区下每一个文件的拷贝。多出文件的原始拷贝让某些svn命令可以脱离版本库执行,还可以在由客户端向服务器提交时,仅仅对文件改动的内容进行提交,因为改动的文件可以和原始拷贝进行差异比较。但是这么做的缺点除了像CVS因为引入CVS跟踪目录而造成的信息泄漏的风险外,还导致了加倍占用工作区的空间。再有一个不方便的地方就是,当在工作区目录下针对文件内容进行搜索的时候,会因为.svn目录下文件的原始拷贝,导致搜索的结果加倍,而出现混乱的搜索结果。

+

有的版本控制系统,在工作区根本就没有任何跟踪文件,例如,某款版本控制的商业软件(就不点名了),工作区就非常干净没有任何的配置文件和配置目录。但是这样的设计更加糟糕,因为它实际上是由服务器端建立的文件跟踪,在服务器端的数据库中保存了一个表格:哪台客户端,在哪个本地目录检出了哪个版本的版本库文件。这样做的后果是,如果客户端将工作区移动或改名会导致文件的跟踪状态丢失,出现文件状态未知的问题。客户端操作系统重装,也会导致文件跟踪状态丢失。

+

Git的这种设计,将版本库放在工作区根目录下,所有的版本控制操作(除了和其他远程版本库之间的互操作)都在本地即可完成,不像Subversion只有寥寥无几的几个命令才能脱离网络执行。而且Git也没有CVS和Subversion的安全泄漏问题(只要保护好.git目录),也没有Subversion在本地文件搜索时出现搜索结果混乱的问题,甚至Git还提供了一条git grep命令来更好地搜索工作区的文件内容。

+

例如作者在本书的Git库中执行下面的命令对版本库中的文件进行内容搜索:

+
$ git grep "工作区文件内容搜索"
+02-git-solo/010-git-init.rst::command:`git grep`\ 命令来更好地搜索工作区的文件内容。
+
+
+

当工作区中包含了子目录,在子目录中执行Git命令时,如何定位版本库呢?

+

实际上,当在Git工作区目录下执行操作的时候,会对目录依次向上递归查找.git 目录,找到的.git目录就是工作区对应的版本库,.git所在的目录就是工作区的根目录,文件.git/index记录了工作区文件的状态(实际上是暂存区的状态)。

+

例如在非Git工作区执行git命令,会因为找不到.git目录而报错。

+
$ cd /path/to/my/workspace/
+$ git status
+fatal: Not a git repository (or any of the parent directories): .git
+
+
+

如果跟踪一下执行git status命令时的磁盘访问[4],会看到沿目录依次向上递归的过程。

+
$ strace -e 'trace=file' git status
+...
+getcwd("/path/to/my/workspace", 4096)           = 14
+...
+access(".git/objects", X_OK)            = -1 ENOENT (No such file or directory)
+access("./objects", X_OK)               = -1 ENOENT (No such file or directory)
+...
+chdir("..")                             = 0
+...
+access(".git/objects", X_OK)            = -1 ENOENT (No such file or directory)
+access("./objects", X_OK)               = -1 ENOENT (No such file or directory)
+...
+chdir("..")                             = 0
+...
+access(".git/objects", X_OK)            = -1 ENOENT (No such file or directory)
+access("./objects", X_OK)               = -1 ENOENT (No such file or directory)
+fatal: Not a git repository (or any of the parent directories): .git
+
+
+

那么有什么办法知道Git版本库的位置,以及工作区的根目录在哪里呢?

+

当在工作区执行git命令时,上面查找版本库的操作总是默默地执行,就好像什么也没有发生的一样。如果希望显示工作区的根目录,Git有一个底层命令可以实现。

+
    +
  • 在工作区下建立目录a/b/c,进入到该目录中。

    +
    $ cd /path/to/my/workspace/demo/
    +$ mkdir -p a/b/c
    +$ cd /path/to/my/workspace/demo/a/b/c
    +
    +
    +
  • +
  • 显示版本库.git目录所在的位置。

    +
    $ git rev-parse --git-dir
    +/path/to/my/workspace/demo/.git
    +
    +
    +
  • +
  • 显示工作区根目录。

    +
    $ git rev-parse --show-toplevel
    +/path/to/my/workspace/demo
    +
    +
    +
  • +
  • 相对于工作区根目录的相对目录。

    +
    $ git rev-parse --show-prefix
    +a/b/c/
    +
    +
    +
  • +
  • 显示从当前目录(cd)后退(up)到工作区的根的深度。

    +
    $ git rev-parse --show-cdup
    +../../../
    +
    +
    +
  • +
+

把版本库:file:`.git`目录放在工作区,是不是太不安全了?

+

从存储安全的角度上来讲,将版本库放在工作区目录下,有点“把鸡蛋装在一个篮子里”的味道。如果忘记了工作区中还有版本库,直接从工作区的根执行目录删除就会连版本库一并删除,这个风险的确是蛮高的。将版本库和工作区拆开似乎更加安全,但是不要忘了之前的讨论,将版本库和工作区拆开,就要引入其他机制以便实现版本库对工作区的追踪。

+

Git克隆可以降低因为版本库和工作区混杂在一起导致的版本库被破坏的风险。可以通过克隆版本库,在本机另外的磁盘/目录中建立Git克隆,并在工作区有改动提交时,手动或自动地执行向克隆版本库的推送(git push)操作。如果使用网络协议,还可以实现在其他机器上建立克隆,这样就更安全了(双机备份)。对于使用Git做版本控制的团队,每个人都是一个备份,因此团队开发中的Git版本库更安全,管理员甚至根本无须顾虑版本库存储安全问题。

+
+
+

2.1.3. 思考:git config命令参数的区别?

+

在之前出现的git config命令,有的使用了--global参数,有的使用了--system参数,这两个参数有什么区别么?执行下面的命令,您就明白git config` 命令实际操作的文件了。

+
    +
  • 执行下面的命令,将打开/path/to/my/workspace/demo/.git/config文件进行编辑。

    +
    $ cd /path/to/my/workspace/demo/
    +$ git config -e
    +
    +
    +
  • +
  • 执行下面的命令,将打开/home/jiangxin/.gitconfig(用户主目录下的.gitconfig文件)全局配置文件进行编辑。

    +
    $ git config -e --global
    +
    +
    +
  • +
  • 执行下面的命令,将打开/etc/gitconfig系统级配置文件进行编辑。

    +

    如果Git安装在/usr/local/bin下,这个系统级的配置文件也可能是在/usr/local/etc/gitconfig

    +
    $ git config -e --system
    +
    +
    +
  • +
+

Git的三个配置文件分别是版本库级别的配置文件、全局配置文件(用户主目录下)和系统级配置文件(/etc目录下)。其中版本库级别配置文件的优先级最高,全局配置文件其次,系统级配置文件优先级最低。这样的优先级设置就可以让版本库.git目录下的config文件中的配置可以覆盖用户主目录下的Git环境配置。而用户主目录下的配置也可以覆盖系统的Git配置文件。

+

执行前面的三个git config命令,会看到这三个级别配置文件的格式和内容,原来Git配置文件采用的是INI文件格式。示例如下:

+
$ cat /path/to/my/workspace/demo/.git/config
+[core]
+        repositoryformatversion = 0
+        filemode = true
+        bare = false
+        logallrefupdates = true
+
+
+

命令git config可以用于读取和更改INI配置文件的内容。使用命令git config <section>.<key>,来读取INI配置文件中某个配置的键值。例如读取[core]小节的bare的属性值,可以用如下命令:

+
$ git config core.bare
+false
+
+
+

如果想更改或设置INI文件中某个属性的值也非常简单,命令格式是:git config <section>.<key> <value>。可以用如下操作:

+
$ git config a.b something
+$ git config x.y.z others
+
+
+

如果打开.git/config文件,会看到如下内容:

+
[a]
+        b = something
+
+[x "y"]
+        z = others
+
+
+

对于类似[x "y"]一样的配置小节,会在本书第三篇介绍远程版本库的章节中经常遇到。

+

从上面的介绍中,可以看到使用git config命令可以非常方便地操作INI文件,实际上可以用git config命令操作任何其他的INI文件。

+
    +
  • 向配置文件test.ini中添加配置。

    +
    $ GIT_CONFIG=test.ini git config a.b.c.d "hello, world"
    +
    +
    +
  • +
  • 从配置文件test.ini中读取配置。

    +
    $ GIT_CONFIG=test.ini git config a.b.c.d
    +hello, world
    +
    +
    +
  • +
+

后面介绍的git-svn软件,就使用这个技术读写git-svn专有的配置文件。

+
+
+

2.1.4. 思考:是谁完成的提交?

+

在本章的一开始,先为Git设置了user.nameuser.email全局环境变量,如果不设置会有什么结果呢?

+

执行下面的命令,删除Git全局配置文件中关于user.nameuser.email的设置:

+
$ git config --unset --global user.name
+$ git config --unset --global user.email
+
+
+

这下关于用户姓名和邮件的设置都被清空了,执行下面的命令将看不到输出。

+
$ git config user.name
+$ git config user.email
+
+
+

下面再尝试进行一次提交,看看提交的过程会有什么不同,以及提交之后显示的提交者是谁?

+

在下面的命令中使用了--allow-empty参数,这是因为没有对工作区的文件进行任何修改,Git默认不会执行提交,使用了--allow-empty参数后,允许执行空白提交。

+
$ cd /path/to/my/workspace/demo
+$ git commit --allow-empty -m "who does commit?"
+[master 252dc53] who does commit?
+ Committer: JiangXin <jiangxin@hp.moon.ossxp.com>
+Your name and email address were configured automatically based
+on your username and hostname. Please check that they are accurate.
+You can suppress this message by setting them explicitly:
+
+    git config --global user.name "Your Name"
+    git config --global user.email you@example.com
+
+If the identity used for this commit is wrong, you can fix it with:
+
+    git commit --amend --author='Your Name <you@example.com>'
+
+
+

喔,因为没有设置user.nameuser.email变量,提交输出乱得一塌糊涂。仔细看看上面执行git commit命令的输出,原来Git提供了详细的帮助指引来告诉如何设置必需的变量,以及如何修改之前提交中出现的错误的提交者信息。

+

看看此时版本库的提交日志,会看到有两次提交。

+

注意:下面的输出和您的输出肯定会有所不同,一个是提交时间会不一样,再有就是由40位十六进制数字组成的提交ID也不可能一样,甚至本书中凡是您亲自完成的提交,相关的40位魔幻般的数字ID都会不一样(原因会在后面的章节看到)。因此凡是涉及数字ID和作者示例不一致的时候,以读者自己的数字ID为准,作者提供的仅是示例和参考,切记切记。

+
$ git log --pretty=fuller
+commit 252dc539b5b5f9683edd54849c8e0a246e88979c
+Author:     JiangXin <jiangxin@hp.moon.ossxp.com>
+AuthorDate: Mon Nov 29 10:39:35 2010 +0800
+Commit:     JiangXin <jiangxin@hp.moon.ossxp.com>
+CommitDate: Mon Nov 29 10:39:35 2010 +0800
+
+    who does commit?
+
+commit 9e8a761ff9dd343a1380032884f488a2422c495a
+Author:     Jiang Xin <jiangxin@ossxp.com>
+AuthorDate: Sun Nov 28 12:48:26 2010 +0800
+Commit:     Jiang Xin <jiangxin@ossxp.com>
+CommitDate: Sun Nov 28 12:48:26 2010 +0800
+
+    initialized.
+
+
+

最早的提交(下面的提交),提交者的信息是由之前设置的环境变量user.nameuser.email给出的。而最新的提交(上面第一个提交)因为删除了user.nameuser.email,提交时Git对提交者的用户名和邮件地址做了大胆的猜测,这个猜测可能是错的。

+

为了保证提交时提交者和作者信息的正确性,重新恢复user.nameuser.email的设置。记住不要照抄照搬下面的命令,请使用您自己的用户名和邮件地址。

+
$ git config --global user.name "Jiang Xin"
+$ git config --global user.email jiangxin@ossxp.com
+
+
+

然后执行下面的命令,重新修改最新的提交,改正作者和提交者的错误信息。

+
$ git commit --amend --allow-empty --reset-author
+
+
+

说明:

+
    +
  • 参数--amend是对刚刚的提交进行修补,这样就可以改正前面错误的提交(用户信息错误),而不会产生另外的新提交。
  • +
  • 参数--allow-empty是因为要进行修补的提交实际上是一个空白提交,Git默认不允许空白提交。
  • +
  • 参数--reset-author的含义是将Author(提交者)的ID重置,否则只会影响最新的Commit(提交者)的ID。这条命令也会重置AuthorDate信息。
  • +
+

通过日志,可以看到最新提交的作者和提交者的信息已经改正了。

+
$ git log --pretty=fuller
+commit a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+Author:     Jiang Xin <jiangxin@ossxp.com>
+AuthorDate: Mon Nov 29 11:00:06 2010 +0800
+Commit:     Jiang Xin <jiangxin@ossxp.com>
+CommitDate: Mon Nov 29 11:00:06 2010 +0800
+
+    who does commit?
+
+commit 9e8a761ff9dd343a1380032884f488a2422c495a
+Author:     Jiang Xin <jiangxin@ossxp.com>
+AuthorDate: Sun Nov 28 12:48:26 2010 +0800
+Commit:     Jiang Xin <jiangxin@ossxp.com>
+CommitDate: Sun Nov 28 12:48:26 2010 +0800
+
+    initialized.
+
+
+
+
+

2.1.5. 思考:随意设置提交者姓名,是否太不安全?

+

使用过CVS、Subversion等集中式版本控制系统的用户会知道,每次提交的时候须要认证,认证成功后,登录ID就作为提交者ID出现在版本库的提交日志中。很显然,对于CVS或Subversion这样的版本控制系统,很难冒充他人提交。那么像Git这样的分布式版本控制系统,可以随心所欲的设定提交者,这似乎太不安全了。

+

Git可以随意设置提交的用户名和邮件地址信息,这是分布式版本控制系统的特性使然,每个人都是自己版本库的主人,很难也没有必要进行身份认证从而使用经过认证的用户名作为提交的用户名。

+

在进行“独奏”的时候,还要为自己强制加上一个“指纹识别”实在是太没有必要了。但是团队合作时授权就成为必需了。不过一般来说,设置的Git服务器只会在个人向服务器版本库执行推送操作(推送其本地提交)的时候进行身份认证,并不对所推送的提交本身所包含的用户名作出检查。但Android项目是个例外。

+

Android项目为了更好的使用Git实现对代码的集中管理,开发了一套叫做Gerrit的审核服务器来管理Git提交,对提交者的邮件地址进行审核。例如下面的示例中在向Gerrit服务器推送的时候,提交中的提交者邮件地址为jiangxin@ossxp.com,但是在Gerrit中注册用户时使用的邮件地址为jiangxin@moon.ossxp.com。因为两者不匹配,从而导致推送失败。

+
$ git push origin master
+Counting objects: 3, done.
+Writing objects: 100% (3/3), 222 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/new/project.git
+ ! [remote rejected] master -> master (you are not committer jiangxin@ossxp.com)
+error: failed to push some refs to 'ssh://localhost:29418/new/project.git'
+
+
+

即使没有使用类似Gerrit的服务,作为提交者也不应该随意改变user.nameuser.email的环境变量设置,因为当多人协同时这会给他人造成迷惑,也会给一些项目管理软件造成麻烦。

+

例如Redmine是一款实现需求管理和缺陷跟踪的项目管理软件,可以和Git版本库实现整合。Git的提交可以直接关闭Redmine上的Bug,还有Git的提交可以反映出项目成员的工作进度。Redmine中的用户(项目成员)是用一个ID做标识,而Git的提交者则用一个包含用户名和邮件地址的字符串,如何将Redmine的用户和Git提交者相关联呢?Redmine提供了一个配置界面用于设置二者之间的关系,如图4-1所示。

+
+
+../images/redmine-user-config.png +

图 4‑1:Redmine中用户ID和Git提交者关联

+
+
+

显然如果在Git提交时随意变更提交者的姓名和邮件地址,会破坏Redmine软件中设置好的用户对应关系。

+
+
+

2.1.6. 思考:命令别名是干什么的?

+

在本章的一开始,通过对alias.ci等Git环境变量的设置,为Git设置了命令别名。命令别名可以帮助用户解决从其他版本控制系统迁移到Git后的使用习惯问题。像CVS和Subversion在提交的时候,一般习惯使用ci(check in)子命令,在检出的时候则习惯使用co(check out)子命令。如果Git不能提供对cico这类简洁命令的支持,对于拥有其他版本控制系统使用经验的用户来说,Git的用户体检就会打折扣。幸好聪明的Git提供了别名机制,可以满足用户特殊的使用习惯。

+

本章前面列出的四条别名设置指令,创建的是最常用的几个Git别名。实际上别名还可以包含命令参数。例如下面的别名设置指令:

+
$ git config --global alias.ci "commit -s"
+
+
+

如上设置后,当使用git ci命令提交的时候,会自动带上-s参数,这样会在提交的说明中自动添加上包含提交者姓名和邮件地址的签名标识,类似于Signed-off-by: User Name <email@address>。这对于一些项目(Git、Linux kernel、Android等)来说是必要甚至是必须的。

+

不过在本书会尽量避免使用别名命令,以免由于读者因为尚未设置别名而造成学习上的困惑。

+
+
+

2.1.7. 备份本章的工作成果

+

执行下面的命令,算是对本章工作成果的备份。

+
$ cd /path/to/my/workspace
+$ git clone demo demo-step-1
+Cloning into demo-step-1...
+done.
+
+
+
+ + + + + +
[1]命令git commit -s中的参数-s含义为在提交说明的最后添加“Signed-off-by:”签名。
+ + + + + +
[2]命令git -p status中的参数-p含义是为git status命令的输出添加分页器。
+ + + + + +
[3]大家实际操作中看到的ID肯定和这里写的不一样,具体原因会在后面的“6.1 Git对象库探秘”一节中予以介绍。如果碰巧您的操作显示出了同样的ID(78cde45),那么我建议您赶紧去买一张彩票。;)
+ + + + + +
[4]示例中使用了Linux下的strace命令跟踪系统调用,在Mac OS X下则可使用sudo dtruss git status命令跟踪相关Git操作的系统调用。
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/020-git-stage.html b/02-git-solo/020-git-stage.html new file mode 100644 index 000000000..4455ad26d --- /dev/null +++ b/02-git-solo/020-git-stage.html @@ -0,0 +1,692 @@ + + + + + + + + + 2.2. Git暂存区 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.1. Git初始化

+

下一个主题

+

2.3. Git对象

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.2. Git暂存区

+

上一章主要学习了三个命令:git initgit addgit commit,这三条命令可以说是版本库创建的三部曲。同时还通过对几个问题的思考,使读者能够了解Git版本库在工作区中的布局,Git三个等级的配置文件以及Git的别名命令等内容。

+

在上一章的实践中,DEMO版本库经历了两次提交,可以用git log查看提交日志(附加的--stat参数看到每次提交的文件变更统计)。

+
$ cd /path/to/my/workspace/demo
+$ git log --stat
+commit a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Mon Nov 29 11:00:06 2010 +0800
+
+    who does commit?
+
+commit 9e8a761ff9dd343a1380032884f488a2422c495a
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Sun Nov 28 12:48:26 2010 +0800
+
+    initialized.
+
+ welcome.txt |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

可以看到第一次提交对文件welcome.txt有一行的变更,而第二次提交因为是使用了--allow-empty参数进行的一次空提交,所以提交说明中看不到任何对实质内容的修改。

+

下面仍在这个工作区,继续新的实践。通过新的实践学习Git一个最重要的概念:“暂存区”。

+
+

2.2.1. 修改不能直接提交?

+

首先更改welcome.txt文件,在这个文件后面追加一行。可以使用下面的命令实现内容的追加。

+
$ echo "Nice to meet you." >> welcome.txt
+
+
+

这时可以通过执行git diff命令看到修改后的文件和版本库中文件的差异。(实际上这句话有问题,和本地比较的不是版本库中的文件,而是一个中间状态的文件)

+
$ git diff
+diff --git a/welcome.txt b/welcome.txt
+index 18832d3..fd3c069 100644
+--- a/welcome.txt
++++ b/welcome.txt
+@@ -1 +1,2 @@
+ Hello.
++Nice to meet you.
+
+
+

差异输出是不是很熟悉?在之前介绍版本库“黑暗的史前时代”的时候,曾经展示了diff命令的输出,两者的格式是一样的。

+

既然文件修改了,那么就提交吧。提交能够成功么?

+
$ git commit -m "Append a nice line."
+# On branch master
+# 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:   welcome.txt
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+

提交成功了么?好像没有!

+

提交没有成功的证据:

+
    +
  • 先来看看提交日志,如果提交成功,应该有新的提交记录出现。

    +

    下面使用了精简输出来显示日志,以便更简洁和清晰的看到提交历史。在其中能够看出来版本库中只有两个提交,都是在上一章的实践中完成的。也就是说刚才针对修改文件的提交没有成功!

    +
    $ git log --pretty=oneline
    +a0c641e92b10d8bcca1ed1bf84ca80340fdefee6 who does commit?
    +9e8a761ff9dd343a1380032884f488a2422c495a initialized.
    +
    +
    +
  • +
  • 执行git diff可以看到和之前相同的差异输出,这也说明了之前的提交没有成功。

    +
  • +
  • 执行git status查看文件状态,也可以看到文件处于未提交的状态。

    +

    而且git status命令的输出和git commit提交失败的输出信息一模一样!

    +
  • +
  • 对于习惯了像 CVS 和 Subversion 那样简练的状态输出的用户,可以在执行git status 时附加上-s参数,显示精简格式的状态输出。

    +
    $ git status -s
    + M welcome.txt
    +
    +
    +
  • +
+

提交为什么会失败呢?再回过头来仔细看看刚才git commit命令提交失败后的输出:

+
+
# On branch master
+# 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:   welcome.txt
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+
+

把它翻译成中文普通话:

+
+
# 位于您当前工作的分支 master 上
+# 下列的修改还没有加入到提交任务(提交暂存区,stage)中,不会被提交:
+#   (使用 "git add <file>..." 命令后,改动就会加入到提交任务中,
+#    要在下一次提交操作时才被提交)
+#   (使用 "git checkout -- <file>..." 命令,工作区当前您不打算提交的
+#    修改会被彻底清除!!!)
+#
+#       已修改:   welcome.txt
+#
+警告:提交任务是空的噻,您不要再搔扰我啦
+(除非使用 "git add" 和/或 "git commit -a" 命令)
+
+
+
+

也就是说要对修改的welcome.txt文件执行git add命令,将修改的文件添加到“提交任务”中,然后才能提交!

+

这个行为真的很奇怪,因为add操作对于其他版本控制系统来说是向版本库添加新文件用的,修改的文件(已被版本控制跟踪的文件)在下次提交时会直接被提交。Git的这个古怪的行为会在下面的介绍中找到答案,读者会逐渐习惯并喜欢Git的这个设计。

+

好了,现在就将修改的文件“添加”到提交任务中吧:

+
$ git add welcome.txt
+
+
+

现在再执行一些Git命令,看看当执行文“添加”动作后,Git库发生了什么变化:

+
    +
  • 执行git diff没有输出,难道是被提交了?可是只是执行了“添加” 到提交任务的操作,相当于一个“登记”的命令,并没有执行提交哇?

    +
    $ git diff
    +
    +
    +
  • +
  • 这时如果和HEAD(当前版本库的头指针)或者master分支(当前工作分支)进行比较,会发现有差异。这个差异才是正常的,因为尚未真正提交么。

    +
    $ git diff HEAD
    +diff --git a/welcome.txt b/welcome.txt
    +index 18832d3..fd3c069 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1 +1,2 @@
    + Hello.
    ++Nice to meet you.
    +
    +
    +
  • +
  • 执行git status命令,状态输出和之前的不一样了。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       modified:   welcome.txt
    +#
    +
    +
    +
  • +
+

再对新的Git状态输出做一回翻译:

+
+
$ git status
+# 位于分支 master 上
+# 下列的修改将被提交:
+#   (如果你后悔了,可以使用 "git reset HEAD <file>..." 命令
+#    将下列改动撤出提交任务(提交暂存区, stage),否则
+#    执行提交命令可真的要提交喽)
+#
+#       已修改:   welcome.txt
+#
+
+
+
+

不得不说,Git太人性化了,它把各种情况下可以使用到的命令都告诉给用户了,虽然这显得有点罗嗦。如果不要这么罗嗦,可以用简洁方式显示状态:

+
$ git status -s
+M  welcome.txt
+
+
+

上面精简的状态输出与执行git add之前的精简状态输出相比,有细微的差别,发现了么?

+
    +
  • 虽然都是 M(Modified)标识,但是位置不一样。在执行git add命令之前,这个M位于第二列(第一列是一个空格),在执行完git add之后,字符M位于第一列(第二列是空白)。
  • +
  • 位于第一列的字符M的含义是:版本库中的文件和处于中间状态——提交任务(提交暂存区,即stage)中的文件相比有改动。
  • +
  • 位于第二列的字符M的含义是:工作区当前的文件和处于中间状态——提交任务(提交暂存区,即stage)中的文件相比也有改动。
  • +
+

是不是还有一些不明白?为什么Git的状态输出中提示了那么多让人不解的命令?为什么存在一个提交任务的概念而又总是把它叫做暂存区(stage)?不要紧,马上就会专题讲述“暂存区”的概念。当了解了Git版本库的设计原理之后,理解相关Git命令就易如反掌了。

+

这时如果直接提交(git commit),加入提交任务的welcome.txt文件的更改就被提交入库了。但是先不忙着执行提交,再进行一些操作,看看能否被彻底的搞糊涂。

+
    +
  • 继续修改一下welcome.txt文件(在文件后面再追加一行)。

    +
    $ echo "Bye-Bye." >> welcome.txt
    +
    +
    +
  • +
  • 然后执行git status,查看一下状态:

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       modified:   welcome.txt
    +#
    +# 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:   welcome.txt
    +#
    +
    +
    +

    状态输出中居然是之前出现的两种不同状态输出的灵魂附体。

    +
  • +
  • 如果显示精简的状态输出,也会看到前面两种精简输出的杂合体。

    +
    $ git status -s
    +MM welcome.txt
    +
    +
    +
  • +
+

上面的更为复杂的 Git 状态输出可以这么理解:不但版本库中最新提交的文件和处于中间状态 —— 提交任务(提交暂存区, stage)中的文件相比有改动,而且工作区当前的文件和处于中间状态 —— 提交任务(提交暂存区, stage)中的文件相比也有改动。

+

即现在welcome.txt有三个不同的版本,一个在工作区,一个在等待提交的暂存区,还有一个是版本库中最新版本的welcome.txt。通过不同的参数调用git diff命令可以看到不同版本库welcome.txt文件的差异。

+
    +
  • 不带任何选项和参数调用git diff显示工作区最新改动,即工作区和提交任务(提交暂存区,stage)中相比的差异。

    +
    $ git diff
    +diff --git a/welcome.txt b/welcome.txt
    +index fd3c069..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1,2 +1,3 @@
    + Hello.
    + Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
  • 将工作区和HEAD(当前工作分支)相比,会看到更多的差异。

    +
    $ git diff HEAD
    +diff --git a/welcome.txt b/welcome.txt
    +index 18832d3..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1 +1,3 @@
    + Hello.
    ++Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
  • 通过参数--cached或者--staged参数调用git diff命令,看到的是提交暂存区(提交任务,stage)和版本库中文件的差异。

    +
    $ git diff --cached
    +diff --git a/welcome.txt b/welcome.txt
    +index 18832d3..fd3c069 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1 +1,2 @@
    + Hello.
    ++Nice to meet you.
    +
    +
    +
  • +
+

好了现在是时候提交了。现在执行git commit命令进行提交。

+
$ git commit -m "which version checked in?"
+[master e695606] which version checked in?
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

这次提交终于成功了。如何证明提交成功了呢?

+
    +
  • 通过查看提交日志,看到了新的提交。

    +
    $ git log --pretty=oneline
    +e695606fc5e31b2ff9038a48a3d363f4c21a3d86 which version checked in?
    +a0c641e92b10d8bcca1ed1bf84ca80340fdefee6 who does commit?
    +9e8a761ff9dd343a1380032884f488a2422c495a initialized.
    +
    +
    +
  • +
  • 查看精简的状态输出。

    +

    状态输出中文件名的前面出现了一个字母M,即只位于第二列的字母M

    +
    $ git status -s
    + M welcome.txt
    +
    +
    +
  • +
+

那么第一列的M哪里去了?被提交了呗。即提交任务(提交暂存区,stage)中的内容被提交到版本库中,所以第一列因为提交暂存区(提交任务,stage)和版本库中的状态一致,所以显示一个空白。

+

提交的welcome.txt是哪个版本呢?可以通过执行git diff或者git diff HEAD命令查看差异。虽然命令git diffgit diff HEAD的比较过程并不不同(可以通过strace命令跟踪命令执行过程中的文件访问),但是会看到下面相同的差异输出结果。

+
$ git diff
+diff --git a/welcome.txt b/welcome.txt
+index fd3c069..51dbfd2 100644
+--- a/welcome.txt
++++ b/welcome.txt
+@@ -1,2 +1,3 @@
+ Hello.
+ Nice to meet you.
++Bye-Bye.
+
+
+
+
+

2.2.2. 理解 Git 暂存区(stage)

+

把上面的实践从头至尾走一遍,不知道读者的感想如何?

+
    +
  • ——“被眼花缭乱的Git魔法彻底搞糊涂了?”
  • +
  • ——“Git为什么这么折磨人,修改的文件直接提交不就完了么?”
  • +
  • ——“看不出Git这么做有什么好处?”
  • +
+

在上面的实践过程中,有意无意的透漏了“暂存区”的概念。为了避免用户被新概念吓坏,在暂存区出现的地方用同时使用了“提交任务”这一更易理解的概念,但是暂存区(stage,或称为index)才是其真正的名称。我认为Git暂存区(stage,或称为index)的设计是Git最成功的设计之一,也是最难理解的一个设计。

+

在版本库.git目录下,有一个index文件,下面针对这个文件做一个有趣的试验。要说明的是:这个试验是用1.7.3版本的Git进行的,低版本的Git因为没有针对git status命令进行优化设计,需要使用git diff命令,才能看到index文件的日期戳变化。

+

首先执行git checkout命令(后面会介绍此命令),撤销工作区中 welcome.txt 文件尚未提交的修改。

+
$ git checkout -- welcome.txt
+$ git status -s     # 执行 git diff ,如果 git 版本号小于 1.7.3
+
+
+

通过状态输出,看以看到工作区已经没有改动了。查看一下.git/index文件,注意该文件的时间戳为:19:37:44。

+
$ ls --full-time .git/index
+-rw-r--r-- 1 jiangxin jiangxin 112 2010-11-29 19:37:44.625246224 +0800.git/index
+
+
+

再次执行git status命令,然后显示.git/index文件的时间戳为:19:37:44,和上面的一样。

+
$ git status -s     # 执行 git diff ,如果 git 版本号小于 1.7.3
+$ ls --full-time .git/index
+-rw-r--r-- 1 jiangxin jiangxin 112 2010-11-29 19:37:44.625246224 +0800 .git/index
+
+
+

现在更改一下 welcome.txt 的时间戳,但是不改变它的内容。然后再执行git status命令,然后查看.git/index文件时间戳为:19:42:06。

+
$ touch welcome.txt
+$ git status -s     # 执行 git diff ,如果 git 版本号小于 1.7.3
+$ ls --full-time .git/index
+-rw-r--r-- 1 jiangxin jiangxin 112 2010-11-29 19:42:06.980243216 +0800 .git/index
+
+
+

看到了么,时间戳改变了!

+

这个试验说明当执行git status命令(或者git diff命令)扫描工作区改动的时候,先依据.git/index文件中记录的(工作区跟踪文件的)时间戳、长度等信息判断工作区文件是否改变。如果工作区的文件时间戳改变,说明文件的内容可能被改变了,需要要打开文件,读取文件内容,和更改前的原始文件相比较,判断文件内容是否被更改。如果文件内容没有改变,则将该文件新的时间戳记录到.git/index文件中。因为判断文件是否更改,使用时间戳、文件长度等信息进行比较要比通过文件内容比较要快的多,所以Git这样的实现方式可以让工作区状态扫描更快速的执行,这也是Git高效的因素之一。

+

文件.git/index实际上就是一个包含文件索引的目录树,像是一个虚拟的工作区。在这个虚拟工作区的目录树中,记录了文件名、文件的状态信息(时间戳、文件长度等)。文件的内容并不存储其中,而是保存在Git对象库.git/objects目录中,文件索引建立了文件和对象库中对象实体之间的对应。下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系。

+
+
+../images/git-stage.png +

工作区、版本库、暂存区原理图

+
+
+

在这个图中,可以看到部分Git命令是如何影响工作区和暂存区(stage,亦称index)的。下面就对这些命令进行简要的说明,而要彻底揭开这些命令的面纱要在接下来的几个章节。

+
    +
  • 图中左侧为工作区,右侧为版本库。在版本库中标记为index的区域是暂存区(stage,亦称index),标记为master的是master分支所代表的目录树。
  • +
  • 图中可以看出此时HEAD实际是指向master分支的一个“游标”。所以图示的命令中出现HEAD的地方可以用master来替换。
  • +
  • 图中的objects标识的区域为Git的对象库,实际位于.git/objects目录下,会在后面的章节重点介绍。
  • +
  • 当对工作区修改(或新增)的文件执行git add命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
  • +
  • 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master分支会做相应的更新。即master最新指向的目录树就是提交时原暂存区的目录树。
  • +
  • 当执行git reset HEAD命令时,暂存区的目录树会被重写,被master分支指向的目录树所替换,但是工作区不受影响。
  • +
  • 当执行git rm –cached <file>命令时,会直接从暂存区删除文件,工作区则不做出改变。
  • +
  • 当执行git checkout .或者git checkout – <file>命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
  • +
  • 当执行git checkout HEAD .或者git checkout HEAD <file>命令时,会用HEAD指向的master分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。
  • +
+
+
+

2.2.3. Git Diff魔法

+

在本章的实践中展示了具有魔法效果的命令:git diff。在不同参数的作用下,git diff的输出并不相同。在理解了Git中的工作区、暂存区、和版本库最新版本(当前分支)分别是三个不同的目录树后,就非常好理解git diff魔法般的行为了。

+

暂存区目录树的浏览

+

有什么办法能够像查看工作区一样的,直观的查看暂存区以及HEAD当中的目录树么?

+

对于HEAD(版本库中当前提交)指向的目录树,可以使用Git底层命令git ls-tree来查看。

+
$ git ls-tree -l HEAD
+100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42      25    welcome.txt
+
+
+

其中:

+
    +
  • 使用-l参数,可以显示文件的大小。上面welcome.txt大小为25字节。
  • +
  • 输出的welcome.txt文件条目从左至右,第一个字段是文件的属性(rw-r–r–),第二个字段说明是Git对象库中的一个blob对象(文件),第三个字段则是该文件在对象库中对应的ID——一个40位的SHA1哈希值格式的ID(这个会在后面介绍),第四个字段是文件大小,第五个字段是文件名。
  • +
+

在浏览暂存区中的目录树之前,首先清除工作区当中的改动。通过git clean -fd命令清除当前工作区中没有加入版本库的文件和目录(非跟踪文件和目录),然后执行git checkout .命令,用暂存区内容刷新工作区。

+
$ cd /path/to/my/workspace/demo
+$ git clean -fd
+$ git checkout .
+
+
+

然后开始在工作区中做出一些修改(修改welcome.txt,增加一个子目录和文件),然后添加到暂存区。最后再对工作区做出修改。

+
$ echo "Bye-Bye." >> welcome.txt
+$ mkdir -p a/b/c
+$ echo "Hello." > a/b/c/hello.txt
+$ git add .
+$ echo "Bye-Bye." >> a/b/c/hello.txt
+$ git status -s
+AM a/b/c/hello.txt
+M  welcome.txt
+
+
+

上面的命令运行完毕后,通过精简的状态输出,可以看出工作区、暂存区、和版本库当前分支的最新版本(HEAD)各不相同。先来看看工作区中文件的大小:

+
$ find . -path ./.git -prune -o -type f -printf "%-20p\t%s\n"
+./welcome.txt           34
+./a/b/c/hello.txt       16
+
+
+

要显示暂存区的目录树,可以使用git ls-files命令。

+
$ git ls-files -s
+100644 18832d35117ef2f013c4009f5b2128dfaeff354f 0       a/b/c/hello.txt
+100644 51dbfd25a804c30e9d8dc441740452534de8264b 0       welcome.txt
+
+
+

注意这个输出和之前使用git ls-tree命令输出不一样,如果想要使用git ls-tree命令,需要先将暂存区的目录树写入Git对象库(用git write-tree命令),然后在针对git write-tree命令写入的 tree 执行git ls-tree命令。

+
$ git write-tree
+9431f4a3f3e1504e03659406faa9529f83cd56f8
+$ git ls-tree -l 9431f4a
+040000 tree 53583ee687fbb2e913d18d508aefd512465b2092       -    a
+100644 blob 51dbfd25a804c30e9d8dc441740452534de8264b      34    welcome.txt
+
+
+

从上面的命令可以看出:

+
    +
  • 到处都是40位的SHA1哈希值格式的ID,可以用于指代文件内容(blob),用于指代目录树(tree),还可以用于指代提交。但什么是SHA1哈希值ID,作用是什么,这些疑问暂时搁置,下一章再揭晓。
  • +
  • 命令git write-tree的输出就是写入Git对象库中的Tree ID,这个ID将作为下一条命令的输入。
  • +
  • git ls-tree命令中,没有把40位的ID写全,而是使用了前几位,实际上只要不和其他的对象ID冲突,可以随心所欲的使用缩写ID。
  • +
  • 可以看到git ls-tree的输出显示的第一条是一个tree对象,即刚才创建的一级目录a
  • +
+

如果想要递归显示目录内容,则使用-r参数调用。使用参数-t可以把递归过程遇到的每棵树都显示出来,而不只是显示最终的文件。下面执行递归操作显示目录树的内容。

+
$ git write-tree | xargs git ls-tree -l -r -t
+040000 tree 53583ee687fbb2e913d18d508aefd512465b2092       -    a
+040000 tree 514d729095b7bc203cf336723af710d41b84867b       -    a/b
+040000 tree deaec688e84302d4a0b98a1b78a434be1b22ca02       -    a/b/c
+100644 blob 18832d35117ef2f013c4009f5b2128dfaeff354f       7    a/b/c/hello.txt
+100644 blob 51dbfd25a804c30e9d8dc441740452534de8264b      34    welcome.txt
+
+
+

好了现在工作区,暂存区和HEAD三个目录树的内容各不相同。下面的表格总结了不同文件在三个目录树中的文件大小。

+
+
++++++ + + + + + + + + + + + + + + + + + + + +
文件名工作区暂存区HEAD
welcome.txt34 字节34 字节25 字节
a/b/c/hello.txt16 字节7 字节0 字节
+
+

Git diff魔法

+

通过使用不同的参数调用git diff命令,可以对工作区、暂存区、HEAD中的内容两两比较。下面的这个图,展示了不同的git diff命令的作用范围。

+
+
+../images/git-diff.png +
+
+

通过上面的图,就不难理解下面git diff命令不同的输出结果了。

+
    +
  • 工作区和暂存区比较。

    +
    $ git diff
    +diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt
    +index 18832d3..e8577ea 100644
    +--- a/a/b/c/hello.txt
    ++++ b/a/b/c/hello.txt
    +@@ -1 +1,2 @@
    + Hello.
    ++Bye-Bye.
    +
    +
    +
  • +
  • 暂存区和HEAD比较。

    +
    $ git diff --cached
    +diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt
    +new file mode 100644
    +index 0000000..18832d3
    +--- /dev/null
    ++++ b/a/b/c/hello.txt
    +@@ -0,0 +1 @@
    ++Hello.
    +diff --git a/welcome.txt b/welcome.txt
    +index fd3c069..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1,2 +1,3 @@
    + Hello.
    + Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
  • 工作区和HEAD比较。

    +
    $ git diff HEAD
    +diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt
    +new file mode 100644
    +index 0000000..e8577ea
    +--- /dev/null
    ++++ b/a/b/c/hello.txt
    +@@ -0,0 +1,2 @@
    ++Hello.
    ++Bye-Bye.
    +diff --git a/welcome.txt b/welcome.txt
    +index fd3c069..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1,2 +1,3 @@
    + Hello.
    + Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
+
+
+

2.2.4. 不要使用git commit -a

+

实际上Git的提交命令(git commit)可以带上-a参数,对本地所有变更的文件执行提交操作,包括本地修改的文件,删除的文件,但不包括未被版本库跟踪的文件。

+

这个命令的确可以简化一些操作,减少用git add命令标识变更文件的步骤,但是如果习惯了使用这个“偷懒”的提交命令,就会丢掉Git暂存区带给用户最大的好处:对提交内容进行控制的能力。

+

有的用户甚至通过别名设置功能,创建指向命令git commit -a的别名ci,这更是不可取的行为,应严格禁止。在本书会很少看到使用git commit -a命令。

+
+
+

2.2.5. 搁置问题,暂存状态

+

查看一下当前工作区的状态。

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   a/b/c/hello.txt
+#       modified:   welcome.txt
+#
+# 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:   a/b/c/hello.txt
+#
+
+
+

在状态输出中Git体贴的告诉了用户如何将加入暂存区的文件从暂存区撤出以便让暂存区和HEAD一致(这样提交就不会发生),还告诉用户对于暂存区更新后在工作区所做的再一次的修改有两个选择:或者再次添加到暂存区,或者取消工作区新做出的改动。但是涉及到的命令现在理解还有些难度,一个是git reset,一个是git checkout。需要先解决什么是HEAD,什么是master分支以及Git对象存储的实现机制等问题,才可以更好的操作暂存区。

+

为此,我作出一个非常艰难的决定[1]:就是保存当前的工作进度,在研究了HEAD和master分支的机制之后,继续对暂存区的探索。命令git stash就是用于保存当前工作进度的。

+
$ git stash
+Saved working directory and index state WIP on master: e695606 which version checked in?
+HEAD is now at e695606 which version checked in?
+
+
+

运行完git stash之后,再查看工作区状态,会看见工作区尚未提交的改动(包括暂存区的改动)全都不见了。

+
$ git status
+# On branch master
+nothing to commit (working directory clean)
+
+
+

“I’ll be back” —— 施瓦辛格, 《终结者》, 1984.

+ + + + + +
[1]此句式模仿2010年11月份发生的“3Q大战”。参见:http://zh.wikipedia.org/wiki/奇虎360与腾讯QQ争斗事件。
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/030-head-master-commit-refs.html b/02-git-solo/030-head-master-commit-refs.html new file mode 100644 index 000000000..06a17f6cf --- /dev/null +++ b/02-git-solo/030-head-master-commit-refs.html @@ -0,0 +1,547 @@ + + + + + + + + + 2.3. Git对象 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.2. Git暂存区

+

下一个主题

+

2.4. Git重置

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.3. Git对象

+

在上一章学习了Git的一个最重要的概念:暂存区(stage,亦称index)。暂存区是一个介于工作区和版本库的中间状态,当执行提交时实际上是将暂存区的内容提交到版本库中,而且Git很多命令都会涉及到暂存区的概念,例如:git diff命令。

+

但是上一章还是留下了很多疑惑,例如什么是HEAD?什么是master?为什么它们二者(在上一章)可以相互替换使用?为什么Git中的很多对象像提交、树、文件内容等都用40位的SHA1哈希值来表示?这一章的内容将会揭开这些奥秘,并且还会画出一个更为精确的版本库结构图。

+
+

2.3.1. Git对象库探秘

+

在前面刻意回避了对提交ID的说明,现在是时候来揭开由40位十六进制数字组成的“魔幻数字”的奥秘了。

+

通过查看日志的详尽输出,会惊讶的看到非常多的“魔幻数字”,这些“魔幻数字”实际上是SHA1哈希值。

+
$ git log -1 --pretty=raw
+commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
+parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+
+    which version checked in?
+
+
+

一个提交中居然包含了三个SHA1哈希值表示的对象ID。

+
    +
  • commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86

    +

    这是本次提交的唯一标识。

    +
  • +
  • tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9

    +

    这是本次提交所对应的目录树。

    +
  • +
  • parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6

    +

    这是本地提交的父提交(上一次提交)。

    +
  • +
+

研究Git对象ID的一个重量级武器就是git cat-file命令。用下面的命令可以查看一下这三个ID的类型。

+
$ git cat-file -t e695606
+commit
+$ git cat-file -t f58d
+tree
+$ git cat-file -t a0c6
+commit
+
+
+

在引用对象ID的时候,没有必要把整个40位ID写全,只需要从头开始的几位不冲突即可。

+

下面再用git cat-file命令查看一下这几个对象的内容。

+
    +
  • commit对象e695606fc5e31b2ff9038a48a3d363f4c21a3d86

    +
    $ git cat-file -p e695606
    +tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
    +parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
    +author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +
    +which version checked in?
    +
    +
    +
  • +
  • tree对象f58da9a820e3fd9d84ab2ca2f1b467ac265038f9

    +
    $ git cat-file -p f58da9a
    +100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42    welcome.txt
    +
    +
    +
  • +
  • commit对象a0c641e92b10d8bcca1ed1bf84ca80340fdefee6

    +
    $ git cat-file -p a0c641e
    +tree 190d840dd3d8fa319bdec6b8112b0957be7ee769
    +parent 9e8a761ff9dd343a1380032884f488a2422c495a
    +author Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
    +
    +who does commit?
    +
    +
    +
  • +
+

在上面目录树(tree)对象中看到了一个新的类型的对象:blob对象。这个对象保存着文件welcome.txt的内容。用git cat-file研究一下。

+
    +
  • 该对象的类型为blob。

    +
    $ git cat-file -t fd3c069c1de4f4bc9b15940f490aeb48852f3c42
    +blob
    +
    +
    +
  • +
  • 该对象的内容就是welcome.txt文件的内容。

    +
    $ git cat-file -p fd3c069c1de4f4bc9b15940f490aeb48852f3c42
    +Hello.
    +Nice to meet you.
    +
    +
    +
  • +
+

这些对象保存在哪里?当然是Git库中的objects目录下了(ID的前两位作为目录名,后38位作为文件名)。用下面的命令可以看到这些对象在对象库中的实际位置。

+
$ for id in e695606 f58da9a a0c641e fd3c069; do \
+  ls .git/objects/${id:0:2}/${id:2}*; done
+.git/objects/e6/95606fc5e31b2ff9038a48a3d363f4c21a3d86
+.git/objects/f5/8da9a820e3fd9d84ab2ca2f1b467ac265038f9
+.git/objects/a0/c641e92b10d8bcca1ed1bf84ca80340fdefee6
+.git/objects/fd/3c069c1de4f4bc9b15940f490aeb48852f3c42
+
+
+

下面的图示更加清楚的显示了Git对象库中各个对象之间的关系。

+
+
+../images/git-objects.png +
+
+

从上面的图示中很明显的看出提交(Commit)对象之间相互关联,通过相互之间的关联则很容易的识别出一条跟踪链。这条跟踪链可以在运行git log命令时,通过使用--graph参数看到。下面的命令还使用了--pretty=raw参数以便显示每个提交对象的parent属性。

+
$ git log --pretty=raw --graph e695606
+* commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+| tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
+| parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+| author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+| committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+|
+|     which version checked in?
+|
+* commit a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+| tree 190d840dd3d8fa319bdec6b8112b0957be7ee769
+| parent 9e8a761ff9dd343a1380032884f488a2422c495a
+| author Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
+| committer Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
+|
+|     who does commit?
+|
+* commit 9e8a761ff9dd343a1380032884f488a2422c495a
+  tree 190d840dd3d8fa319bdec6b8112b0957be7ee769
+  author Jiang Xin <jiangxin@ossxp.com> 1290919706 +0800
+  committer Jiang Xin <jiangxin@ossxp.com> 1290919706 +0800
+
+      initialized.
+
+
+

最后一个提交没有parent属性,所以跟踪链到此终结,这实际上就是提交的起点。

+

现在来看看HEAD和master的奥秘吧

+

因为在上一章的最后执行了git stash将工作区和暂存区的改动全部封存起来,所以执行下面的命令会看到工作区和暂存区中没有改动。

+
$ git status -s -b
+## master
+
+
+

说明:上面在显示工作区状态时,除了使用了-s参数以显示精简输出外,还使用了-b参数以便能够同时显示出当前工作分支的名称。这个-b参数是在Git 1.7.2以后加入的新的参数。

+

下面的git branch是分支管理的主要命令,也可以显示当前的工作分支。

+
$ git branch
+* master
+
+
+

在master分支名称前面出现一个星号表明这个分支是当前工作分支。至于为什么没有其他分支以及什么叫做分支,会在本书后面的章节揭晓。

+

现在连续执行下面的三个命令会看到相同的输出:

+
$ git log -1 HEAD
+commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Mon Nov 29 17:23:01 2010 +0800
+
+    which version checked in?
+$ git log -1 master
+commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Mon Nov 29 17:23:01 2010 +0800
+
+    which version checked in?
+$ git log -1 refs/heads/master
+commit e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Mon Nov 29 17:23:01 2010 +0800
+
+    which version checked in?
+
+
+

也就是说在当前版本库中,HEAD、master和refs/heads/master具有相同的指向。现在到版本库(.git目录)中一探它们的究竟。

+
$ find .git -name HEAD -o -name master
+.git/HEAD
+.git/logs/HEAD
+.git/logs/refs/heads/master
+.git/refs/heads/master
+
+
+

找到了四个文件,其中在.git/logs目录下的文件稍后再予以关注,现在把目光锁定在.git/HEAD.git/refs/heads/master上。

+

显示一下.git/HEAD的内容:

+
$ cat .git/HEAD
+ref: refs/heads/master
+
+
+

把HEAD的内容翻译过来就是:“指向一个引用:refs/heads/master”。这个引用在哪里?当然是文件.git/refs/heads/master了。

+

看看文件.git/refs/heads/master的内容。

+
$ cat .git/refs/heads/master
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+
+
+

显示的e695606...所指为何物?用git cat-file命令进行查看。

+
    +
  • 显示SHA1哈希值指代的数据类型。

    +
    $ git cat-file -t e695606
    +commit
    +
    +
    +
  • +
  • 显示该提交的内容。

    +
    $ git cat-file -p e695606fc5e31b2ff9038a48a3d363f4c21a3d86
    +tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
    +parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
    +author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +
    +which version checked in?
    +
    +
    +
  • +
+

原来分支master指向的是一个提交ID(最新提交)。这样的分支实现是多么的巧妙啊:既然可以从任何提交开始建立一条历史跟踪链,那么用一个文件指向这个链条的最新提交,那么这个文件就可以用于追踪整个提交历史了。这个文件就是.git/refs/heads/master文件。

+

下面看一个更接近于真实的版本库结构图:

+
+
+../images/git-repos-detail.png +
+
+

目录.git/refs是保存引用的命名空间,其中.git/refs/heads目录下的引用又称为分支。对于分支既可以使用正规的长格式的表示法,如refs/heads/master,也可以去掉前面的两级目录用master来表示。Git 有一个底层命令git rev-parse可以用于显示引用对应的提交ID。

+
$ git rev-parse master
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+$ git rev-parse refs/heads/master
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+$ git rev-parse HEAD
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+
+
+

可以看出它们都指向同一个对象。为什么这个对象是40位,而不是更少或者更多?这些ID是如何生成的呢?

+
+
+

2.3.2. 问题:SHA1哈希值到底是什么,如何生成的?

+

哈希(hash)是一种数据摘要算法(或称散列算法),是信息安全领域当中重要的理论基石。该算法将任意长度的输入经过散列运算转换为固定长度的输出。固定长度的输出可以称为对应的输入的数字摘要或哈希值。例如SHA1摘要算法可以处理从零到一千多万个TB的输入数据,输出为固定的160比特的数字摘要。两个不同内容的输入即使数据量非常大、差异非常小,两者的哈希值也会显著不同。比较著名的摘要算法有:MD5和SHA1。Linux下sha1sum命令可以用于生成摘要。

+
$ echo -n Git |sha1sum
+5819778898df55e3a762f0c5728b457970d72cae  -
+
+
+

可以看出字符串Git的SHA1哈希值为40个十六进制的数字组成。那么能不能找出另外一个字符串使其SHA1哈希值和上面的哈希值一样呢?下面看看难度有多大。

+

每个十六进制的数字用于表示一个4位的二进制数字,因此40位的SHA1哈希值的输出为实为160bit。拿双色球博彩打一个比喻,要想制造相同的SHA1哈希值就相当于要选出32个“红色球”,每个红球有1到32个(5位的二进制数字)选择,而且红球之间可以重复。相比“双色球博彩”总共只需选出7颗球,SHA1“中奖”的难度就相当于要连续购买五期“双色球”并且必须每一期都要中一等奖。当然由于算法上的问题,制造冲突(相同数字摘要)的几率没有那么小,但是已经足够小,能够满足Git对不同对象的进行区分和标识了。即使有一天像发现了类似MD5摘要算法漏洞那样,发现了SHA1算法存在人为制造冲突的可能,那么Git可以使用更为安全的SHA-256或者SHA-512的摘要算法。

+

可是Git中的各种对象:提交(commit)、文件内容(blob)、目录树(tree)等(还有Tag)对象对应的SHA1哈希值是如何生成的呢?下面就来展示一下。

+

提交的SHA1哈希值生成方法。

+
    +
  • 看看HEAD对应的提交的内容。使用git cat-file命令。

    +
    $ git cat-file commit HEAD
    +tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
    +parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
    +author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
    +
    +which version checked in?
    +
    +
    +
  • +
  • 提交信息中总共包含234个字符。

    +
    $ git cat-file commit HEAD | wc -c
    +234
    +
    +
    +
  • +
  • 在提交信息的前面加上内容commit 234<null>(<null>为空字符),然后执行SHA1哈希算法。

    +
    $ ( printf "commit 234\000"; git cat-file commit HEAD ) | sha1sum
    +e695606fc5e31b2ff9038a48a3d363f4c21a3d86  -
    +
    +
    +
  • +
  • 上面命令得到的哈希值和用git rev-parse看到的是一样的。

    +
    $ git rev-parse HEAD
    +e695606fc5e31b2ff9038a48a3d363f4c21a3d86
    +
    +
    +
  • +
+

下面看一看文件内容的SHA1哈希值生成方法。

+
    +
  • 看看版本库中welcome.txt的内容。使用git cat-file命令。

    +
    $ git cat-file blob HEAD:welcome.txt
    +Hello.
    +Nice to meet you.
    +
    +
    +
  • +
  • 文件总共包含25字节的内容。

    +
    $ git cat-file blob HEAD:welcome.txt | wc -c
    +25
    +
    +
    +
  • +
  • 在文件内容的前面加上blob 25<null>的内容,然后执行SHA1哈希算法。

    +
    $ ( printf "blob 25\000"; git cat-file blob HEAD:welcome.txt ) | sha1sum
    +fd3c069c1de4f4bc9b15940f490aeb48852f3c42  -
    +
    +
    +
  • +
  • 上面命令得到的哈希值和用git rev-parse看到的是一样的。

    +
    $ git rev-parse HEAD:welcome.txt
    +fd3c069c1de4f4bc9b15940f490aeb48852f3c42
    +
    +
    +
  • +
+

最后再来看看树的SHA1哈希值的形成方法。

+
    +
  • HEAD对应的树的内容共包含39个字节。

    +
    $ git cat-file tree HEAD^{tree} | wc -c
    +39
    +
    +
    +
  • +
  • 在树的内容的前面加上tree 39<null>的内容,然后执行SHA1哈希算法。

    +
    $ ( printf "tree 39\000"; git cat-file tree HEAD^{tree} ) | sha1sum
    +f58da9a820e3fd9d84ab2ca2f1b467ac265038f9  -
    +
    +
    +
  • +
  • 上面命令得到的哈希值和用git rev-parse看到的是一样的。

    +
    $ git rev-parse HEAD^{tree}
    +f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
    +
    +
    +
  • +
+

在后面学习里程碑(Tag)的时候,会看到Tag对象(轻量级Tag除外)也是采用类似方法在对象库中存储的。

+
+
+

2.3.3. 问题:为什么不用顺序的数字来表示提交?

+

到目前为止所进行的提交都是顺序提交,这可能让读者产生这么一个想法,为什么Git的提交不依据提交顺序对提交进行编号呢?可以把第一次提交定义为提交1,依次递增。尤其是对于拥有像Subversion等集中式版本控制系统使用经验的用户更会有这样的体会和想法。

+

集中式版本控制系统因为只有一个集中式的版本库,可以很容易的实现依次递增的全局唯一的提交号,像Subversion就是如此。Git作为分布式版本控制系统,开发可以是非线性的,每个人可以通过克隆版本库的方式工作在不同的本地版本库当中,在本地做的提交可以通过版本库之间的交互(推送/push和拉回/pull操作)而互相分发,如果提交采用本地唯一的数字编号,在提交分发的时候不可避免的造成冲突。这就要求提交的编号不能仅仅是本地局部有效,而是要“全球唯一”。Git的提交通过SHA1哈希值作为提交ID,的确做到了“全球唯一”。

+

Mercurial(Hg)是另外一个著名的分布式版本控制系统,它的提交ID非常有趣:同时使用了顺序的数字编号和“全球唯一”的SHA1哈希值。但实际上顺序的数字编号只是本地有效,对于克隆版本库来说没有意义,只有SHA1哈希值才是通用的编号。

+
$ hg log --limit 2
+修改集:      3009:2f1a3a7e8eb0
+标签:        tip
+用户:        Daniel Neuhäuser <dasdasich@gmail.com>
+日期:        Wed Dec 01 23:13:31 2010 +0100
+摘要:        "Fixed" the CombinedHTMLDiff test
+
+修改集:      3008:2fd3302ca7e5
+用户:        Daniel Neuhäuser <dasdasich@gmail.com>
+日期:        Wed Dec 01 22:54:54 2010 +0100
+摘要:        #559 Add `html_permalink_text` confval
+
+
+

Hg的设计使得本地使用版本库更为方便,但是要在Git中做类似实现却很难,这是因为Git相比Hg拥有真正的分支管理功能。在Git中会存在当前分支中看不到的其他分支的提交,如何进行提交编号的管理十分的复杂。

+

幸好Git提供很多方法可以方便的访问Git库中的对象。

+
    +
  • 采用部分的SHA1哈希值。不必写全40位的哈希值,只采用开头的部分,不和现有其他的冲突即可。

    +
  • +
  • 使用master代表分支master中最新的提交,使用全称refs/heads/master亦可。

    +
  • +
  • 使用HEAD代表版本库中最近的一次提交。

    +
  • +
  • 符号` ^可以用于指代父提交。例如:

    +
      +
    • HEAD^代表版本库中上一次提交,即最近一次提交的父提交。
    • +
    • HEAD^^则代表HEAD^的父提交。
    • +
    +
  • +
  • 对于一个提交有多个父提交,可以在符号^后面用数字表示是第几个父提交。例如:

    +
      +
    • a573106^2含义是提交a573106的多个父提交中的第二个父提交。
    • +
    • HEAD^1相当于HEAD^含义是HEAD多个父提交中的第一个。
    • +
    • HEAD^^2含义是HEAD^(HEAD父提交)的多个父提交中的第二个。
    • +
    +
  • +
  • 符号~<n>也可以用于指代祖先提交。下面两个表达式效果等同:

    +
    a573106~5
    +a573106^^^^^
    +
    +
    +
  • +
  • 提交所对应的树对象,可以用类似如下的语法访问。

    +
    a573106^{tree}
    +
    +
    +
  • +
  • 某一此提交对应的文件对象,可以用如下的语法访问。

    +
    a573106:path/to/file
    +
    +
    +
  • +
  • 暂存区中的文件对象,可以用如下的语法访问。

    +
    :path/to/file
    +
    +
    +
  • +
+

读者可以使用git rev-parse命令在本地版本库中练习一下:

+
$ git rev-parse HEAD
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+$ git cat-file -p e695
+tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
+parent a0c641e92b10d8bcca1ed1bf84ca80340fdefee6
+author Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+committer Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800
+
+which version checked in?
+$ git cat-file -p e695^
+tree 190d840dd3d8fa319bdec6b8112b0957be7ee769
+parent 9e8a761ff9dd343a1380032884f488a2422c495a
+author Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
+committer Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800
+
+who does commit?
+$ git rev-parse e695^{tree}
+f58da9a820e3fd9d84ab2ca2f1b467ac265038f9
+$ git rev-parse e695^^{tree}
+190d840dd3d8fa319bdec6b8112b0957be7ee769
+
+
+

在后面的介绍中,还会了解更多访问Git对象的技巧。例如使用tag和日期访问版本库对象。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/040-git-reset.html b/02-git-solo/040-git-reset.html new file mode 100644 index 000000000..f09de7d3b --- /dev/null +++ b/02-git-solo/040-git-reset.html @@ -0,0 +1,371 @@ + + + + + + + + + 2.4. Git重置 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.3. Git对象

+

下一个主题

+

2.5. Git检出

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.4. Git重置

+

在上一章了解了版本库中对象的存储方式以及分支master的实现。即master分支在版本库的引用目录(.git/refs)中体现为一个引用文件.git/refs/heads/master,其内容就是分支中最新提交的提交ID。

+
$ cat .git/refs/heads/master
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+
+
+

上一章还通过对提交本身数据结构的分析,看到提交可以通过到父提交的关联实现对提交历史的追溯。注意:下面的git log命令中使用了--oneline参数,类似于--pretty=oneline,但是可以显示更短小的提交ID。参数--oneline在Git 1.6.3 及以后版本提供,老版本的Git可以使用参数--pretty=oneline --abbrev-commit替代。

+
$ git log --graph --oneline
+* e695606 which version checked in?
+* a0c641e who does commit?
+* 9e8a761 initialized.
+
+
+

那么是不是有新的提交发生的时候,代表master分支的引用文件的内容会改变呢?代表master分支的引用文件的内容可以人为的改变么?本章就来探讨用git reset命令改变分支引用文件内容,即实现分支的重置。

+
+

2.4.1. 分支游标master的探秘

+

先来看看当有新的提交发生的时候,文件.git/refs/heads/master的内容如何改变。首先在工作区创建一个新文件,姑且叫做new-commit.txt,然后提交到版本库中。

+
$ touch new-commit.txt
+$ git add new-commit.txt
+$ git commit -m "does master follow this new commit?"
+[master 4902dc3] does master follow this new commit?
+ 0 files changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 new-commit.txt
+
+
+

此时工作目录下会有两个文件,其中文件new-commit.txt是新增的。

+
$ ls
+new-commit.txt  welcome.txt
+
+
+

来看看master分支指向的提交ID是否改变了。

+
    +
  • 先看看在版本库引用空间(.git/refs/目录)下的master文件内容的确更改了,指向了新的提交。

    +
    $ cat .git/refs/heads/master
    +4902dc375672fbf52a226e0354100b75d4fe31e3
    +
    +
    +
  • +
  • 再用git log查看一下提交日志,可以看到刚刚完成的提交。

    +
    $ git log --graph --oneline
    +* 4902dc3 does master follow this new commit?
    +* e695606 which version checked in?
    +* a0c641e who does commit?
    +* 9e8a761 initialized.
    +
    +
    +
  • +
+

引用refs/heads/master就好像是一个游标,在有新的提交发生的时候指向了新的提交。可是如果只可上、不可下,就不能称为“游标”。Git提供了git reset命令,可以将“游标”指向任意一个存在的提交ID。下面的示例就尝试人为的更改游标。(注意下面的命令中使用了--hard参数,会破坏工作区未提交的改动,慎用。)

+
$ git reset --hard HEAD^
+HEAD is now at e695606 which version checked in?
+
+
+

还记得上一章介绍的HEAD^代表了HEAD的父提交么?所以这条命令就相当于将master重置到上一个老的提交上。来看一下master文件的内容是否更改了。

+
$ cat .git/refs/heads/master
+e695606fc5e31b2ff9038a48a3d363f4c21a3d86
+
+
+

果然master分支的引用文件的指向更改为前一次提交的ID了。而且通过下面的命令可以看出新添加的文件new-commit.txt也丢失了。

+
$ ls
+welcome.txt
+
+
+

重置命令不仅仅可以重置到前一次提交,重置命令可以直接使用提交ID重置到任何一次提交。

+
    +
  • 通过git log查询到最早的提交ID。
  • +
+
$ git log --graph --oneline
+* e695606 which version checked in?
+* a0c641e who does commit?
+* 9e8a761 initialized.
+
+
+
    +
  • 然后重置到最早的一次提交。
  • +
+
$ git reset --hard 9e8a761
+HEAD is now at 9e8a761 initialized.
+
+
+
    +
  • 重置后会发现welcome.txt也回退到原始版本库,曾经的修改都丢失了。
  • +
+
$ cat welcome.txt
+Hello.
+
+
+

使用重置命令很危险,会彻底的丢弃历史。那么还能够通过浏览提交历史的办法找到丢弃的提交ID,再使用重置命令恢复历史么?不可能!因为重置让提交历史也改变了。

+
$ git log
+commit 9e8a761ff9dd343a1380032884f488a2422c495a
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Sun Nov 28 12:48:26 2010 +0800
+
+    initialized.
+
+
+
+
+

2.4.2. 用reflog挽救错误的重置

+

如果没有记下重置前master分支指向的提交ID,想要重置回原来的提交真的是一件麻烦的事情(去对象库中一个一个地找)。幸好Git提供了一个挽救机制,通过.git/logs目录下日志文件记录了分支的变更。默认非裸版本库(带有工作区)都提供分支日志功能,这是因为带有工作区的版本库都有如下设置:

+
$ git config core.logallrefupdates
+true
+
+
+

查看一下master分支的日志文件.git/logs/refs/heads/master中的内容。下面命令显示了该文件的最后几行。为了排版的需要,还将输出中的40位的SHA1提交ID缩短。

+
$ tail -5 .git/logs/refs/heads/master
+dca47ab a0c641e Jiang Xin <jiangxin@ossxp.com> 1290999606 +0800    commit (amend): who does commit?
+a0c641e e695606 Jiang Xin <jiangxin@ossxp.com> 1291022581 +0800    commit: which version checked in?
+e695606 4902dc3 Jiang Xin <jiangxin@ossxp.com> 1291435985 +0800    commit: does master follow this new commit?
+4902dc3 e695606 Jiang Xin <jiangxin@ossxp.com> 1291436302 +0800    HEAD^: updating HEAD
+e695606 9e8a761 Jiang Xin <jiangxin@ossxp.com> 1291436382 +0800    9e8a761: updating HEAD
+
+
+

可以看出这个文件记录了master分支指向的变迁,最新的改变追加到文件的末尾因此最后出现。最后一行可以看出因为执行了git reset –hard命令,指向的提交ID由e695606改变为9e8a761

+

Git提供了一个git reflog命令,对这个文件进行操作。使用show子命令可以显示此文件的内容。

+
$ git reflog show master | head -5
+9e8a761 master@{0}: 9e8a761: updating HEAD
+e695606 master@{1}: HEAD^: updating HEAD
+4902dc3 master@{2}: commit: does master follow this new commit?
+e695606 master@{3}: commit: which version checked in?
+a0c641e master@{4}: commit (amend): who does commit?
+
+
+

使用git reflog的输出和直接查看日志文件最大的不同在于显示顺序的不同,即最新改变放在了最前面显示,而且只显示每次改变的最终的SHA1哈希值。还有个重要的区别在于使用git reflog的输出中还提供一个方便易记的表达式:<refname>@{<n>}。这个表达式的含义是引用<refname>之前第<n>次改变时的SHA1哈希值。

+

那么将引用master切换到两次变更之前的值,可以使用下面的命令。

+
    +
  • 重置master为两次改变之前的值。

    +
    $ git reset --hard master@{2}
    +HEAD is now at 4902dc3 does master follow this new commit?
    +
    +
    +
  • +
  • 重置后工作区中文件new-commit.txt又回来了。

    +
    $ ls
    +new-commit.txt  welcome.txt
    +
    +
    +
  • +
  • 提交历史也回来了。

    +
    $ git log --oneline
    +4902dc3 does master follow this new commit?
    +e695606 which version checked in?
    +a0c641e who does commit?
    +9e8a761 initialized.
    +
    +
    +
  • +
+

此时如果再用git reflog查看,会看到恢复master的操作也记录在日志中了。

+
$ git reflog show master | head -5
+4902dc3 master@{0}: master@{2}: updating HEAD
+9e8a761 master@{1}: 9e8a761: updating HEAD
+e695606 master@{2}: HEAD^: updating HEAD
+4902dc3 master@{3}: commit: does master follow this new commit?
+e695606 master@{4}: commit: which version checked in?
+
+
+
+
+

2.4.3. 深入了解git reset命令

+

重置命令(git reset)是Git最常用的命令之一,也是最危险,最容易误用的命令。来看看git reset命令的用法。

+
用法一: git reset [-q] [<commit>] [--] <paths>...
+用法二: git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]
+
+
+

上面列出了两个用法,其中 <commit> 都是可选项,可以使用引用或者提交ID,如果省略 <commit> 则相当于使用了HEAD的指向作为提交ID。

+

上面列出的两种用法的区别在于,第一种用法在命令中包含路径<paths>。为了避免路径和引用(或者提交ID)同名而冲突,可以在<paths>前用两个连续的短线(减号)作为分隔。

+

第一种用法(包含了路径<paths>的用法)不会重置引用,更不会改变工作区,而是用指定提交状态(<commit>)下的文件(<paths>)替换掉暂存区中的文件。例如命令git reset HEAD <paths>相当于取消之前执行的git add <paths>命令时改变的暂存区。

+

第二种用法(不使用路径<paths>的用法)则会重置引用。根据不同的选项,可以对暂存区或者工作区进行重置。参照下面的版本库模型图,来看一看不同的参数对第二种重置语法的影响。

+
+
+../images/git-reset.png +
+
+

命令格式: git reset [–soft | –mixed | –hard ] [<commit>]

+
    +
  • 使用参数--hard,如:git reset –hard <commit>

    +

    会执行上图中的1、2、3全部的三个动作。即:

    +
      +
    1. 替换引用的指向。引用指向新的提交ID。
    2. +
    3. 替换暂存区。替换后,暂存区的内容和引用指向的目录树一致。
    4. +
    5. 替换工作区。替换后,工作区的内容变得和暂存区一致,也和HEAD所指向的目录树内容相同。
    6. +
    +
  • +
  • 使用参数--soft,如:git reset –soft <commit>

    +

    会执行上图中的操作1。即只更改引用的指向,不改变暂存区和工作区。

    +
  • +
  • 使用参数--mixed或者不使用参数(缺省即为--mixed),如:git reset <commit>

    +

    会执行上图中的操作1和操作2。即更改引用的指向以及重置暂存区,但是不改变工作区。

    +
  • +
+

下面通过一些示例,看一下重置命令的不同用法。

+
    +
  • 命令:git reset

    +

    仅用HEAD指向的目录树重置暂存区,工作区不会受到影响,相当于将之前用git add命令更新到暂存区的内容撤出暂存区。引用也未改变,因为引用重置到HEAD相当于没有重置。

    +
  • +
  • 命令:git reset HEAD

    +

    同上。

    +
  • +
  • 命令:git reset – filename

    +

    仅将文件filename撤出暂存区,暂存区中其他文件不改变。相当于对命令git add filename的反向操作。

    +
  • +
  • 命令:git reset HEAD filename

    +

    同上。

    +
  • +
  • 命令:git reset –soft HEAD^

    +

    工作区和暂存区不改变,但是引用向前回退一次。当对最新提交的提交说明或者提交的更改不满意时,撤销最新的提交以便重新提交。

    +

    在之前曾经介绍过一个修补提交命令git commit –amend,用于对最新的提交进行重新提交以修补错误的提交说明或者错误的提交文件。修补提交命令实际上相当于执行了下面两条命令。(注:文件.git/COMMIT_EDITMSG保存了上次的提交日志)

    +
    $ git reset --soft HEAD^
    +$ git commit -e -F .git/COMMIT_EDITMSG
    +
    +
    +
  • +
  • 命令:git reset HEAD^

    +

    工作区不改变,但是暂存区会回退到上一次提交之前,引用也会回退一次。

    +
  • +
  • 命令:git reset –mixed HEAD^

    +

    同上。

    +
  • +
  • 命令:git reset –hard HEAD^

    +

    彻底撤销最近的提交。引用回退到前一次,而且工作区和暂存区都会回退到上一次提交的状态。自上一次以来的提交全部丢失。

    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/050-git-checkout.html b/02-git-solo/050-git-checkout.html new file mode 100644 index 000000000..371cb4f4e --- /dev/null +++ b/02-git-solo/050-git-checkout.html @@ -0,0 +1,395 @@ + + + + + + + + + 2.5. Git检出 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.4. Git重置

+

下一个主题

+

2.6. 恢复进度

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.5. Git检出

+

在上一章学习了重置命令(git reset)。重置命令的一个用途就是修改引用(如master)的游标。实际上在执行重置命令的时候没有使用任何参数对所要重置的分支名进行设置,这是因为重置命名实际上所针对的是头指针HEAD。之所以没有改变HEAD的内容是因为HEAD指向了一个引用refs/heads/master,所以重置命令体现为分支“游标”的变更,HEAD本身一直指向的是refs/heads/master,并没有在重置时改变。

+

如果HEAD的内容不能改变而一直都指向master分支,那么Git如此精妙的分支设计岂不浪费?如果HEAD要改变该如何改变呢?本章将学习检出命令(git checkout),该命令的实质就是修改HEAD本身的指向,该命令不会影响分支“游标”(如master)。

+ +
+

2.5.2. 挽救分离头指针

+

在“分离头指针”模式下进行的测试提交除了使用提交ID(acc2f69)访问之外,不能通过master分支或其他引用访问到。如果这个提交是master分支所需要的,那么该如何处理呢?如果使用上一章介绍的git reset命令,的确可以将master分支重置到该测试提交acc2f69,但是如果那样就会丢掉master分支原先的提交4902dc3。使用合并操作(git merge)可以实现两者的兼顾。

+

下面的操作会将提交acc2f69合并到master分支中来。

+
    +
  • 确认当前处于master分支。

    +
    $ git branch -v
    +* master 4902dc3 does master follow this new commit?
    +
    +
    +
  • +
  • 执行合并操作,将acc2f69提交合并到当前分支。

    +
    $ git merge acc2f69
    +Merge made by recursive.
    + 0 files changed, 0 insertions(+), 0 deletions(-)
    + create mode 100644 detached-commit.txt
    +
    +
    +
  • +
  • 工作区中多了一个detached-commit.txt文件。

    +
    $ ls
    +detached-commit.txt  new-commit.txt  welcome.txt
    +
    +
    +
  • +
  • 查看日志,会看到不一样的分支图。即在e695606提交开始出现了开发分支,而分支在最新的2b31c19提交发生了合并。

    +
    $ git log --graph --pretty=oneline
    +*   2b31c199d5b81099d2ecd91619027ab63e8974ef Merge commit 'acc2f69'
    +|\
    +| * acc2f69cf6f0ae346732382c819080df75bb2191 commit in detached HEAD mode.
    +* | 4902dc375672fbf52a226e0354100b75d4fe31e3 does master follow this new commit?
    +|/
    +* e695606fc5e31b2ff9038a48a3d363f4c21a3d86 which version checked in?
    +* a0c641e92b10d8bcca1ed1bf84ca80340fdefee6 who does commit?
    +* 9e8a761ff9dd343a1380032884f488a2422c495a initialized.
    +
    +
    +
  • +
  • 仔细看看最新提交,会看到这个提交有两个父提交。这就是合并的奥秘。

    +
    $ git cat-file -p HEAD
    +tree ab676f92936000457b01507e04f4058e855d4df0
    +parent 4902dc375672fbf52a226e0354100b75d4fe31e3
    +parent acc2f69cf6f0ae346732382c819080df75bb2191
    +author Jiang Xin <jiangxin@ossxp.com> 1291535485 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291535485 +0800
    +
    +Merge commit 'acc2f69'
    +
    +
    +
  • +
+
+
+

2.5.3. 深入了解git checkout命令

+

检出命令(git checkout)是Git最常用的命令之一,同样也很危险,因为这条命令会重写工作区。

+
用法一: git checkout [-q] [<commit>] [--] <paths>...
+用法二: git checkout [<branch>]
+用法三: git checkout [-m] [[-b|--orphan] <new_branch>] [<start_point>]
+
+
+

上面列出的第一种用法和第二种用法的区别在于,第一种用法在命令中包含路径<paths>。为了避免路径和引用(或者提交ID)同名而冲突,可以在<paths>前用两个连续的短线(减号)作为分隔。

+

第一种用法的<commit>是可选项,如果省略则相当于从暂存区(index)进行检出。这和上一章的重置命令大不相同:重置的默认值是 HEAD,而检出的默认值是暂存区。因此重置一般用于重置暂存区(除非使用--hard参数,否则不重置工作区),而检出命令主要是覆盖工作区(如果<commit>不省略,也会替换暂存区中相应的文件)。

+

第一种用法(包含了路径<paths>的用法)不会改变HEAD头指针,主要是用于指定版本的文件覆盖工作区中对应的文件。如果省略<commit>,会拿暂存区的文件覆盖工作区的文件,否则用指定提交中的文件覆盖暂存区和工作区中对应的文件。

+

第二种用法(不使用路径<paths>的用法)则会改变HEAD头指针。之所以后面的参数写作<branch>,是因为只有HEAD切换到一个分支才可以对提交进行跟踪,否则仍然会进入“分离头指针”的状态。在“分离头指针”状态下的提交不能被引用关联到而可能会丢失。所以用法二最主要的作用就是切换到分支。如果省略<branch>则相当于对工作区进行状态检查。

+

第三种用法主要是创建和切换到新的分支(<new_branch>),新的分支从<start_point>指定的提交开始创建。新分支和我们熟悉的master分支没有什么实质的不同,都是在refs/heads命名空间下的引用。关于分支和git checkout命令的这个用法会在后面的章节做具体的介绍。

+

下面的版本库模型图描述了git checkout实际完成的操作。

+
+
+../images/git-checkout.png +
+
+

下面通过一些示例,具体的看一下检出命令的不同用法。

+
    +
  • 命令:git checkout branch

    +

    检出branch分支。要完成如图的三个步骤,更新HEAD以指向branch分支,以branch指向的树更新暂存区和工作区。

    +
  • +
  • 命令:git checkout

    +

    汇总显示工作区、暂存区与HEAD的差异。

    +
  • +
  • 命令:git checkout HEAD

    +

    同上。

    +
  • +
  • 命令:git checkout – filename

    +

    用暂存区中filename文件来覆盖工作区中的filename文件。相当于取消自上次执行git add filename以来(如果执行过)本地的修改。

    +

    这个命令很危险,因为对于本地的修改会悄无声息的覆盖,毫不留情。

    +
  • +
  • 命令:git checkout branch – filename

    +

    维持HEAD的指向不变。将branch所指向的提交中的filename替换暂存区和工作区中相应的文件。注意会将暂存区和工作区中的filename文件直接覆盖。

    +
  • +
  • 命令:git checkout – . 或写做 git checkout .

    +

    注意:git checkout命令后的参数为一个点(“.”)。这条命令最危险!会取消所有本地的修改(相对于暂存区)。相当于将暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/060-git-stage-n-stash.html b/02-git-solo/060-git-stage-n-stash.html new file mode 100644 index 000000000..390331891 --- /dev/null +++ b/02-git-solo/060-git-stage-n-stash.html @@ -0,0 +1,585 @@ + + + + + + + + + 2.6. 恢复进度 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.5. Git检出

+

下一个主题

+

2.7. Git基本操作

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.6. 恢复进度

+

在之前“Git暂存区”一章的结尾,曾经以终结者(The Terminator)的口吻说:“我会再回来”,会继续对暂存区的探索。经过了前面三章对Git对象、重置命令、检出命令的探索,现在已经拥有了足够多的武器,是时候“回归”了。

+

本章“回归”之后,再看Git状态输出中关于git reset或者git checkout的指示,有了前面几章的基础已经会觉得很亲切和易如反掌了。本章还会重点介绍“回归”使用的git stash命令。

+
+

2.6.1. 继续暂存区未完成的实践

+

经过了前面的实践,现在DEMO版本库应该处于master分支上,看看是不是这样。

+
$ cd /path/to/my/workspace/demo
+$ git status -sb       # Git 1.7.2 及以上版本才支持 -b 参数哦
+## master
+$ git log --graph --pretty=oneline --stat
+*   2b31c199d5b81099d2ecd91619027ab63e8974ef Merge commit 'acc2f69'
+|\
+| * acc2f69cf6f0ae346732382c819080df75bb2191 commit in detached HEAD mode.
+| |  0 files changed, 0 insertions(+), 0 deletions(-)
+* | 4902dc375672fbf52a226e0354100b75d4fe31e3 does master follow this new commit?
+|/
+|    0 files changed, 0 insertions(+), 0 deletions(-)
+* e695606fc5e31b2ff9038a48a3d363f4c21a3d86 which version checked in?
+|  welcome.txt |    1 +
+|  1 files changed, 1 insertions(+), 0 deletions(-)
+* a0c641e92b10d8bcca1ed1bf84ca80340fdefee6 who does commit?
+* 9e8a761ff9dd343a1380032884f488a2422c495a initialized.
+   welcome.txt |    1 +
+   1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

还记得在之前“Git暂存区”一章的结尾,是如何保存进度的么?翻回去看一下,用的是git stash命令。这个命令用于保存当前进度,也是恢复进度要用的命令。

+

查看保存的进度用命令git stash list

+
$ git stash list
+stash@{0}: WIP on master: e695606 which version checked in?
+
+
+

现在就来恢复进度。使用git stash pop从最近保存的进度进行恢复。

+
$ git stash pop
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   a/b/c/hello.txt
+#
+# 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:   welcome.txt
+#
+Dropped refs/stash@{0} (c1bd56e2565abd64a0d63450fe42aba23b673cf3)
+
+
+

先不要管git stash pop命令的输出,后面会专题介绍git stash命令。通过查看工作区的状态,可以发现进度已经找回了(状态和进度保存前稍有不同)。

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   a/b/c/hello.txt
+#
+# 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:   welcome.txt
+#
+
+
+

此时再看Git状态输出,是否别有一番感觉呢?有了前面三章的基础,现在可以游刃有余的应对各种情况了。

+
    +
  • 以当前暂存区状态进行提交,即只提交a/b/c/hello.txt,不提交welcome.txt

    +
      +
    • 执行提交:

      +
      $ git commit -m "add new file: a/b/c/hello.txt, but leave welcome.txt alone."
      +[master 6610d05] add new file: a/b/c/hello.txt, but leave welcome.txt alone.
      + 1 files changed, 2 insertions(+), 0 deletions(-)
      + create mode 100644 a/b/c/hello.txt
      +
      +
      +
    • +
    • 查看提交后的状态:

      +
      $ git status -s
      + M welcome.txt
      +
      +
      +
    • +
    +
  • +
  • 反悔了,回到之前的状态。

    +
      +
    • 用重置命令放弃最新的提交:

      +
      $ git reset --soft HEAD^
      +
      +
      +
    • +
    • 查看最新的提交日志,可以看到前面的提交被抛弃了。

      +
      $ git log -1 --pretty=oneline
      +2b31c199d5b81099d2ecd91619027ab63e8974ef Merge commit 'acc2f69'
      +
      +
      +
    • +
    • 工作区和暂存区的状态也都维持原来的状态。

      +
      $ git status -s
      +A  a/b/c/hello.txt
      + M welcome.txt
      +
      +
      +
    • +
    +
  • +
  • 想将welcome.txt提交。

    +

    再简单不过了。

    +
    $ git add welcome.txt
    +$ git status -s
    +A  a/b/c/hello.txt
    +M  welcome.txt
    +
    +
    +
  • +
  • 想将a/b/c/hello.txt撤出暂存区。

    +

    也是用重置命令。

    +
    $ git reset HEAD a/b/c
    +$ git status -s
    +M  welcome.txt
    +?? a/
    +
    +
    +
  • +
  • 想将剩下的文件(welcome.txt)从暂存区撤出,就是说不想提交任何东西了。

    +

    还是使用重置命令,甚至可以不使用任何参数。

    +
    $ git reset
    +Unstaged changes after reset:
    +M       welcome.txt
    +
    +
    +
  • +
  • 想将本地工作区所有的修改清除。即清除welcome.txt的改动,删除添加的目录a即下面的子目录和文件。

    +
      +
    • 清除welcome.txt的改动用检出命令。

      +

      实际对于此例执行git checkout .也可以。

      +
      $ git checkout -- welcome.txt
      +
      +
      +
    • +
    • 工作区显示还有一个多余的目录a

      +
      $ git status
      +# On branch master
      +# Untracked files:
      +#   (use "git add <file>..." to include in what will be committed)
      +#
      +#       a/
      +
      +
      +
    • +
    • 删除本地多余的目录和文件,可以使用git clean命令。先来测试运行以便看看哪些文件和目录会被删除,以免造成误删。

      +
      $ git clean -nd
      +Would remove a/
      +
      +
      +
    • +
    • 真正开始强制删除多余的目录和文件。

      +
      $ git clean -fd
      +Removing a/
      +
      +
      +
    • +
    • 整个世界清净了。

      +
      $ git status -s
      +
      +
      +
    • +
    +
  • +
+
+
+

2.6.2. 使用git stash

+

命令git stash可以用于保存和恢复工作进度,掌握这个命令对于日常的工作会有很大的帮助。关于这个命令的最主要的用法实际上通过前面的演示已经了解了。

+
    +
  • 命令:git stash

    +

    保存当前工作进度。会分别对暂存区和工作区的状态进行保存。

    +
  • +
  • 命令:git stash list

    +

    显示进度列表。此命令显然暗示了git stash可以多次保存工作进度,并且在恢复的时候进行选择。

    +
  • +
  • 命令:git stash pop [–index] [<stash>]

    +

    如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除。

    +

    如果提供<stash>参数(来自于git stash list显示的列表),则从该<stash>中恢复。恢复完毕也将从进度列表中删除<stash>

    +

    选项--index除了恢复工作区的文件外,还尝试恢复暂存区。这也就是为什么在本章一开始恢复进度的时候显示的状态和保存进度前略有不同。

    +
  • +
+

实际上还有几个用法也很有用。

+
    +
  • 命令:git stash [save [–patch] [-k|–[no-]keep-index] [-q|–quiet] [<message>]]

    +
      +
    • 这条命令实际上是第一条git stash命令的完整版。即如果需要在保存工作进度的时候使用指定的说明,必须使用如下格式:

      +
      git stash save "message..."
      +
      +
      +
    • +
    • 使用参数--patch会显示工作区和HEAD的差异,通过对差异文件的编辑决定在进度中最终要保存的工作区的内容,通过编辑差异文件可以在进度中排除无关内容。

      +
    • +
    • 使用-k或者--keep-index参数,在保存进度后不会将暂存区重置。缺省会将暂存区和工作区强制重置。

      +
    • +
    +
  • +
  • 命令:git stash apply [–index] [<stash>]

    +

    除了不删除恢复的进度之外,其余和git stash pop命令一样。

    +
  • +
  • 命令:git stash drop [<stash>]

    +

    删除一个存储的进度。缺省删除最新的进度。

    +
  • +
  • 命令:git stash clear

    +

    删除所有存储的进度。

    +
  • +
  • 命令:git stash branch <branchname> <stash>

    +

    基于进度创建分支。对了,还没有讲到分支呢。;)

    +
  • +
+
+
+

2.6.3. 探秘git stash

+

了解一下git stash的机理会有几个好处:当保存了多个进度的时候知道从哪个进度恢复;综合运用前面介绍的Git知识点;了解Git的源码,Git将不再神秘。

+

在执行git stash命令时,Git实际调用了一个脚本文件实现相关的功能,这个脚本的文件名就是git-stash。看看git-stash安装在哪里了。

+
$ git --exec-path
+/usr/lib/git-core
+
+
+

如果检查一下这个目录,会震惊的。

+
$ ls /usr/lib/git-core/
+git                    git-help                 git-reflog
+git-add                git-http-backend         git-relink
+git-add--interactive   git-http-fetch           git-remote
+git-am                 git-http-push            git-remote-ftp
+git-annotate           git-imap-send            git-remote-ftps
+git-apply              git-index-pack           git-remote-http
+..................
+... 省略40余行 ...
+..................
+
+
+

实际上在1.5.4之前的版本,Git会安装这些一百多个以git-<cmd>格式命名的程序到可执行路径中。这样做的唯一好处就是不用借助任何扩展机制就可以实现命令行补齐:即键入git-后,连续两次键入<Tab>键,就可以把这一百多个命令显示出来。这种方式随着Git子命令的增加越来越显得混乱,因此在1.5.4版本开始,不再提供git-<cmd>格式的命令,而是用唯一的git命令。而之前的名为git-<cmd>的子命令则保存在非可执行目录下,由Git负责加载。

+

在后面的章节中偶尔会看到形如git-<cmd>字样的名称,以及同时存在的git <cmd>命令。可以这样理解:git-<cmd>作为软件本身的名称,而其命令行为git <cmd>

+

最早很多Git命令都是用Shell或者Perl脚本语言开发的,在Git的发展中一些对运行效率要求高的命令用C语言改写。而git-stash(至少在Git 1.7.3.2版本)还是使用Shell脚本开发的,研究它会比研究用C写的命令要简单的多。

+
$ file /usr/lib/git-core/git-stash
+/usr/lib/git-core/git-stash: POSIX shell script text executable
+
+
+

解析git-stash脚本会比较枯燥,还是通过运行一些示例更好一些。

+

当前的进度保存列表是空的。

+
$ git stash list
+
+
+

下面在工作区中做一些改动。

+
$ echo Bye-Bye. >> welcome.txt
+$ echo hello. > hack-1.txt
+$ git add hack-1.txt
+$ git status -s
+A  hack-1.txt
+ M welcome.txt
+
+
+

可见暂存区中已经添加了新增的hack-1.txt,修改过的welcome.txt并未添加到暂存区。执行git stash保存一下工作进度。

+
$ git stash save "hack-1: hacked welcome.txt, newfile hack-1.txt"
+Saved working directory and index state On master: hack-1: hacked welcome.txt, newfile hack-1.txt
+HEAD is now at 2b31c19 Merge commit 'acc2f69'
+
+
+

再来看工作区恢复了修改前的原貌(实际上用了 git reset –hard HEAD 命令),文件welcome.txt的修改不见了,文件hack-1.txt整个都不见了。

+
$ git status -s
+$ ls
+detached-commit.txt  new-commit.txt  welcome.txt
+
+
+

再做一个修改,并尝试保存进度。

+
$ echo fix. > hack-2.txt
+$ git stash
+No local changes to save
+
+
+

进度保存失败!可见本地没有被版本控制系统跟踪的文件并不能保存进度。因此本地新文件需要执行添加再执行git stash命令。

+
$ git add hack-2.txt
+$ git stash
+Saved working directory and index state WIP on master: 2b31c19 Merge commit 'acc2f69'
+HEAD is now at 2b31c19 Merge commit 'acc2f69'
+
+
+

不用看就知道工作区再次恢复原状。如果这时执行git stash list会看到有两次进度保存。

+
$ git stash list
+stash@{0}: WIP on master: 2b31c19 Merge commit 'acc2f69'
+stash@{1}: On master: hack-1: hacked welcome.txt, newfile hack-1.txt
+
+
+

从上面的输出可以得出两个结论:

+
    +
  • 在用git stash命令保存进度时,提供说明更容易找到对应的进度文件。
  • +
  • 每个进度的标识都是stash@{<n>}格式,像极了前面介绍的reflog的格式。
  • +
+

实际上,git stash的就是用到了前面介绍的引用和引用变更日志(reflog)来实现的。

+
$ ls -l .git/refs/stash .git/logs/refs/stash
+-rw-r--r-- 1 jiangxin jiangxin 364 Dec  6 16:11 .git/logs/refs/stash
+-rw-r--r-- 1 jiangxin jiangxin  41 Dec  6 16:11 .git/refs/stash
+
+
+

那么在“Git重置”一章中学习的reflog可以派上用场了。

+
$ git reflog show refs/stash
+e5c0cdc refs/stash@{0}: WIP on master: 2b31c19 Merge commit 'acc2f69'
+6cec9db refs/stash@{1}: On master: hack-1: hacked welcome.txt, newfile hack-1.txt
+
+
+

对照git reflog的结果和前面git stash list的结果,可以肯定用git stash保存进度,实际上会将进度保存在引用refs/stash所指向的提交中。多次的进度保存,实际上相当于引用refs/stash一次又一次的变化,而refs/stash引用的变化由reflog(即.git/logs/refs/stash)所记录下来。这个实现是多么的简单而巧妙啊。

+

新的一个疑问又出现了,如何在引用refs/stash中同时保存暂存区的进度和工作区中的进度呢?查看一下引用refs/stash的提交历史能够看出端倪。

+
$ git log --graph --pretty=raw  refs/stash -2
+*   commit e5c0cdc2dedc3e50e6b72a683d928e19a1d9de48
+|\  tree 780c22449b7ff67e2820e09a6332c360ddc80578
+| | parent 2b31c199d5b81099d2ecd91619027ab63e8974ef
+| | parent c5edbdcc90addb06577ff60f644acd1542369194
+| | author Jiang Xin <jiangxin@ossxp.com> 1291623066 +0800
+| | committer Jiang Xin <jiangxin@ossxp.com> 1291623066 +0800
+| |
+| |     WIP on master: 2b31c19 Merge commit 'acc2f69'
+| |
+| * commit c5edbdcc90addb06577ff60f644acd1542369194
+|/  tree 780c22449b7ff67e2820e09a6332c360ddc80578
+|   parent 2b31c199d5b81099d2ecd91619027ab63e8974ef
+|   author Jiang Xin <jiangxin@ossxp.com> 1291623066 +0800
+|   committer Jiang Xin <jiangxin@ossxp.com> 1291623066 +0800
+|
+|       index on master: 2b31c19 Merge commit 'acc2f69'
+
+
+

可以看到在提交关系图可以看到进度保存的最新提交是一个合并提交。最新的提交说明中有WIP字样(是Work In Progess的简称),说明代表了工作区进度。而最新提交的第二个父提交(上图中显示为第二个提交)有index on master字样,说明这个提交代表着暂存区的进度。

+

但是上图中的两个提交都指向了同一个树——tree ``780c224``...,这是因为最后一次做进度保存时工作区相对暂存区没有改变,这让关于工作区和暂存区在引用refs/stash中的存储变得有些扑朔迷离。别忘了第一次进度保存工作区、暂存区和版本库都是不同的,可以用于验证关于refs/stash实现机制的判断。

+

第一次进度保存可以用reflog中的语法,即用refs/stash@{1}来访问,也可以用简称stash@{1}。下面就用第一次的进度保存来研究一下。

+
$ git log --graph --pretty=raw  stash@{1} -3
+*   commit 6cec9db44af38d01abe7b5025a5190c56fd0cf49
+|\  tree 7250f186c6aa3e2d1456d7fa915e529601f21d71
+| | parent 2b31c199d5b81099d2ecd91619027ab63e8974ef
+| | parent 4560d76c19112868a6a5692bf9379de09c0452b7
+| | author Jiang Xin <jiangxin@ossxp.com> 1291622767 +0800
+| | committer Jiang Xin <jiangxin@ossxp.com> 1291622767 +0800
+| |
+| |     On master: hack-1: hacked welcome.txt, newfile hack-1.txt
+| |
+| * commit 4560d76c19112868a6a5692bf9379de09c0452b7
+|/  tree 5d4dd328187e119448c9171f99cf2e507e91a6c6
+|   parent 2b31c199d5b81099d2ecd91619027ab63e8974ef
+|   author Jiang Xin <jiangxin@ossxp.com> 1291622767 +0800
+|   committer Jiang Xin <jiangxin@ossxp.com> 1291622767 +0800
+|
+|       index on master: 2b31c19 Merge commit 'acc2f69'
+|
+*   commit 2b31c199d5b81099d2ecd91619027ab63e8974ef
+|\  tree ab676f92936000457b01507e04f4058e855d4df0
+| | parent 4902dc375672fbf52a226e0354100b75d4fe31e3
+| | parent acc2f69cf6f0ae346732382c819080df75bb2191
+| | author Jiang Xin <jiangxin@ossxp.com> 1291535485 +0800
+| | committer Jiang Xin <jiangxin@ossxp.com> 1291535485 +0800
+| |
+| |     Merge commit 'acc2f69'
+
+
+

果然上面显示的三个提交对应的三棵树各不相同。查看一下差异。用“原基线”代表进度保存时版本库的状态,即提交2b31c199;用“原暂存区”代表进度保存时暂存区的状态,即提交4560d76;用“原工作区”代表进度保存时工作区的状态,即提交6cec9db

+
    +
  • 原基线和原暂存区的差异比较。

    +
    $ git diff stash@{1}^2^ stash@{1}^2
    +diff --git a/hack-1.txt b/hack-1.txt
    +new file mode 100644
    +index 0000000..25735f5
    +--- /dev/null
    ++++ b/hack-1.txt
    +@@ -0,0 +1 @@
    ++hello.
    +
    +
    +
  • +
  • 原暂存区和原工作区的差异比较。

    +
    $ git diff stash@{1}^2 stash@{1}
    +diff --git a/welcome.txt b/welcome.txt
    +index fd3c069..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1,2 +1,3 @@
    + Hello.
    + Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
  • 原基线和原工作区的差异比较。

    +
    $ git diff stash@{1}^1 stash@{1}
    +diff --git a/hack-1.txt b/hack-1.txt
    +new file mode 100644
    +index 0000000..25735f5
    +--- /dev/null
    ++++ b/hack-1.txt
    +@@ -0,0 +1 @@
    ++hello.
    +diff --git a/welcome.txt b/welcome.txt
    +index fd3c069..51dbfd2 100644
    +--- a/welcome.txt
    ++++ b/welcome.txt
    +@@ -1,2 +1,3 @@
    + Hello.
    + Nice to meet you.
    ++Bye-Bye.
    +
    +
    +
  • +
+

stash@{1}来恢复进度。

+
$ git stash apply stash@{1}
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   hack-1.txt
+#
+# 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:   welcome.txt
+#
+
+
+

显示进度列表,然后删除进度列表。

+
$ git stash list
+stash@{0}: WIP on master: 2b31c19 Merge commit 'acc2f69'
+stash@{1}: On master: hack-1: hacked welcome.txt, newfile hack-1.txt
+$ git stash clear
+
+
+

删除进度列表之后,会发现stash相关的引用和reflog也都不见了。

+
$ ls -l .git/refs/stash .git/logs/refs/stash
+ls: cannot access .git/refs/stash: No such file or directory
+ls: cannot access .git/logs/refs/stash: No such file or directory
+
+
+

通过上面的这些分析,有一定Shell编程基础的读者就可以尝试研究git-stash的代码了,可能会有新的发现。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/070-git-basic.html b/02-git-solo/070-git-basic.html new file mode 100644 index 000000000..0201420d7 --- /dev/null +++ b/02-git-solo/070-git-basic.html @@ -0,0 +1,877 @@ + + + + + + + + + 2.7. Git基本操作 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

2.7. Git基本操作

+

之前的实践选取的示例都非常简单,基本上都是增加和修改文本文件,而现实情况要复杂的多,需要应对各种情况:文件删除,文件复制,文件移动,目录的组织,二进制文件,误删文件的恢复等等。

+

本章要用一个更为真实的例子:通过对Hello World程序源代码的版本控制,来介绍工作区中其他的一些常用操作。首先会删除之前历次实践在版本库中留下的“垃圾”数据,然后再在其中创建一些真实的代码,并对其进行版本控制。

+
+

2.7.1. 先来合个影

+

马上就要和之前实践遗留的数据告别了,告别之前是不是要留个影呢?在Git里,“留影”用的命令叫做tag,更加专业的术语叫做“里程碑”(打tag,或打标签)。

+
$ cd /path/to/my/workspace/demo
+$ git tag -m "Say bye-bye to all previous practice." old_practice
+
+
+

在本章还不打算详细介绍里程碑的奥秘,只要知道里程碑无非也是一个引用,通过记录提交ID(或者创建Tag对象)来为当前版本库状态进行“留影”。

+
$ ls .git/refs/tags/old_practice
+.git/refs/tags/old_practice
+
+$ git rev-parse refs/tags/old_practice
+41bd4e2cce0f8baa9bb4cdda62927b408c846cd6
+
+
+

留过影之后,可以执行git describe命令显示当前版本库的最新提交的版本号。显示的时候会选取离该提交最近的里程碑作为“基础版本号”,后面附加标识距离“基础版本”的数字以及该提交的SHA1哈希值缩写。因为最新的提交上恰好被打了一个“里程碑”,所以用“里程碑”的名字显示为版本号。这个技术在后面的示例代码中被使用。

+
$ git describe
+old_practice
+
+
+
+
+

2.7.2. 删除文件

+

看看版本库当前的状态,暂存区和工作区都包含修改。

+
$ git status -s
+A  hack-1.txt
+ M welcome.txt
+
+
+

在这个暂存区和工作区都包含文件修改的情况下,使用删除命令更具有挑战性。删除命令有多种使用方法,有的方法很巧妙,而有的方法需要更多的输入。为了分别介绍不同的删除方法,还要使用上一章介绍的进度保存(git-stash)命令。

+
    +
  • 保存进度。

    +
    $ git stash
    +Saved working directory and index state WIP on master: 2b31c19 Merge commit 'acc2f69'
    +HEAD is now at 2b31c19 Merge commit 'acc2f69'
    +
    +
    +
  • +
  • 再恢复进度。注意不要使用git stash pop,而是使用git stash apply,因为这个保存的进度要被多次用到。

    +
    $ git stash apply
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       new file:   hack-1.txt
    +#
    +# Changed but not updated:
    +#   (use "git add <file>..." to update what will be committed)
    +#   (use "git checkout -- <file>..." to discard changes in working directory)
    +#
    +#       modified:   welcome.txt
    +#
    +
    +
    +
  • +
+
+

2.7.2.1. 本地删除不是真的删除

+

当前工作区的文件有:

+
$ ls
+detached-commit.txt
+hack-1.txt
+new-commit.txt
+welcome.txt
+
+
+

直接在工作区删除这些文件,会如何呢?

+
$ rm *.txt
+
+
+

通过下面的命令,可以看到在暂存区(版本库)中文件仍在,并未删除。

+
$ git ls-files
+detached-commit.txt
+hack-1.txt
+new-commit.txt
+welcome.txt
+
+
+

通过文件的状态来看,文件只是在本地进行了删除,尚未加到暂存区(提交任务)中。也就是说:直接在工作区删除,对暂存区和版本库没有任何影响

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   hack-1.txt
+#
+# Changed but not updated:
+#   (use "git add/rm <file>..." to update what will be committed)
+#   (use "git checkout -- <file>..." to discard changes in working directory)
+#
+#       deleted:    detached-commit.txt
+#       deleted:    hack-1.txt
+#       deleted:    new-commit.txt
+#       deleted:    welcome.txt
+#
+
+
+

从Git状态输出可以看出,本地删除如果要反映在暂存区中应该用git rm命令,对于不想删除的文件执行git checkout – <file>可以让文件在工作区重现。

+
+
+

2.7.2.2. 执行git rm命令删除文件

+

好吧,按照上面状态输出的内容,将所有的文本文件删除。执行下面的命令。

+
$ git rm detached-commit.txt hack-1.txt new-commit.txt welcome.txt
+rm 'detached-commit.txt'
+rm 'hack-1.txt'
+rm 'new-commit.txt'
+rm 'welcome.txt'
+
+
+

再看一看状态:

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       deleted:    detached-commit.txt
+#       deleted:    new-commit.txt
+#       deleted:    welcome.txt
+#
+
+
+

删除动作加入了暂存区。这时执行提交动作,就真正意义上执行了文件删除。

+
$ git commit -m "delete trash files. (using: git rm)"
+[master 483493a] delete trash files. (using: git rm)
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+ delete mode 100644 detached-commit.txt
+ delete mode 100644 new-commit.txt
+ delete mode 100644 welcome.txt
+
+
+

不过不要担心,文件只是在版本库最新提交中删除了,在历史提交中尚在。可以通过下面命令查看历史版本的文件列表。

+
$ git ls-files --with-tree=HEAD^
+detached-commit.txt
+new-commit.txt
+welcome.txt
+
+
+

也可以查看在历史版本中尚在的删除文件的内容。

+
$ git cat-file -p HEAD^:welcome.txt
+Hello.
+Nice to meet you.
+
+
+
+
+

2.7.2.3. 命令git add -u快速标记删除

+

在前面执行git rm命令时,一一写下了所有要删除的文件名,好长的命令啊!能不能简化些?实际上git add可以,即使用-u参数调用git add命令,含义是将本地有改动(包括添加和删除)的文件标记为删除。为了重现刚才的场景,先使用重置命令抛弃最新的提交,再使用进度恢复到之前的状态。

+
    +
  • 丢弃之前测试删除的试验性提交。

    +
    $ git reset --hard HEAD^
    +HEAD is now at 2b31c19 Merge commit 'acc2f69'
    +
    +
    +
  • +
  • 恢复保存的进度。(参数-q使得命令进入安静模式)

    +
    $ git stash apply -q
    +
    +
    +
  • +
+

然后删除本地文件,状态依然显示只在本地删除了文件,暂存区文件仍在。

+
$ rm *.txt
+$ git status -s
+ D detached-commit.txt
+AD hack-1.txt
+ D new-commit.txt
+ D welcome.txt
+
+
+

执行git add -u命令可以将(被版本库追踪的)本地文件的变更(修改、删除)全部记录到暂存区中。

+
$ git add -u
+
+
+

查看状态,可以看到工作区删除的文件全部被标记为下次提交时删除。

+
$ git status -s
+D  detached-commit.txt
+D  new-commit.txt
+D  welcome.txt
+
+
+

执行提交,删除文件。

+
$ git commit -m "delete trash files. (using: git add -u)"
+[master 7161977] delete trash files. (using: git add -u)
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+ delete mode 100644 detached-commit.txt
+ delete mode 100644 new-commit.txt
+ delete mode 100644 welcome.txt
+
+
+
+
+
+

2.7.3. 恢复删除的文件

+

经过了上面的文件删除,工作区已经没有文件了。为了说明文件移动,现在恢复一个删除的文件。前面已经说过执行了文件删除并提交,只是在最新的提交中删除了文件,历史提交中文件仍然保留,可以从历史提交中提取文件。执行下面的命令可以从历史(前一次提交)中恢复welcome.txt文件。

+
$ git cat-file -p HEAD~1:welcome.txt > welcome.txt
+
+
+

上面命令中出现的HEAD~1即相当于HEAD^都指的是HEAD的上一次提交。执行git add -A命令会对工作区中所有改动以及新增文件添加到暂存区,也是一个常用的技巧。执行下面的命令后,将恢复过来的welcome.txt文件添加回暂存区。

+
$ git add -A
+$ git status -s
+A  welcome.txt
+
+
+

执行提交操作,文件welcome.txt又回来了。

+
$ git commit -m "restore file: welcome.txt"
+[master 63992f0] restore file: welcome.txt
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+ create mode 100644 welcome.txt
+
+
+

通过再次添加的方式恢复被删除的文件是最自然的恢复的方法。其他版本控制系统如CVS也采用同样的方法恢复删除的文件,但是有的版本控制系统如Subversion如果这样操作会有严重的副作用——文件变更历史被人为的割裂而且还会造成服务器存储空间的浪费。Git通过添加方式反删除文件没有副作用,这是因为在Git的版本库中相同内容的文件保存在一个blob对象中,而且即便是内容不同的blob对象在对象库打包整理过程中也会通过差异比较优化存储。

+
+
+

2.7.4. 移动文件

+

通过将welcome.txt改名为README文件来测试一下在Git中如何移动文件。Git提供了git mv命令完成改名操作。

+
$ git mv welcome.txt README
+
+
+

可以从当前的状态中看到改名的操作。

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       renamed:    welcome.txt -> README
+#
+
+
+

提交改名操作,在提交输出可以看到改名前后两个文件的相似度(百分比)。

+
$ git commit -m "改名测试"
+[master 7aa5ac1] 改名测试
+ 1 files changed, 0 insertions(+), 0 deletions(-)
+ rename welcome.txt => README (100%)
+
+
+

可以不用:command:`git mv`命令实现改名

+

从提交日志中出现的文件相似度可以看出Git的改名实际上源自于Git对文件追踪的强大支持(文件内容作为blob对象保存在对象库中)。改名操作实际上相当于对旧文件执行删除,对新文件执行添加,即完全可以不使用git mv操作,而是代之以git rm和一个git add操作。为了试验不使用git mv命令是否可行,先撤销之前进行的提交。

+
    +
  • 撤销之前测试文件移动的提交。

    +
    $ git reset --hard HEAD^
    +HEAD is now at 63992f0 restore file: welcome.txt
    +
    +
    +
  • +
  • 撤销之后welcome.txt文件又回来了。

    +
    $ git status -s
    +$ git ls-files
    +welcome.txt
    +
    +
    +
  • +
+

新的改名操作不使用git mv命令,而是直接在本地改名(文件移动),将welcome.txt 改名为README

+
$ mv welcome.txt README
+$ git status -s
+ D welcome.txt
+?? README
+
+
+

为了考验一下Git的内容追踪能力,再修改一下改名后的 README 文件,即在文件末尾追加一行。

+
$ echo "Bye-Bye." >> README
+
+
+

可以使用前面介绍的git add -A命令。相当于对修改文件执行git add,对删除文件执行git rm,而且对本地新增文件也执行git add

+
$ git add -A
+
+
+

查看状态,也可以看到文件重命名。

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       renamed:    welcome.txt -> README
+#
+
+
+

执行提交。

+
$ git commit -m "README is from welcome.txt."
+[master c024f34] README is from welcome.txt.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ rename welcome.txt => README (73%)
+
+
+

这次提交中也看到了重命名操作,但是重命名相似度不是 100%,而是 73%。

+
+
+

2.7.5. 一个显示版本号的Hello World

+

在本章的一开始为纪念前面的实践留了一个影,叫做old_practice。现在再次执行git describe看一下现在的版本号。

+
$ git describe
+old_practice-3-gc024f34
+
+
+

就是说:当前工作区的版本是“留影”后的第三个版本,提交ID是c024f34

+

下面的命令可以在提交日志中显示提交对应的里程碑(Tag)。其中参数--decorate可以在提交ID的旁边显示该提交关联的引用(里程碑或分支)。

+
$ git log --oneline --decorate -4
+c024f34 (HEAD, master) README is from welcome.txt.
+63992f0 restore file: welcome.txt
+7161977 delete trash files. (using: git add -u)
+2b31c19 (tag: old_practice) Merge commit 'acc2f69'
+
+
+

命令git describe的输出可以作为软件版本号,这个功能非常有用。因为这样可以很容易的实现将发布的软件包版本和版本库中的代码对应在一起,当发现软件包包含Bug时,可以最快、最准确的对应到代码上。

+

下面的Hello World程序就实现了这个功能。创建目录src,并在src目录下创建下面的三个文件:

+
    +
  • 文件:src/main.c

    +

    没错,下面的几行就是这个程序的主代码,和输出相关代码的就两行,一行显示“Hello, world.”,另外一行显示软件版本。在显示软件版本时用到了宏_VERSION,这个宏的来源参考下一个文件。

    +

    源代码:

    +
    +
    #include "version.h"
    +#include <stdio.h>
    +
    +int
    +main()
    +{
    +    printf( "Hello, world.\n" );
    +    printf( "version: %s.\n", _VERSION );
    +    return 0;
    +}
    +
    +
    +
    +
  • +
  • 文件:src/version.h.in

    +

    没错,这个文件名的后缀是.h.in。这个文件其实是用于生成文件version.h的模板文件。在由此模板文件生成的version.h的过程中,宏_VERSION的值 “<version>” 会动态替换。

    +

    源代码:

    +
    +
    #ifndef HELLO_WORLD_VERSION_H
    +#define HELLO_WORLD_VERSION_H
    +
    +#define _VERSION "<version>"
    +
    +#endif
    +
    +
    +
    +
  • +
  • 文件:src/Makefile

    +

    这个文件看起来很复杂,而且要注意所有缩进都是使用一个<Tab>键完成的缩进,千万不要错误的写成空格,因为这是Makefile。这个文件除了定义如何由代码生成可执行文件hello之外,还定义了如何将模板文件version.h.in转换为version.h。在转换过程中用git describe命令的输出替换模板文件中的<version>字符串。

    +

    源代码:

    +
    +
    OBJECTS = main.o
    +TARGET = hello
    +
    +all: $(TARGET)
    +
    +$(TARGET): $(OBJECTS)
    +        $(CC) -o $@ $^
    +
    +main.o: | new_header
    +main.o: version.h
    +
    +new_header:
    +        @sed -e "s/<version>/$$(git describe)/g" \
    +                < version.h.in > version.h.tmp
    +        @if diff -q version.h.tmp version.h >/dev/null 2>&1; \
    +        then \
    +                rm version.h.tmp; \
    +        else \
    +                echo "version.h.in => version.h" ; \
    +                mv version.h.tmp version.h; \
    +        fi
    +
    +clean:
    +        rm -f $(TARGET) $(OBJECTS) version.h
    +
    +.PHONY: all clean
    +
    +
    +
    +
  • +
+

上述三个文件创建完毕之后,进入到src目录,试着运行一下。先执行make编译,再运行编译后的程序hello

+
$ cd src
+$ make
+version.h.in => version.h
+cc    -c -o main.o main.c
+cc -o hello main.o
+$ ./hello
+Hello, world.
+version: old_practice-3-gc024f34.
+
+
+
+
+

2.7.6. 使用git add -i选择性添加

+

刚刚创建的Hello World程序还没有添加到版本库中,在src目录下有下列文件:

+
$ cd /path/to/my/workspace/demo
+$ ls src
+hello  main.c  main.o  Makefile  version.h  version.h.in
+
+
+

这些文件中hello,main.oversion.h都是在编译时生成的程序,不应该加入到版本库中。那么选择性添加文件除了针对文件逐一使用git add命令外,还有什么办法么?通过使用-i参数调用git add就是一个办法,提供了一个交互式的界面。

+

执行git add -i命令,进入一个交互式界面,首先显示的是工作区状态。显然因为版本库进行了清理,所以显得很“干净”。

+
$ git add -i
+           staged     unstaged path
+
+
+*** Commands ***
+  1: status       2: update       3: revert       4: add untracked
+  5: patch        6: diff         7: quit         8: help
+What now>
+
+
+

在交互式界面显示了命令列表,可以使用数字或者加亮显示的命令首字母,选择相应的功能。对于此例需要将新文件加入到版本库,所以选择“4”。

+
What now> 4
+  1: src/Makefile
+  2: src/hello
+  3: src/main.c
+  4: src/main.o
+  5: src/version.h
+  6: src/version.h.in
+Add untracked>>
+
+
+

当选择了“4”之后,就进入了“Add untracked”界面,显示了本地新增(尚不再版本库中)的文件列表,而且提示符也变了,由“What now>”变为“Add untracked>>”。依次输入1、3、6将源代码添加到版本库中。

+
    +
  • 输入“1”:

    +
    Add untracked>> 1
    +* 1: src/Makefile
    +  2: src/hello
    +  3: src/main.c
    +  4: src/main.o
    +  5: src/version.h
    +  6: src/version.h.in
    +
    +
    +
  • +
  • 输入“3”:

    +
    Add untracked>> 3
    +* 1: src/Makefile
    +  2: src/hello
    +* 3: src/main.c
    +  4: src/main.o
    +  5: src/version.h
    +  6: src/version.h.in
    +
    +
    +
  • +
  • 输入“6”:

    +
    Add untracked>> 6
    +* 1: src/Makefile
    +  2: src/hello
    +* 3: src/main.c
    +  4: src/main.o
    +  5: src/version.h
    +* 6: src/version.h.in
    +Add untracked>>
    +
    +
    +
  • +
+

每次输入文件序号,对应的文件前面都添加一个星号,代表将此文件添加到暂存区。在提示符“Add untracked>>”处按回车键,完成文件添加,返回主界面。

+
Add untracked>>
+added 3 paths
+
+*** Commands ***
+  1: status       2: update       3: revert       4: add untracked
+  5: patch        6: diff         7: quit         8: help
+What now>
+
+
+

此时输入“1”查看状态,可以看到三个文件添加到暂存区中。

+
What now> 1
+           staged     unstaged path
+  1:       +20/-0      nothing src/Makefile
+  2:       +10/-0      nothing src/main.c
+  3:        +6/-0      nothing src/version.h.in
+
+*** Commands ***
+  1: status       2: update       3: revert       4: add untracked
+  5: patch        6: diff         7: quit         8: help
+
+
+

输入“7”退出交互界面。

+

查看文件状态,可以发现三个文件被添加到暂存区中。

+
$ git status -s
+A  src/Makefile
+A  src/main.c
+A  src/version.h.in
+?? src/hello
+?? src/main.o
+?? src/version.h
+
+
+

完成提交。

+
$ git commit -m "Hello world initialized."
+[master d71ce92] Hello world initialized.
+ 3 files changed, 36 insertions(+), 0 deletions(-)
+ create mode 100644 src/Makefile
+ create mode 100644 src/main.c
+ create mode 100644 src/version.h.in
+
+
+
+
+

2.7.7. Hello world引发的新问题

+

进入src目录中,对Hello world执行编译。

+
$ cd /path/to/my/workspace/demo/src
+$ make clean && make
+rm -f hello main.o version.h
+version.h.in => version.h
+cc    -c -o main.o main.c
+cc -o hello main.o
+
+
+

运行编译后的程序,是不是对版本输出不满意呢?

+
$ ./hello
+Hello, world.
+version: old_practice-4-gd71ce92.
+
+
+

之所以显示长长的版本号,是因为使用了在本章最开始留的“影”。现在为Hello world留下一个新的“影”(一个新的里程碑)吧。

+
$ git tag -m "Set tag hello_1.0." hello_1.0
+
+
+

然后清除上次编译结果后,重新编译和运行,可以看到新的输出。

+
$ make clean && make
+rm -f hello main.o version.h
+version.h.in => version.h
+cc    -c -o main.o main.c
+cc -o hello main.o
+$ ./hello
+Hello, world.
+version: hello_1.0.
+
+
+

还不错,显示了新的版本号。此时在工作区查看状态,会发现工作区“不干净”。

+
$ git status
+# On branch master
+# Untracked files:
+#   (use "git add <file>..." to include in what will be committed)
+#
+#       hello
+#       main.o
+#       version.h
+
+
+

编译的目标文件和以及从模板生成的头文件出现在了Git的状态输出中,这些文件会对以后的工作造成干扰。当写了新的源代码文件需要添加到版本库中时,因为这些干扰文件的存在,不得不一一将这些干扰文件排除在外。更为严重的是,如果不小心执行git add .或者git add -A命令会将编译的目标文件及其他临时文件加入版本库中,浪费存储空间不说甚至还会造成冲突。

+

Git提供了文件忽略功能,可以解决这个问题。

+
+
+

2.7.8. 文件忽略

+

Git提供了文件忽略功能。当对工作区某个目录或者某些文件设置了忽略后,再执行git status查看状态时,被忽略的文件即使存在也不会显示为未跟踪状态,甚至根本感觉不到这些文件的存在。现在就针对Hello world程序目录试验一下。

+
$ cd /path/to/my/workspace/demo/src
+$ git status -s
+?? hello
+?? main.o
+?? version.h
+
+
+

可以看到src目录下编译的目标文件等显示为未跟踪,每一行开头的两个问号好像在向我们请求:“快把我们添加到版本库里吧”。

+

执行下面的命令可以在这个目下创建一个名为.gitignore的文件(注意文件的前面有个点),把这些要忽略的文件写在其中,文件名可以使用通配符。注意:第2行到第5行开头的右尖括号是cat命令的提示符,不是输入。

+
$ cat > .gitignore << EOF
+> hello
+> *.o
+> *.h
+> EOF
+
+
+

看看写好的.gitignore文件。每个要忽略的文件显示在一行。

+
$ cat .gitignore
+hello
+*.o
+*.h
+
+
+

再来看看当前工作区的状态。

+
$ git status -s
+?? .gitignore
+
+
+

.gitignore文件添加到版本库中吧。(如果不希望添加到库里,也不希望.gitignore文件带来干扰,可以在忽略文件中忽略自己。)

+
$ git add .gitignore
+$ git commit -m "ignore object files."
+[master b3af728] ignore object files.
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+ create mode 100644 src/.gitignore
+
+
+

:file:`.gitignore`文件可以放在任何目录

+

文件.gitignore的作用范围是其所处的目录及其子目录,因此如果把刚刚创建的.gitignore移动到上一层目录(仍位于工作区内)也应该有效。

+
$ git mv .gitignore ..
+$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       renamed:    .gitignore -> ../.gitignore
+#
+
+
+

果然移动.gitignore文件到上层目录,Hello world程序目录下的目标文件依然被忽略着。

+

提交。

+
$ git commit -m "move .gitignore outside also works."
+[master 3488f2c] move .gitignore outside also works.
+ 1 files changed, 0 insertions(+), 0 deletions(-)
+ rename src/.gitignore => .gitignore (100%)
+
+
+

忽略文件有错误,后果很严重

+

实际上面写的忽略文件不是非常好,为了忽略version.h,结果使用了通配符*.h会把源码目录下的有用的头文件也给忽略掉,导致应该添加到版本库的文件忘记添加。

+

在当前目录下创建一个新的头文件hello.h

+
$ echo "/* test */" > hello.h
+
+
+

在工作区状态显示中看不到hello.h文件。

+
$ git status
+# On branch master
+nothing to commit (working directory clean)
+
+
+

只有使用了--ignored参数,才会在状态显示中看到被忽略的文件。

+
$ git status --ignored -s
+!! hello
+!! hello.h
+!! main.o
+!! version.h
+
+
+

要添加hello.h文件,使用git add -Agit add .都失效。无法用这两个命令将hello.h添加到暂存区中。

+
$ git add -A
+$ git add .
+$ git st -s
+
+
+

只有在添加操作的命令行中明确的写入文件名,并且提供-f参数才能真正添加。

+
$ git add -f hello.h
+$ git commit -m "add hello.h"
+[master 48456ab] add hello.h
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 src/hello.h
+
+
+

忽略只对未跟踪文件有效,对于已加入版本库的文件无效

+

文件hello.h添加到版本库后,就不再受到.gitignore设置的文件忽略影响了,对hello.h的修改都会立刻被跟踪到。这是因为Git的文件忽略只是对未入库的文件起作用。

+
$ echo "/* end */" >> hello.h
+$ git status
+# On branch master
+# Changed but not updated:
+#   (use "git add <file>..." to update what will be committed)
+#   (use "git checkout -- <file>..." to discard changes in working directory)
+#
+#       modified:   hello.h
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+

偷懒式提交。(使用了-a参数提交,不用预先执行git add命令。)

+
$ git commit -a -m "偷懒了,直接用 -a 参数直接提交。"
+[master 613486c] 偷懒了,直接用 -a 参数直接提交。
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

本地独享式忽略文件

+

文件.gitignore设置的文件忽略是共享式的。之所以称其为“共享式”,是因为.gitignore被添加到版本库后成为了版本库的一部分,当版本库共享给他人(克隆)或者把版本库推送(PUSH)到集中式的服务器(或他人的版本库),这个忽略文件就会出现在他人的工作区中,文件忽略在他人的工作区中同样生效。

+

与“共享式”忽略对应的是“独享式”忽略。独享式忽略就是不会因为版本库共享或者版本库之间的推送传递给他人的文件忽略。独享式忽略有两种方式:

+
    +
  • 一种是针对具体版本库的“独享式”忽略。即在版本库.git目录下的一个文件.git/info/exclude来设置文件忽略。
  • +
  • 另外一种是全局的“独享式”忽略。即通过Git的配置变量core.excludesfile指定的一个忽略文件,其设置的忽略对所有文件均有效。
  • +
+

至于哪些情况需要通过向版本库中提交.gitignore文件设置共享式的文件忽略,哪些情况通过.git/info/exclude设置只对本地有效的独享式文件忽略,这取决于要设置的文件忽略是否具有普遍意义。如果文件忽略对于所有使用此版本库工作的人都有益,就通过在版本库相应的目录下创建一个.gitignore文件建立忽略,否则如果是需要忽略工作区中创建的一个试验目录或者试验性的文件,则使用本地忽略。

+

例如我的本地就设置着一个全局的独享的文件忽略列表(这个文件名可以随意设置):

+
$ git config --global core.excludesfile /home/jiangxin/_gitignore
+$ git config core.excludesfile
+/home/jiangxin/_gitignore
+
+$ cat /home/jiangxin/_gitignore
+*~        # vim 临时文件
+*.pyc     # python 的编译文件
+.*.mmx    # 不是正则表达式哦,因为 FreeMind-MMX 的辅助文件以点开头
+
+
+

Git忽略语法

+

Git的忽略文件的语法规则再多说几句。

+
    +
  • 忽略文件中的空行或者以井号(#)开始的行被忽略。
  • +
  • 可以使用通配符,参见Linux手册:glob(7)。例如:星号(*)代表任意多字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围等。
  • +
  • 如果名称的最前面是一个路径分隔符(/),表明要忽略的文件在此目录下,而非子目录的文件。
  • +
  • 如果名称的最后面是一个路径分隔符(/),表明要忽略的是整个目录,同名文件不忽略,否则同名的文件和目录都忽略。
  • +
  • 通过在名称的最前面添加一个感叹号(!),代表不忽略。
  • +
+

下面的文件忽略示例,包含了上述要点:

+
# 这是注释行 —— 被忽略
+*.a       # 忽略所有以 .a 为扩展名的文件。
+!lib.a    # 但是 lib.a 文件或者目录不要忽略,即使前面设置了对 *.a 的忽略。
+/TODO     # 只忽略根目录下的 TODO 文件,子目录的 TODO 文件不忽略。
+build/    # 忽略所有 build/ 目录下的文件。
+doc/*.txt # 忽略文件如 doc/notes.txt,但是文件如 doc/server/arch.txt 不被忽略。
+
+
+
+
+

2.7.9. 文件归档

+

如果使用压缩工具(tar、7zip、winzip、rar等)将工作区文件归档,一不小心会把版本库(.git目录)包含其中,甚至将工作区中的忽略文件、临时文件也包含其中。Git提供了一个归档命令:git archive,可以对任意提交对应的目录树建立归档。示例如下:

+
    +
  • 基于最新提交建立归档文件latest.zip

    +
    $ git archive -o latest.zip HEAD
    +
    +
    +
  • +
  • 只将目录srcdoc建立到归档partial.tar中。

    +
    $ git archive -o partial.tar  HEAD src doc
    +
    +
    +
  • +
  • 基于里程碑v1.0建立归档,并且为归档中文件添加目录前缀1.0。

    +
    $ git archive --format=tar --prefix=1.0/ v1.0 | gzip > foo-1.0.tar.gz
    +
    +
    +
  • +
+

在建立归档时,如果使用树对象ID进行归档,则使用当前时间作为归档中文件的修改时间,而如果使用提交ID或里程碑等,则使用提交建立的时间作为归档中文件的修改时间。

+

如果使用tar格式建立归档,并且使用提交ID或里程碑ID,还会把提交ID记录在归档文件的文件头中。记录在文件头中的提交ID可以通过git tar-commit-id命令获取。

+

如果希望在建立归档时忽略某些文件或目录,可以通过为相应文件或目录建立export-ignore属性加以实现。具体参见本书第8篇第41章“41.1 属性”一节。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/080-git-history-travel.html b/02-git-solo/080-git-history-travel.html new file mode 100644 index 000000000..8fc2ea84b --- /dev/null +++ b/02-git-solo/080-git-history-travel.html @@ -0,0 +1,1212 @@ + + + + + + + + + 2.8. 历史穿梭 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

2.8. 历史穿梭

+

经过了之前众多的实践,版本库中已经积累了很多次提交了,从下面的命令可以看出来有14次提交。

+
$ git rev-list HEAD | wc -l
+14
+
+
+

有很多工具可以研究和分析Git的历史提交,在前面的实践中已经用过很多相关的Git命令进行查看历史提交、查看文件的历史版本、进行差异比较等。本章除了对之前用到的相关Git命令作以总结外,还要再介绍几款图形化的客户端。

+
+

2.8.1. 图形工具:gitk

+

gitk是最早实现的一个图形化的Git版本库浏览器软件,基于tcl/tk实现,因此gitk非常简洁,本身就是一个1万多行的tcl脚本写成的。gitk的代码已经和Git的代码放在同一个版本库中,gitk随Git一同发布,不用特别的安装即可运行。gitk可以显示提交的分支图,可以显示提交,文件,版本间差异等。

+

在版本库中调用gitk,就会浏览该版本库,显示其提交分支图。gitk可以像命令行工具一样使用不同的参数进行调用。

+
    +
  • 显示所有的分支。

    +
    $ gitk --all
    +
    +
    +
  • +
  • 显示2周以来的提交。

    +
    $ gitk --since="2 weeks ago"
    +
    +
    +
  • +
  • 显示某个里程碑(v2.6.12)以来,针对某些目录和文件(include/scsi目录和drivers/scsi目录)的提交。

    +
    $ gitk v2.6.12.. include/scsi drivers/scsi
    +
    +
    +
  • +
+

下面的图示就是在DEMO版本库中运行gitk –all的显示。

+
+../images/gitk.png +
+

在上图中可见不同颜色和形状区分的引用:

+
    +
  • 绿色的master分支。
  • +
  • 黄色的hello_1.0old_practice里程碑。
  • +
  • 灰色的stash
  • +
+

gitk使用tcl/tk开发,在显示上没有系统中原生图形应用那么漂亮的界面,甚至可以用丑陋来形容,下面介绍的gitg和qgit在易用性上比gitk进步了不少。

+
+
+

2.8.2. 图形工具:gitg

+

gitg是使用GTK+图形库实现的一个Git版本库浏览器软件。Linux下最著名的Gnome桌面环境使用的就是GTK+,因此在Linux下gitg有着非常漂亮的原生的图形界面。gitg不但能够实现gitk的全部功能,即浏览提交历史和文件,还能帮助执行提交。

+

在Linux上安装gitg很简单,例如在Debian或Ubuntu上,直接运行下面的命令就可以进行安装。

+
$ sudo aptitude install gitg
+
+
+

安装完毕就可以在可执行路径中找到gitg

+
$ which gitg
+/usr/bin/gitg
+
+
+

为了演示gitg具备提交功能,先在工作区作出一些修改。

+
    +
  • 删除没有用到的hello.h文件。

    +
    $ cd /path/to/my/workspace/demo
    +$ rm src/hello.h
    +
    +
    +
  • +
  • README文件后面追加一行。

    +
    $ echo "Wait..." >> README
    +
    +
    +
  • +
  • 当前工作区的状态。

    +
    $ git status -s
    + M README
    + D src/hello.h
    +
    +
    +
  • +
+

现在可以在工作区下执行gitg命令。

+
$ gitg &
+
+
+

下图就是gitg的缺省界面,显示了提交分支图,以及选中提交的提交信息和变更文件列表等。

+
+
+../images/gitg-history.png +
+
+

在上图中可以看见用不同颜色的标签显示的状态标识(包括引用):

+
    +
  • 橙色的master分支。
  • +
  • 黄色的hello_1.0old_practice里程碑。
  • +
  • 粉色的stash标签。
  • +
  • 以及白色的显示工作区非暂存状态的标签。
  • +
+

点击gitg下方窗口的标签“tree”,会显示此提交的目录树。

+
+
+../images/gitg-tree.png +
+
+

提交功能是gitg的一大特色。点击gitg顶部窗口的commit标签,显示下面的界面。

+
+
+../images/gitg-commit-1-all-unstaged.png +
+
+

左下方窗口显示的是未更新到暂存区的本地改动。鼠标右击,在弹出菜单中选择“Stage”。

+
+
+../images/gitg-commit-2-add-stage.png +
+
+

当把文件README添加到暂存区后,可以看到README文件出现在右下方的窗口中。

+
+
+../images/gitg-commit-3-mixed-stage-unstage.png +
+
+

此时如果回到提交历史查看界面,可以看到在“stash”标签的下方,同时出现了“staged”和“unstaged”两个标签分别表示暂存区和工作区的状态。

+
+
+../images/gitg-commit-4-history-stage-unstage.png +
+
+

当通过gitg的界面选择好要提交的文件(加入暂存区)之后,执行提交。

+
+
+../images/gitg-commit-5-commit.png +
+
+

上图的提交说明对话框的下方有两个选项,当选择了“Add signed-off-by”选项后,在提交日志中会自动增加相应的说明文字。下图可以看到刚刚的提交已经显示在提交历史的最顶端,在提交说明中出现了Signed-off-by文字说明。

+
+
+../images/gitg-commit-6-new-history.png +
+
+

gitg还是一个比较新的项目,在本文撰写的时候,gitg才是0.0.6版本,相比下面要介绍的qgit还缺乏很多功能。例如gitg没有文件的blame(追溯)界面,也不能直接将文件检出,但是gitg整体的界面风格,以及易用的提交界面给人的印象非常深刻。

+
+
+

2.8.3. 图形工具:qgit

+

前面介绍的gitg是基于GTK+这一Linux标准的图形库,那么也许有读者已经猜到qgit是使用Linux另外一个著名的图形库QT实现的Git版本库浏览器软件。QT的知名度不亚于GTK+,是著名的KDE桌面环境用到的图形库,也是蓄势待发准备和Android一较高低的MeeGo的UI核心。qgit目前的版本是2.3,相比前面介绍的gitg其经历的开发周期要长了不少,因此也提供了更多的功能。

+

在Linux上安装qgit很简单,例如在Debian或Ubuntu上,直接运行下面的命令就可以进行安装。

+
$ sudo aptitude install qgit
+
+
+

安装完毕就可以在可执行路径中找到qgit

+
$ which qgit
+/usr/bin/qgit
+
+
+

qgitgitg一样不但能够浏览提交历史和文件,还能帮助执行提交。为了测试提交,将在上一节所做的提交回滚。

+
    +
  • 使用重置命令回滚最后一次提交。

    +
    $ git reset HEAD^
    +Unstaged changes after reset:
    +M       README
    +M       src/hello.h
    +
    +
    +
  • +
  • 当前工作区的状态。

    +
    $ git status
    +# On branch master
    +# Changed but not updated:
    +#   (use "git add/rm <file>..." to update what will be committed)
    +#   (use "git checkout -- <file>..." to discard changes in working directory)
    +#
    +#       modified:   README
    +#       deleted:    src/hello.h
    +#
    +no changes added to commit (use "git add" and/or "git commit -a")
    +
    +
    +
  • +
+

现在可以在工作区下执行qgit命令。

+
$ qgit &
+
+
+

启动qgit,首先弹出一个对话框,提示对显示的提交范围和分支范围进行选择。

+
+
+../images/qgit-splash-select.png +
+
+

对所有的选择打钩,显示下面的qgit的缺省界面。其中包括了提交分支图,以及选中提交的提交信息和变更文件列表等。

+
+
+../images/qgit-history.png +
+
+

在上图中可以看见用不同颜色的标签显示的状态标识(包括引用):

+
    +
  • 绿色的master分支。
  • +
  • 黄色的hello_1.0old_practice里程碑。
  • +
  • 灰色的stash标签,显示在了创建时候的位置,并其包含的针对暂存区状态的提交也显示出来。
  • +
  • 最顶端显示一行绿色背景的文件:工作区有改动。
  • +
+

qgit的右键菜单非常丰富,上图显示了鼠标右击提交时显示的弹出菜单,可以创建、切换标签或分支,可以将提交导出为补丁文件。

+

点击qgit右下方变更文件列表窗口,可以选择将文件检出或者直接查看。

+
+
+../images/qgit-changefiles.png +
+
+

要想显示目录树,键入大写字母T,或者鼠标单击工具条上的图标QGIT-TREE-TOGGLE,就会在左侧显示目录树窗口,如下。

+
+
+../images/qgit-tree-view.png +
+
+

从上图也可以看到目录树的文件包含的右键菜单。当选择查看一个文件时,会显示此文件的追溯,即显示每一行是在哪个版本由谁修改的。追溯窗口见下图右下方窗口。

+
+
+../images/qgit-blame.png +
+
+

qgit也可以执行提交。选中qgit顶部窗口最上一行“Working dir changes”,鼠标右击,显示的弹出菜单包含了“Commit...”选项。

+
+
+../images/qgit-commit-1-revlist.png +
+
+

点击弹出菜单中的“Commit...”,显示下面的对话框。

+
+
+../images/qgit-commit-2-dialog-unstaged.png +
+
+

自动选中了所有的文件。上方窗口的选中文件目前状态是“Not updated in index”,就是说尚未添加到暂存区。

+

使用qgit做提交,只要选择好要提交的文件列表,即使未添加到暂存区,也可以直接提交。在下方的提交窗口写入提交日志,点击“Commit”按钮开始提交。

+
+
+../images/qgit-commit-3-commit-unstaged.png +
+
+

提交完毕返回qgit主界面,在显示的提交列表的最上方,原来显示的“Working dir changes”已经更新为“Nothing to commit”,并且可以看到刚刚的提交已经显示在提交历史的最顶端。

+
+
+../images/qgit-commit-4-revlist.png +
+
+
+
+

2.8.4. 命令行工具

+

上面介绍的几款图形界面的Git版本库浏览器最大的特色就是更好看的提交关系图,还能非常方便的浏览历史提交的目录树,并从历史提交的目录树中提取文件等。这些操作对于Git命令行同样可以完成。使用Git命令行探索版本库历史对于读者来说并不新鲜,因为在前几章的实践中已经用到了相关命令,展示了对历史记录的操作。本节对这些命令的部分要点进行强调和补充。

+

前面历次实践的提交基本上是线性的提交,研究起来没有挑战性。为了能够更加接近于实际又不失简洁,我构造了一个版本库,放在了Github上。可以通过如下操作在本地克隆这个示例版本库。

+
$ cd /path/to/my/workspace/
+$ git clone git://github.com/ossxp-com/gitdemo-commit-tree.git
+Cloning into gitdemo-commit-tree...
+remote: Counting objects: 63, done.
+remote: Compressing objects: 100% (51/51), done.
+remote: Total 63 (delta 8), reused 0 (delta 0)
+Receiving objects: 100% (63/63), 65.95 KiB, done.
+Resolving deltas: 100% (8/8), done.
+$ cd gitdemo-commit-tree
+
+
+

运行gitg命令,显示其提交关系图。

+
+../images/gitg-demo-commit-tree.png +
+

是不是有点“乱花渐欲迷人眼”的感觉。如果把提交用里程碑标识的圆圈来代表,稍加排列就会看到下面的更为直白的提交关系图。

+
+../images/commit-tree.png +
+

Git的大部分命令可以使用提交版本作为参数(如:git diff <commit-id>),有的命令则使用一个版本范围作为参数(如:git log <rev1>..<rev2>)。Git的提交有着各式各样的表示法,提交范围也是一样,下面就通过两个命令git rev-parsegit rev-list分别研究一下Git的版本表示法和版本范围表示法。

+
+

2.8.4.1. 版本表示法:git rev-parse

+

命令git rev-parse是Git的一个底层命令,其功能非常丰富(或者说杂乱),很多Git脚本或工具都会用到这条命令。

+

此命令的部分应用在“Git初始化”章节中就已经看到。例如可以显示Git版本库的位置(--git-dir),当前工作区目录的深度(--show-cdup),甚至可以用于被Git无关应用用于解析命令行参数(--parseopt)。

+

此命令可以显示当前版本库中的引用。

+
    +
  • 显示分支。

    +
    $ git rev-parse --symbolic --branches
    +
    +
    +
  • +
  • 显示里程碑。

    +
    $ git rev-parse --symbolic --tags
    +A
    +B
    +C
    +D
    +E
    +F
    +G
    +H
    +I
    +J
    +
    +
    +
  • +
  • 显示定义的所有引用。

    +

    其中refs/remotes/目录下的引用成为远程分支(或远程引用),在后面的章节会予以介绍。

    +
    $ git rev-parse --symbolic --glob=refs/*
    +refs/heads/master
    +refs/remotes/origin/HEAD
    +refs/remotes/origin/master
    +refs/tags/A
    +refs/tags/B
    +refs/tags/C
    +refs/tags/D
    +refs/tags/E
    +refs/tags/F
    +refs/tags/G
    +refs/tags/H
    +refs/tags/I
    +refs/tags/J
    +
    +
    +
  • +
+

命令git rev-parse另外一个重要的功能就是将一个Git对象表达式表示为对应的SHA1哈希值。针对本节开始克隆的版本库gitdemo-commit-tree,做如下操作。

+
    +
  • 显示HEAD对应的SHA1哈希值。

    +
    $ git rev-parse  HEAD
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +
    +
    +
  • +
  • 命令git describe的输出也可以显示为SHA1哈希值。

    +
    $ git describe
    +A-1-g6652a0d
    +$ git rev-parse A-1-g6652a0d
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +
    +
    +
  • +
  • 可以同时显示多个表达式的SHA1哈希值。

    +

    下面的操作可以看出master和refs/heads/master都可以用于指代master分支。

    +
    $ git rev-parse  master  refs/heads/master
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +
    +
    +
  • +
  • 可以用哈希值的前几位指代整个哈希值。

    +
    $ git rev-parse  6652  6652a0d
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +
    +
    +
  • +
  • 里程碑的两种表示法均指向相同的对象。

    +

    里程碑对象不一定是提交,有可能是一个Tag对象。Tag对象包含说明或者签名,还包括到对应提交的指向。

    +
    $ git rev-parse  A  refs/tags/A
    +c9b03a208288aebdbfe8d84aeb984952a16da3f2
    +c9b03a208288aebdbfe8d84aeb984952a16da3f2
    +
    +
    +
  • +
  • 里程碑A指向了一个Tag对象而非提交的时候,用下面的三个表示法都可以指向里程碑对应的提交。

    +

    实际上下面的语法也可以直接作用于轻量级里程碑(直接指向提交的里程碑)或者作用于提交本身。

    +
    $ git rev-parse  A^{}  A^0  A^{commit}
    +81993234fc12a325d303eccea20f6fd629412712
    +81993234fc12a325d303eccea20f6fd629412712
    +81993234fc12a325d303eccea20f6fd629412712
    +
    +
    +
  • +
  • A的第一个父提交就是B所指向的提交。

    +

    回忆之前的介绍,^操作符代表着父提交。当一个提交有多个父提交时,可以通过在符号^后面跟上一个数字表示第几个父提交。A^ 就相当于 A^1。而B^0代表了B所指向的一个Commit对象(因为B是Tag对象)。

    +
    $ git rev-parse  A^  A^1  B^0
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e
    +
    +
    +
  • +
  • 更为复杂的表示法。

    +

    连续的^符号依次沿着父提交进行定位至某一祖先提交。^后面的数字代表该提交的第几个父提交。

    +
    $ git rev-parse  A^^3^2  F^2  J^{}
    +3252fcce40949a4a622a1ac012cb120d6b340ac8
    +3252fcce40949a4a622a1ac012cb120d6b340ac8
    +3252fcce40949a4a622a1ac012cb120d6b340ac8
    +
    +
    +
  • +
  • 记号~<n>就相当于连续<n>个符号^

    +
    $ git rev-parse  A~3  A^^^  G^0
    +e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +
    +
    +
  • +
  • 显示里程碑A对应的目录树。下面两种写法都可以。

    +
    $ git rev-parse  A^{tree}  A:
    +95ab9e7db14ca113d5548dc20a4872950e8e08c0
    +95ab9e7db14ca113d5548dc20a4872950e8e08c0
    +
    +
    +
  • +
  • 显示树里面的文件,下面两种表示法均可。

    +
    $ git rev-parse  A^{tree}:src/Makefile  A:src/Makefile
    +96554c5d4590dbde28183e9a6a3199d526eeb925
    +96554c5d4590dbde28183e9a6a3199d526eeb925
    +
    +
    +
  • +
  • 暂存区里的文件和HEAD中的文件相同。

    +
    $ git rev-parse  :gitg.png  HEAD:gitg.png
    +fc58966ccc1e5af24c2c9746196550241bc01c50
    +fc58966ccc1e5af24c2c9746196550241bc01c50
    +
    +
    +
  • +
  • 还可以通过在提交日志中查找字串的方式显示提交。

    +
    $ git rev-parse :/"Commit A"
    +81993234fc12a325d303eccea20f6fd629412712
    +
    +
    +
  • +
  • 再有就是reflog相关的语法,参见“Git重置”章节中关于reflog的介绍。

    +
    $ git rev-parse HEAD@{0} master@{0}
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +
    +
    +
  • +
+
+
+

2.8.4.2. 版本范围表示法:git rev-list

+

有的Git命令可以使用一个版本范围作为参数,命令git rev-list可以帮助研究Git的各种版本范围语法。

+
+../images/commit-tree-with-id.png +
+
    +
  • 一个提交ID实际上就可以代表一个版本列表。含义是:该版本开始的所有历史提交。

    +
    $ git rev-list --oneline  A
    +8199323 Commit A: merge B with C.
    +0cd7f2e commit C.
    +776c5c9 Commit B: merge D with E and F
    +beb30ca Commit F: merge I with J
    +212efce Commit D: merge G with H
    +634836c commit I.
    +3252fcc commit J.
    +83be369 commit E.
    +2ab52ad commit H.
    +e80aa74 commit G.
    +
    +
    +
  • +
  • 两个或多个版本,相当于每个版本单独使用时指代的列表的并集。

    +
    $ git rev-list --oneline  D  F
    +beb30ca Commit F: merge I with J
    +212efce Commit D: merge G with H
    +634836c commit I.
    +3252fcc commit J.
    +2ab52ad commit H.
    +e80aa74 commit G.
    +
    +
    +
  • +
  • 在一个版本前面加上符号(^)含义是取反,即排除这个版本及其历史版本。

    +
    $ git rev-list --oneline  ^G D
    +212efce Commit D: merge G with H
    +2ab52ad commit H.
    +
    +
    +
  • +
  • 和上面等价的“点点”表示法。使用两个点连接两个版本,如G..D,就相当于^G D

    +
    $ git rev-list --oneline  G..D
    +212efce Commit D: merge G with H
    +2ab52ad commit H.
    +
    +
    +
  • +
  • 版本取反,参数的顺序不重要,但是“点点”表示法前后的版本顺序很重要。

    +
      +
    • 语法:^B C

      +
      $ git rev-list --oneline  ^B C
      +0cd7f2e commit C.
      +
      +
      +
    • +
    • 语法:C ^B

      +
      $ git rev-list --oneline  C ^B
      +0cd7f2e commit C.
      +
      +
      +
    • +
    • 语法:B..C相当于^B C

      +
      $ git rev-list --oneline  B..C
      +0cd7f2e commit C.
      +
      +
      +
    • +
    • 语法:C..B相当于^C B

      +
      $ git rev-list --oneline  C..B
      +776c5c9 Commit B: merge D with E and F
      +212efce Commit D: merge G with H
      +83be369 commit E.
      +2ab52ad commit H.
      +e80aa74 commit G.
      +
      +
      +
    • +
    +
  • +
  • 三点表示法的含义是两个版本共同能够访问到的除外。

    +

    B和C共同能够访问到的F、I、J排除在外。

    +
    $ git rev-list --oneline  B...C
    +0cd7f2e commit C.
    +776c5c9 Commit B: merge D with E and F
    +212efce Commit D: merge G with H
    +83be369 commit E.
    +2ab52ad commit H.
    +e80aa74 commit G.
    +
    +
    +
  • +
  • 三点表示法,两个版本的前后顺序没有关系。

    +

    实际上r1...r2相当于r1 r2 --not $(git merge-base --all r1 r2),和顺序无关。

    +
    $ git rev-list --oneline  C...B
    +0cd7f2e commit C.
    +776c5c9 Commit B: merge D with E and F
    +212efce Commit D: merge G with H
    +83be369 commit E.
    +2ab52ad commit H.
    +e80aa74 commit G.
    +
    +
    +
  • +
  • 某提交的历史提交,自身除外,用语法r1^@表示。

    +
    $ git rev-list --oneline  B^@
    +beb30ca Commit F: merge I with J
    +212efce Commit D: merge G with H
    +634836c commit I.
    +3252fcc commit J.
    +83be369 commit E.
    +2ab52ad commit H.
    +e80aa74 commit G.
    +
    +
    +
  • +
  • 提交本身不包括其历史提交,用语法r1^!表示。

    +
    $ git rev-list --oneline  B^!
    +776c5c9 Commit B: merge D with E and F
    +
    +$ git rev-list --oneline  F^! D
    +beb30ca Commit F: merge I with J
    +212efce Commit D: merge G with H
    +2ab52ad commit H.
    +
    +
    +
  • +
+
+
+

2.8.4.3. 浏览日志:git log

+

命令git log是老朋友了,在前面的章节中曾经大量的出现,用于显示提交历史。

+

参数代表版本范围

+

当不使用任何参数调用,相当于使用了缺省的参数HEAD,即显示当前HEAD能够访问到的所有历史提交。还可以使用上面介绍的版本范围表示法,例如:

+
$ git log --oneline F^! D
+beb30ca Commit F: merge I with J
+212efce Commit D: merge G with H
+2ab52ad commit H.
+e80aa74 commit G.
+
+
+

分支图显示

+

通过--graph参数调用git log可以显示字符界面的提交关系图,而且不同的分支还可以用不同的颜色来表示。如果希望每次查看日志的时候都看到提交关系图,可以设置一个别名,用别名来调用。

+
$ git config --global alias.glog "log --graph"
+
+
+

定义别名之后,每次希望自动显示提交关系图,就可以使用别名命令:

+
$ git glog --oneline
+* 6652a0d Add Images for git treeview.
+*   8199323 Commit A: merge B with C.
+|\
+| * 0cd7f2e commit C.
+| |
+|  \
+*-. \   776c5c9 Commit B: merge D with E and F
+|\ \ \
+| | |/
+| | *   beb30ca Commit F: merge I with J
+| | |\
+| | | * 3252fcc commit J.
+| | * 634836c commit I.
+| * 83be369 commit E.
+*   212efce Commit D: merge G with H
+|\
+| * 2ab52ad commit H.
+* e80aa74 commit G.
+
+
+

显示最近的几条日志

+

可以使用参数-<n>(<n>为数字),显示最近的<n>条日志。例如下面的命令显示最近的3条日志。

+
$ git log -3 --pretty=oneline
+6652a0dce6a5067732c00ef0a220810a7230655e Add Images for git treeview.
+81993234fc12a325d303eccea20f6fd629412712 Commit A: merge B with C.
+0cd7f2ea245d90d414e502467ac749f36aa32cc4 commit C.
+
+
+

显示每次提交的具体改动

+

使用参数-p可以在显示日志的时候同时显示改动。

+
$ git log -p -1
+commit 6652a0dce6a5067732c00ef0a220810a7230655e
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Dec 9 16:07:11 2010 +0800
+
+    Add Images for git treeview.
+
+    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
+
+diff --git a/gitg.png b/gitg.png
+new file mode 100644
+index 0000000..fc58966
+Binary files /dev/null and b/gitg.png differ
+diff --git a/treeview.png b/treeview.png
+new file mode 100644
+index 0000000..a756d12
+Binary files /dev/null and b/treeview.png differ
+
+
+

因为是二进制文件改动,缺省不显示改动的内容。实际上Git的差异文件提供对二进制文件的支持,在后面“Git应用”章节予以专题介绍。

+

显示每次提交的变更概要

+

使用-p参数会让日志输出显得非常冗余,当不需要知道具体的改动而只想知道改动在哪些文件上,可以使用--stat参数。输出的变更概要像极了Linux的diffstat命令的输出。

+
$ git log --stat --oneline  I..C
+0cd7f2e commit C.
+ README    |    1 +
+ doc/C.txt |    1 +
+ 2 files changed, 2 insertions(+), 0 deletions(-)
+beb30ca Commit F: merge I with J
+3252fcc commit J.
+ README           |    7 +++++++
+ doc/J.txt        |    1 +
+ src/.gitignore   |    3 +++
+ src/Makefile     |   27 +++++++++++++++++++++++++++
+ src/main.c       |   10 ++++++++++
+ src/version.h.in |    6 ++++++
+ 6 files changed, 54 insertions(+), 0 deletions(-)
+
+
+

定制输出

+

Git的差异输出命令提供了很多输出模板提供选择,可以根据需要选择冗余显示或者精简显示。

+
    +
  • 参数--pretty=raw显示提交的原始数据。可以显示提交对应的树ID。

    +
    $ git log --pretty=raw -1
    +commit 6652a0dce6a5067732c00ef0a220810a7230655e
    +tree e33be9e8e7ca5f887c7d5601054f2f510e6744b8
    +parent 81993234fc12a325d303eccea20f6fd629412712
    +author Jiang Xin <jiangxin@ossxp.com> 1291882031 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291882892 +0800
    +
    +    Add Images for git treeview.
    +
    +    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +
    +
    +
  • +
  • 参数--pretty=fuller会同时显示作者和提交者,两者可以不同。

    +
    $ git log --pretty=fuller -1
    +commit 6652a0dce6a5067732c00ef0a220810a7230655e
    +Author:     Jiang Xin <jiangxin@ossxp.com>
    +AuthorDate: Thu Dec 9 16:07:11 2010 +0800
    +Commit:     Jiang Xin <jiangxin@ossxp.com>
    +CommitDate: Thu Dec 9 16:21:32 2010 +0800
    +
    +    Add Images for git treeview.
    +
    +    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +
    +
    +
  • +
  • 参数--pretty=oneline显然会提供最精简的日志输出。也可以使用--oneline参数,效果近似。

    +
    $ git log --pretty=oneline -1
    +6652a0dce6a5067732c00ef0a220810a7230655e Add Images for git treeview.
    +
    +
    +
  • +
+

如果只想查看、分析某一个提交,也可以使用git show或者git cat-file命令。

+
    +
  • 使用git show显示里程碑D及其提交:

    +
    $ git show D --stat
    +tag D
    +Tagger: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Thu Dec 9 14:24:52 2010 +0800
    +
    +create node D
    +
    +commit 212efce1548795a1edb08e3708a50989fcd73cce
    +Merge: e80aa74 2ab52ad
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Thu Dec 9 14:06:34 2010 +0800
    +
    +    Commit D: merge G with H
    +
    +    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +
    + README    |    2 ++
    + doc/D.txt |    1 +
    + doc/H.txt |    1 +
    + 3 files changed, 4 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 使用git cat-file显示里程碑D及其提交。

    +

    参数-p的含义是美观的输出(pretty)。

    +
    $ git cat-file -p D^0
    +tree 1c22e90c6bf150ee1cde6cefb476abbb921f491f
    +parent e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +parent 2ab52ad2a30570109e71b56fa1780f0442059b3c
    +author Jiang Xin <jiangxin@ossxp.com> 1291874794 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291875877 +0800
    +
    +Commit D: merge G with H
    +
    +Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +
    +
    +
  • +
+
+
+

2.8.4.4. 差异比较:git diff

+

Git差异比较功能在前面的实践中也反复的接触过了,尤其是在介绍暂存区的相关章节重点介绍了git diff命令如何对工作区、暂存区、版本库进行比较。

+
    +
  • 比较里程碑B和里程碑A,用命令:git diff B A
  • +
  • 比较工作区和里程碑A,用命令:git diff A
  • +
  • 比较暂存区和里程碑A,用命令:git diff –cached A
  • +
  • 比较工作区和暂存区,用命令:git diff
  • +
  • 比较暂存区和HEAD,用命令:git diff –cached
  • +
  • 比较工作区和HEAD,用命令:git diff HEAD
  • +
+

Git中文件在版本间的差异比较

+

差异比较还可以使用路径参数,只显示不同版本间该路径下文件的差异。语法格式:

+
$ git diff <commit1> <commit2> -- <paths>
+
+
+

非Git目录/文件的差异比较

+

命令git diff还可以在Git版本库之外执行,对非Git目录进行比较,就像GNU的diff命令一样。之所以提供这个功能是因为Git差异比较命令更为强大,提供了对GNU差异比较的扩展支持。

+
$ git diff <path1> <path2>
+
+
+

扩展的差异语法

+

Git扩展了GNU的差异比较语法,提供了对重命名、二进制文件、文件权限变更的支持。在后面的“Git应用”辟专题介绍二进制文件的差异比较和补丁的应用。

+

逐词比较,而非缺省的逐行比较

+

Git的差异比较缺省是逐行比较,分别显示改动前的行和改动后的行,到底改动哪里还需要仔细辨别。Git还提供一种逐词比较的输出,有的人会更喜欢。使用--word-diff参数可以显示逐词比较。

+
$ git diff --word-diff
+diff --git a/src/book/02-use-git/080-git-history-travel.rst b/src/book/02-use-git/080-git-history-travel.rst
+index f740203..2dd3e6f 100644
+--- a/src/book/02-use-git/080-git-history-travel.rst
++++ b/src/book/02-use-git/080-git-history-travel.rst
+@@ -681,7 +681,7 @@ Git的大部分命令可以使用提交版本作为参数(如:git diff),
+
+::
+
+  [-18:23:48 jiangxin@hp:~/gitwork/gitbook/src/book$-]{+$+} git log --stat --oneline  I..C
+  0cd7f2e commit C.
+   README    |    1 +
+   doc/C.txt |    1 +
+
+
+

上面的逐词差异显示是有颜色显示的:删除内容[-...-]用红色表示,添加的内容{+...+}用绿色表示。

+
+
+

2.8.4.5. 文件追溯:git blame

+

在软件开发过程中当发现Bug并定位到具体的代码时,Git的文件追溯命令可以指出是谁在什么时候,什么版本引入的此Bug。

+

当针对文件执行git blame命令,就会逐行显示文件,在每一行的行首显示此行最早是在什么版本引入的,由谁引入。

+
$ cd /path/to/my/workspace/gitdemo-commit-tree
+$ git blame README
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800  1) DEMO program for git-scm-book.
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800  2)
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800  3) Changes
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800  4) =======
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800  5)
+81993234 (Jiang Xin 2010-12-09 14:30:15 +0800  6) * create node A.
+0cd7f2ea (Jiang Xin 2010-12-09 14:29:09 +0800  7) * create node C.
+776c5c9d (Jiang Xin 2010-12-09 14:27:31 +0800  8) * create node B.
+beb30ca7 (Jiang Xin 2010-12-09 14:11:01 +0800  9) * create node F.
+^3252fcc (Jiang Xin 2010-12-09 14:00:33 +0800 10) * create node J.
+^634836c (Jiang Xin 2010-12-09 14:00:33 +0800 11) * create node I.
+^83be369 (Jiang Xin 2010-12-09 14:00:33 +0800 12) * create node E.
+212efce1 (Jiang Xin 2010-12-09 14:06:34 +0800 13) * create node D.
+^2ab52ad (Jiang Xin 2010-12-09 14:00:33 +0800 14) * create node H.
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800 15) * create node G.
+^e80aa74 (Jiang Xin 2010-12-09 14:00:33 +0800 16) * initialized.
+
+
+

只想查看某几行,使用-L n,m参数,如下:

+
$ git blame -L 6,+5 README
+81993234 (Jiang Xin 2010-12-09 14:30:15 +0800  6) * create node A.
+0cd7f2ea (Jiang Xin 2010-12-09 14:29:09 +0800  7) * create node C.
+776c5c9d (Jiang Xin 2010-12-09 14:27:31 +0800  8) * create node B.
+beb30ca7 (Jiang Xin 2010-12-09 14:11:01 +0800  9) * create node F.
+^3252fcc (Jiang Xin 2010-12-09 14:00:33 +0800 10) * create node J.
+
+
+
+
+

2.8.4.6. 二分查找:git bisect

+

前面的文件追溯是建立在问题(Bug)已经定位(到代码上)的基础之上,然后才能通过错误的行(代码)找到人(提交者),打板子(教育或惩罚)。那么如何定位问题呢?Git的二分查找命令可以提供帮助。

+

二分查找并不神秘,也不是万灵药,是建立在测试的基础之上的。实际上每个进行过软件测试的人都曾经使用过:“最新的版本出现Bug了,但是在给某某客户的版本却没有这个问题,所以问题肯定出在两者之间的某次代码提交上”。

+

Git提供的git bisect命令是基于版本库的,自动化的问题查找和定位工作流程。取代传统软件测试中粗放式的、针对软件发布版本的、无法定位到代码的测试。

+

执行二分查找,在发现问题后,首先要找到一个正确的版本,如果所发现的问题从软件最早的版本就是错的,那么就没有必要执行二分查找了,还是老老实实的Debug吧。但是如果能够找到一个正确的版本,即在这个正确的版本上问题没有发生,那么就可以开始使用git bisect命令在版本库中进行二分查找了:

+
    +
  1. 工作区切换到已知的“好版本”和“坏版本”的中间的一个版本。
  2. +
  3. 执行测试,问题重现,将版本库当前版本库为“坏版本”,如果问题没有重现,将当前版本标记为“好版本”。
  4. +
  5. 重复1-2,直至最终找到第一个导致问题出现的版本。
  6. +
+

下面是示例版本库标记了提交ID后的示意图,在这个示例版本库中试验二分查找流程:首先标记最新提交(HEAD)是“坏的”,G提交是好的,然后通过查找最终定位到坏提交(B)。

+
+../images/commit-tree-bisect.png +
+

在下面的试验中定义坏提交的依据很简单,如果在doc/目录中包含文件B.txt,则此版本是“坏”的。(这个示例太简陋,不要见笑,聪明的读者可以直接通过doc/B.txt文件就可追溯到B提交。)

+

下面开始通过手动测试(查找doc/B.txt存在与否),借助Git二分查找定位“问题”版本。

+
    +
  • 首先确认工作在master分支。

    +
    $ cd /path/to/my/workspace/gitdemo-commit-tree/
    +$ git checkout master
    +Already on 'master'
    +
    +
    +
  • +
  • 开始二分查找。

    +
    $ git bisect start
    +
    +
    +
  • +
  • 已经当前版本是“坏提交”,因为存在文件doc/B.txt。而G版本是“好提交”,因为不存在文件doc/B.txt

    +
    $ git cat-file -t master:doc/B.txt
    +blob
    +$ git cat-file -t G:doc/B.txt
    +fatal: Not a valid object name G:doc/B.txt
    +
    +
    +
  • +
  • 将当前版本(HEAD)标记为“坏提交”,将G版本标记为“好提交”。

    +
    $ git bisect bad
    +$ git bisect good G
    +Bisecting: 5 revisions left to test after this (roughly 2 steps)
    +[0cd7f2ea245d90d414e502467ac749f36aa32cc4] commit C.
    +
    +
    +
  • +
  • 自动定位到C提交。没有文件doc/B.txt,也是一个好提交。

    +
    $ git describe
    +C
    +$ ls doc/B.txt
    +ls: 无法访问doc/B.txt: 没有那个文件或目录
    +
    +
    +
  • +
  • 标记当前版本(C提交)为“好提交”。

    +
    $ git bisect good
    +Bisecting: 3 revisions left to test after this (roughly 2 steps)
    +[212efce1548795a1edb08e3708a50989fcd73cce] Commit D: merge G with H
    +
    +
    +
  • +
  • 现在定位到D版本,这也是一个“好提交”。

    +
    $ git describe
    +D
    +$ ls doc/B.txt
    +ls: 无法访问doc/B.txt: 没有那个文件或目录
    +
    +
    +
  • +
  • 标记当前版本(D提交)为“好提交”。

    +
    $ git bisect good
    +Bisecting: 1 revision left to test after this (roughly 1 step)
    +[776c5c9da9dcbb7e463c061d965ea47e73853b6e] Commit B: merge D with E and F
    +
    +
    +
  • +
  • 现在定位到B版本,这是一个“坏提交”。

    +
    $ git bisect bad
    +Bisecting: 0 revisions left to test after this (roughly 0 steps)
    +[83be36956c007d7bfffe13805dd2081839fd3603] commit E.
    +
    +
    +
  • +
  • 现在定位到E版本,这是一个“好提交”。当标记E为好提交之后,输出显示已经成功定位到引入坏提交的最接近的版本。

    +
    $ git bisect good
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e is the first bad commit
    +
    +
    +
  • +
  • 最终定位的坏提交用引用refs/bisect/bad标识。可以如下方法切换到该版本。

    +
    $ git checkout bisect/bad
    +Previous HEAD position was 83be369... commit E.
    +HEAD is now at 776c5c9... Commit B: merge D with E and F
    +
    +
    +
  • +
  • 当对“Bug”定位和修复后,撤销二分查找在版本库中遗留的临时文件和引用。

    +

    撤销二分查找后,版本库切换回执行二分查找之前所在的分支。

    +
    $ git bisect reset
    +Previous HEAD position was 776c5c9... Commit B: merge D with E and F
    +Switched to branch 'master'
    +
    +
    +
  • +
+

把“好提交”标记成了“坏提交”该怎么办?

+

在执行二分查找的过程中,一不小心就有可能犯错,将“好提交”标记为“坏提交”,或者相反。这将导致前面的查找过程也前功尽弃。Git的二分查找提供一个恢复查找进度的办法。

+
    +
  • 例如对E提交,本来是一个“好版本”却被错误的标记为“坏版本”。

    +
    $ git bisect bad
    +83be36956c007d7bfffe13805dd2081839fd3603 is the first bad commit
    +
    +
    +
  • +
  • git bisect log命令查看二分查找的日志记录。

    +

    把二分查找的日志保存在一个文件中。

    +
    $ git bisect log > logfile
    +
    +
    +
  • +
  • 编辑这个文件,删除记录了错误动作的行。

    +

    以井号(#)开始的行是注释。

    +
    $ cat logfile
    +# bad: [6652a0dce6a5067732c00ef0a220810a7230655e] Add Images for git treeview.
    +# good: [e80aa7481beda65ae00e35afc4bc4b171f9b0ebf] commit G.
    +git bisect start 'master' 'G'
    +# good: [0cd7f2ea245d90d414e502467ac749f36aa32cc4] commit C.
    +git bisect good 0cd7f2ea245d90d414e502467ac749f36aa32cc4
    +# good: [212efce1548795a1edb08e3708a50989fcd73cce] Commit D: merge G with H
    +git bisect good 212efce1548795a1edb08e3708a50989fcd73cce
    +# bad: [776c5c9da9dcbb7e463c061d965ea47e73853b6e] Commit B: merge D with E and F
    +git bisect bad 776c5c9da9dcbb7e463c061d965ea47e73853b6e
    +
    +
    +
  • +
  • 结束上一次出错的二分查找。

    +
    $ git bisect reset
    +Previous HEAD position was 83be369... commit E.
    +Switched to branch 'master'
    +
    +
    +
  • +
  • 通过日志文件恢复进度。

    +
    $ git bisect replay logfile
    +We are not bisecting.
    +Bisecting: 5 revisions left to test after this (roughly 2 steps)
    +[0cd7f2ea245d90d414e502467ac749f36aa32cc4] commit C.
    +Bisecting: 0 revisions left to test after this (roughly 0 steps)
    +[83be36956c007d7bfffe13805dd2081839fd3603] commit E.
    +
    +
    +
  • +
  • 再一次回到了提交E,这一次不要标记错了。

    +
    $ git describe
    +E
    +$ git bisect good
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e is the first bad commit
    +
    +
    +
  • +
+

二分查找使用自动化测试

+

Git的二分查找命令支持run子命令,可以运行一个自动化测试脚本。

+
    +
  • 如果脚本的退出码是0,正在测试的版本是一个“好版本”。
  • +
  • 如果脚本的退出码是125,正在测试的版本被跳过。
  • +
  • 如果脚本的退出码是1到127(125除外),正在测试的版本是一个“坏版本”。
  • +
+

对于本例写一个自动化测试太简单了,无非就是判断文件是否存在,存在返回错误码1,不存在返回错误码0。

+

测试脚本good-or-bad.sh如下:

+
+
#!/bin/sh
+
+[ -f doc/B.txt ] && exit 1
+exit 0
+
+
+
+

用此自动化脚本执行二分查找就非常简单了。

+
    +
  • 从已知的坏版本master和好版本G,开始新一轮的二分查找。

    +
    $ git bisect start master G
    +Bisecting: 5 revisions left to test after this (roughly 2 steps)
    +[0cd7f2ea245d90d414e502467ac749f36aa32cc4] commit C.
    +
    +
    +
  • +
  • 自动化测试,使用脚本good-or-bad.sh

    +
    $ git bisect run sh good-or-bad.sh
    +running sh good-or-bad.sh
    +Bisecting: 3 revisions left to test after this (roughly 2 steps)
    +[212efce1548795a1edb08e3708a50989fcd73cce] Commit D: merge G with H
    +running sh good-or-bad.sh
    +Bisecting: 1 revision left to test after this (roughly 1 step)
    +[776c5c9da9dcbb7e463c061d965ea47e73853b6e] Commit B: merge D with E and F
    +running sh good-or-bad.sh
    +Bisecting: 0 revisions left to test after this (roughly 0 steps)
    +[83be36956c007d7bfffe13805dd2081839fd3603] commit E.
    +running sh good-or-bad.sh
    +776c5c9da9dcbb7e463c061d965ea47e73853b6e is the first bad commit
    +bisect run success
    +
    +
    +
  • +
  • 定位到的“坏版本”是B。

    +
    $ git describe refs/bisect/bad
    +B
    +
    +
    +
  • +
+
+
+

2.8.4.7. 获取历史版本

+

提取历史提交中的文件无非就是下面表格中的操作,在之前的实践中多次用到,不再赘述。

+
+
+++++ + + + + + + + + + + + + + + + + + + + + + + + + +
动作命令格式示例
查看历史提交的目录树git ls-tree <tree-ish> <paths>
    +
  • git ls-tree 776c5c9 README
  • +
  • git ls-tree -r refs/tags/D doc
  • +
+
整个工作区切换到历史版本git checkout <commit>
    +
  • git checkout HEAD^^
  • +
+
检出某文件的历史版本git checkout <commit> – <paths>
    +
  • git checkout refs/tags/D – README
  • +
  • git checkout 776c5c9 – doc
  • +
+
检出某文件的历史版本到其他文件名git show <commit>:<file> > new_name
    +
  • git show 887113d:README > README.OLD
  • +
+
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/090-back-to-future.html b/02-git-solo/090-back-to-future.html new file mode 100644 index 000000000..1fdd0510c --- /dev/null +++ b/02-git-solo/090-back-to-future.html @@ -0,0 +1,1109 @@ + + + + + + + + + 2.9. 改变历史 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.8. 历史穿梭

+

下一个主题

+

2.10. Git克隆

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.9. 改变历史

+

我是《回到未来》的粉丝,偶尔会做梦,梦见穿梭到未来拿回一本2000-2050体育年鉴。操作Git可以体验到穿梭时空的感觉,因为Git像极了一个时光机器,不但允许你在历史中穿梭,而且能够改变历史。

+

在本章的最开始,介绍两种最简单和最常用的历史变更操作——“悔棋”操作,就是对刚刚进行的一次或几次提交进行修补。对于跳跃式的历史记录的变更,即仅对过去某一个或某几个提交作出改变,会在“回到未来”小节详细介绍。在“丢弃历史”小节会介绍一种版本库瘦身的方法,这可能会在某些特定的场合用到。

+

作为分布式版本控制系统,一旦版本库被多人共享,改变历史就可能是无法完成的任务。在本章的最后,介绍还原操作实现在不改变历史提交的情况下还原错误的改动。

+
+

2.9.1. 悔棋

+

在日常的Git操作中,会经常出现这样的状况,输入git commit命令刚刚敲下回车键就后悔了:可能是提交说明中出现了错别字,或者有文件忘记提交,或者有的修改不应该提交,诸如此类。

+

像Subversion那样的集中式版本控制系统是“落子无悔”的系统,只能叹一口气责怪自己太不小心了。然后根据实际情况弥补:马上做一次新提交改正前面的错误;或者只能将错就错:错误的提交说明就让它一直错下去吧,因为大部分Subversion管理员不敢或者不会放开修改提交说明的功能导致无法对提交说明进行修改。

+

Git提供了“悔棋”的操作,甚至因为“单步悔棋”是如此经常的发生,乃至于Git提供了一个简洁的操作——修补式提交,命令是:git commit –amend

+

看看当前版本库最新的两次提交:

+
$ cd /path/to/my/workspace/demo
+$ git log --stat -2
+commit 822b4aeed5de74f949c9faa5b281001eb5439444
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Wed Dec 8 16:27:41 2010 +0800
+
+    测试使用 qgit 提交。
+
+ README      |    1 +
+ src/hello.h |    2 --
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+
+commit 613486c17842d139871e0f1b0e9191d2b6177c9f
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Dec 7 19:43:39 2010 +0800
+
+    偷懒了,直接用 -a 参数直接提交。
+
+ src/hello.h |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

最新一次的提交是的确是在上一章使用qgit进行的提交,但这和提交内容无关,因此需要改掉这个提交的提交说明。使用下面的命令即可做到。

+
$ git commit --amend -m "Remove hello.h, which is useless."
+[master 7857772] Remove hello.h, which is useless.
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+ delete mode 100644 src/hello.h
+
+
+

上面的命令使用了-m参数是为了演示的方便,实际上完全可以直接输入git commit –amend,在弹出的提交说明编辑界面修改提交说明,然后保存退出完成修补提交。

+

下面再看看最近两次的提交说明,可以看到最新的提交说明更改了(包括提交的SHA1哈希值),而它的父提交(即前一次提交)没有改变。

+
$ git log --stat -2
+commit 78577724305e3e20aa9f2757ac5531d037d612a6
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Wed Dec 8 16:27:41 2010 +0800
+
+    Remove hello.h, which is useless.
+
+ README      |    1 +
+ src/hello.h |    2 --
+ 2 files changed, 1 insertions(+), 2 deletions(-)
+
+commit 613486c17842d139871e0f1b0e9191d2b6177c9f
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Dec 7 19:43:39 2010 +0800
+
+    偷懒了,直接用 -a 参数直接提交。
+
+ src/hello.h |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

如果最后一步操作不想删除文件src/hello.h,而只是想修改README,则可以按照下面的方法进行修补操作。

+
    +
  • 还原删除的src/hello.h文件。

    +
    $ git checkout HEAD^ -- src/hello.h
    +
    +
    +
  • +
  • 此时查看状态,会看到src/hello.h被重新添加回暂存区。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       new file:   src/hello.h
    +#
    +
    +
    +
  • +
  • 执行修补提交,不过提交说明是不是也要更改呢,因为毕竟这次提交不会删除文件了。

    +
    $ git commit --amend -m "commit with --amend test."
    +[master 2b45206] commit with --amend test.
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 再次查看最近两次提交,会发现最新的提交不再删除文件src/hello.h了。

    +
    $ git log --stat -2
    +commit 2b452066ef6e92bceb999cf94fcce24afb652259
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Wed Dec 8 16:27:41 2010 +0800
    +
    +    commit with --amend test.
    +
    + README |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +commit 613486c17842d139871e0f1b0e9191d2b6177c9f
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Tue Dec 7 19:43:39 2010 +0800
    +
    +    偷懒了,直接用 -a 参数直接提交。
    +
    + src/hello.h |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+
+
+

2.9.2. 多步悔棋

+

Git能够提供悔棋的奥秘在于Git的重置命令。实际上上面介绍的单步悔棋也可以用重置命令来实现,只不过Git提供了一个更好用的更简洁的修补提交命令而已。多步悔棋顾名思义就是可以取消最新连续的多次提交,多次悔棋并非是所有分布式版本控制系统都具有的功能,像Mercurial/Hg只能对最新提交悔棋一次(除非使用MQ插件)。Git因为有了强大的重置命令,可以悔棋任意多次。

+

多步悔棋会在什么场合用到呢?软件开发中针对某个特性功能的开发就是一例。某个开发工程师领受某个特性开发的任务,于是在本地版本库进行了一系列开发、测试、修补、再测试的流程,最终特性功能开发完毕后可能在版本库中留下了多次提交。在将本地版本库改动推送(PUSH)到团队协同工作的核心版本库时,这个开发人员就想用多步悔棋的操作,将多个试验性的提及合为一个完整的提交。

+

以DEMO版本库为例,看看版本库最近的三次提交。

+
$ git log --stat --pretty=oneline -3
+2b452066ef6e92bceb999cf94fcce24afb652259 commit with --amend test.
+ README |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+613486c17842d139871e0f1b0e9191d2b6177c9f 偷懒了,直接用 -a 参数直接提交。
+ src/hello.h |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+48456abfaeab706a44880eabcd63ea14317c0be9 add hello.h
+ src/hello.h |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

想要将最近的两个提交压缩为一个,并把提交说明改为“modify hello.h”,可以使用如下方法进行操作。

+
    +
  • 使用--soft参数调用重置命令,回到最近两次提交之前。

    +
    $ git reset --soft HEAD^^
    +
    +
    +
  • +
  • 版本状态和最新日志。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       modified:   README
    +#       modified:   src/hello.h
    +#
    +$ git log -1
    +commit 48456abfaeab706a44880eabcd63ea14317c0be9
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Tue Dec 7 19:39:10 2010 +0800
    +
    +    add hello.h
    +
    +
    +
  • +
  • 执行提交操作,即完成最新两个提交压缩为一个提交的操作。

    +
    $ git commit -m "modify hello.h"
    +[master b6f0b0a] modify hello.h
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 看看提交日志,“多步悔棋”操作成功。

    +
    $ git log --stat --pretty=oneline -2
    +b6f0b0a5237bc85de1863dbd1c05820f8736c76f modify hello.h
    + README      |    1 +
    + src/hello.h |    1 +
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    +48456abfaeab706a44880eabcd63ea14317c0be9 add hello.h
    + src/hello.h |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+
+
+

2.9.3. 回到未来

+

电影《回到未来》(Back to future)第二集,老毕福偷走时光车,到过去(1955年)给了小毕福一本书,导致未来大变。

+
+../images/back-to-future.png +

布朗博士正在解释为何产生两个平行的未来

+
+

Git这一台“时光机”也有这样的能力,或者说也会具有这样的行为。当更改历史提交(SHA1哈希值变更),即使后续提交的内容和属性都一致,但是因为后续提交中有一个属性是父提交的SHA1哈希值,所以一个历史提交的改变会引起连锁变化,导致所有后续提交必然的发生变化,就会形成两条平行的时间线:一个是变更前的提交时间线,另外一条是更改历史后新的提交时间线。

+

把此次实践比喻做一次电影(回到未来)拍摄的话,舞台依然是之前的DEMO版本库,而剧本是这样的。

+
    +
  • 角色:最近的六次提交。分别依据提交顺序,编号为A、B、C、D、E、F。

    +
    $ git log --oneline -6
    +b6f0b0a modify hello.h                        # F
    +48456ab add hello.h                           # E
    +3488f2c move .gitignore outside also works.   # D
    +b3af728 ignore object files.                  # C
    +d71ce92 Hello world initialized.              # B
    +c024f34 README is from welcome.txt.           # A
    +
    +
    +
  • +
  • 坏蛋:提交D。

    +

    即对.gitignore文件移动的提交不再需要,或者这个提交将和前一次提交(C)压缩为一个。

    +
  • +
  • 前奏:故事人物依次出场,坏蛋D在图中被特殊标记。

    +
    +../images/git-rebase-orig.png +
    +
  • +
  • 第一幕:抛弃提交D,将正确的提交E和F重新“嫁接”到提交C上,最终坏蛋被消灭。

    +
    +../images/git-rebase-c.png +
    +
  • +
  • 第二幕:坏蛋D被C感化,融合为”CD”复合体,E和F重新“嫁接”到”CD”复合体上,最终大团圆结局。

    +
    +../images/git-rebase-cd.png +
    +
  • +
  • 道具:分别使用三辆不同的时光车来完成“回到未来”。

    +

    分别是:核能跑车,清洁能源飞车,蒸汽为动力的飞行火车。

    +
  • +
+
+

2.9.3.1. 时间旅行一

+

《回到未来-第一集》布朗博士设计的第一款时间旅行车是一辆跑车,使用核燃料:钚。与之对应,此次实践使用的工具也没有太出乎想象,用一条新的指令——拣选指令(git cherry-pick)实现提交在新的分支上“重放”。

+

拣选指令——git cherry-pick,其含义是从众多的提交中挑选出一个提交应用在当前的工作分支中。该命令需要提供一个提交ID作为参数,操作过程相当于将该提交导出为补丁文件,然后在当前HEAD上重放形成无论内容还是提交说明都一致的提交。

+

首先对版本库要“参演”的角色进行标记,使用尚未正式介绍的命令gi t tag(无非就是在特定命名空间建立的引用,用于对提交的标识)。

+
$ git tag F
+$ git tag E HEAD^
+$ git tag D HEAD^^
+$ git tag C HEAD^^^
+$ git tag B HEAD~4
+$ git tag A HEAD~5
+
+
+

通过日志,可以看到被标记的6个提交。

+
$ git log --oneline --decorate -6
+b6f0b0a (HEAD, tag: F, master) modify hello.h
+48456ab (tag: E) add hello.h
+3488f2c (tag: D) move .gitignore outside also works.
+b3af728 (tag: C) ignore object files.
+d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
+c024f34 (tag: A) README is from welcome.txt.
+
+
+

现在演出第一幕:干掉坏蛋D

+
    +
  • 执行git checkout命令,暂时将HEAD头指针切换到C。

    +

    切换过程显示处于非跟踪状态的警告,没有关系,因为剧情需要。

    +
    $ git checkout C
    +Note: checking out 'C'.
    +
    +You are in 'detached HEAD' state. You can look around, make experimental
    +changes and commit them, and you can discard any commits you make in this
    +state without impacting any branches by performing another checkout.
    +
    +If you want to create a new branch to retain commits you create, you may
    +do so (now or later) by using -b with the checkout command again. Example:
    +
    +  git checkout -b new_branch_name
    +
    +HEAD is now at b3af728... ignore object files.
    +
    +
    +
  • +
  • 执行拣选操作将E提交在当前HEAD上重放。

    +

    因为Emaster^显然指向同一角色,因此可以用下面的语法。

    +
    $ git cherry-pick master^
    +[detached HEAD fa0b076] add hello.h
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 src/hello.h
    +
    +
    +
  • +
  • 执行拣选操作将F提交在当前HEAD上重放。

    +

    F和master也具有相同指向。

    +
    $ git cherry-pick master
    +[detached HEAD f677821] modify hello.h
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 通过日志可以看到坏蛋D已经不在了。

    +
    $ git log --oneline --decorate -6
    +f677821 (HEAD) modify hello.h
    +fa0b076 add hello.h
    +b3af728 (tag: C) ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
  • 通过日志还可以看出来,最新两次提交的原始创作日期(AuthorDate)和提交日期(CommitDate)不同。AuthorDate是拣选提交的原始更改时间,而CommitDate是拣选操作时的时间,因此拣选后的新提交的SHA1哈希值也不同于所拣选的原提交的SHA1哈希值。

    +
    $ git log --pretty=fuller --decorate -2
    +commit f677821dfc15acc22ca41b48b8ebaab5ac2d2fea (HEAD)
    +Author:     Jiang Xin <jiangxin@ossxp.com>
    +AuthorDate: Sun Dec 12 12:11:00 2010 +0800
    +Commit:     Jiang Xin <jiangxin@ossxp.com>
    +CommitDate: Sun Dec 12 16:20:14 2010 +0800
    +
    +    modify hello.h
    +
    +commit fa0b076de600a53e8703545c299090153c6328a8
    +Author:     Jiang Xin <jiangxin@ossxp.com>
    +AuthorDate: Tue Dec 7 19:39:10 2010 +0800
    +Commit:     Jiang Xin <jiangxin@ossxp.com>
    +CommitDate: Sun Dec 12 16:18:34 2010 +0800
    +
    +    add hello.h
    +
    +
    +
  • +
  • 最重要的一步操作,就是要将master分支指向新的提交ID(f677821)上。

    +

    下面的切换操作使用了reflog的语法,即HEAD@{1}相当于切换回master分支前的HEAD指向,即f677821

    +
    $ git checkout master
    +Previous HEAD position was f677821... modify hello.h
    +Switched to branch 'master'
    +$ git reset --hard HEAD@{1}
    +HEAD is now at f677821 modify hello.h
    +
    +
    +
  • +
  • 使用qgit查看版本库提交历史。

    +
    +../images/git-rebase-graph.png +
    +
  • +
+

幕布拉上,后台重新布景

+

为了第二幕能够顺利演出,需要将master分支重新置回到提交F上。执行下面的操作完成“重新布景”。

+
$ git checkout master
+Already on 'master'
+$ git reset --hard F
+HEAD is now at b6f0b0a modify hello.h
+$ git log --oneline --decorate -6
+b6f0b0a (HEAD, tag: F, master) modify hello.h
+48456ab (tag: E) add hello.h
+3488f2c (tag: D) move .gitignore outside also works.
+b3af728 (tag: C) ignore object files.
+d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
+c024f34 (tag: A) README is from welcome.txt.
+
+
+

布景完毕,大幕即将再次拉开。

+

现在演出第二幕:坏蛋D被感化,融入社会

+
    +
  • 执行git checkout命令,暂时将HEAD头指针切换到坏蛋D。

    +

    切换过程显示处于非跟踪状态的警告,没有关系,因为剧情需要。

    +
    $ git checkout D
    +Note: checking out 'D'.
    +
    +You are in 'detached HEAD' state. You can look around, make experimental
    +changes and commit them, and you can discard any commits you make in this
    +state without impacting any branches by performing another checkout.
    +
    +If you want to create a new branch to retain commits you create, you may
    +do so (now or later) by using -b with the checkout command again. Example:
    +
    +  git checkout -b new_branch_name
    +
    +HEAD is now at 3488f2c... move .gitignore outside also works.
    +
    +
    +
  • +
  • 悔棋两次,以便将C和D融合。

    +
    $ git reset --soft HEAD^^
    +
    +
    +
  • +
  • 执行提交,提交说明重用C提交的提交说明。

    +
    $ git commit -C C
    +[detached HEAD 53e621c] ignore object files.
    + 1 files changed, 3 insertions(+), 0 deletions(-)
    + create mode 100644 .gitignore
    +
    +
    +
  • +
  • 执行拣选操作将E提交在当前HEAD上重放。

    +
    $ git cherry-pick E
    +[detached HEAD 1f99f82] add hello.h
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 src/hello.h
    +
    +
    +
  • +
  • 执行拣选操作将F提交在当前HEAD上重放。

    +
    $ git cherry-pick F
    +[detached HEAD 2f13d3a] modify hello.h
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 通过日志可以看到提交C和D被融合,所以在日志中看不到C的标签。

    +
    $ git log --oneline --decorate -6
    +2f13d3a (HEAD) modify hello.h
    +1f99f82 add hello.h
    +53e621c ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
  • 最重要的一步操作,就是要将master分支指向新的提交ID(2f13d3a)上。

    +

    下面的切换操作使用了reflog的语法,即HEAD@{1}相当于切换回master分支前的HEAD指向,即2f13d3a

    +
    $ git checkout master
    +Previous HEAD position was 2f13d3a... modify hello.h
    +Switched to branch 'master'
    +$ git reset --hard HEAD@{1}
    +HEAD is now at 2f13d3a modify hello.h
    +
    +
    +
  • +
  • 使用gitk查看版本库提交历史。

    +
    +../images/git-rebase-graph-gitk.png +
    +
  • +
+

别忘了后台的重新布景

+

为了接下来的时间旅行二能够顺利开始,需要重新布景,将master分支重新置回到提交F上。

+
$ git checkout master
+Already on 'master'
+$ git reset --hard F
+HEAD is now at b6f0b0a modify hello.h
+
+
+
+
+

2.9.3.2. 时间旅行二

+

《回到未来-第二集》布朗博士改进的时间旅行车使用了未来科技,是陆天两用的飞车,而且燃料不再依赖核物质,而是使用无所不在的生活垃圾。而此次实践使用的工具也进行了升级,采用强大的git rebase命令。

+

命令git rebase是对提交执行变基操作,即可以实现将指定范围的提交“嫁接”到另外一个提交之上。其常用的命令行格式有:

+
用法1: git rebase --onto  <newbase>  <since>      <till>
+用法2: git rebase --onto  <newbase>  <since>
+用法3: git rebase         <newbase>               <till>
+用法4: git rebase         <newbase>
+用法5: git rebase -i ...
+用法6: git rebase --continue
+用法7: git rebase --skip
+用法8: git rebase --abort
+
+
+

不要被上面的语法吓到,用法5会在下节(时间旅行三)中予以介绍,后三种用法则是变基运行过程被中断时可采用的命令——继续变基或终止等。

+
    +
  • 用法6是在变基遇到冲突而暂停后,当完成冲突解决后(添加到暂存区,不提交),恢复变基操作的时候使用。
  • +
  • 用法7是在变基遇到冲突而暂停后,跳过当前提交的时候使用。
  • +
  • 用法8是在变基遇到冲突后,终止变基操作,回到之前的分支时候使用。
  • +
+

而前四个用法如果把省略的参数补上(方括号内是省略掉的参数),看起来就都和用法1就一致了。

+
用法1: git rebase  --onto  <newbase>  <since>      <till>
+用法2: git rebase  --onto  <newbase>  <since>      [HEAD]
+用法3: git rebase [--onto] <newbase>  [<newbase>]  <till>
+用法4: git rebase [--onto] <newbase>  [<newbase>]  [HEAD]
+
+
+

下面就以归一化的git rebase命令格式来介绍其用法。

+
命令格式: git rebase  --onto  <newbase>  <since>  <till>
+
+
+

变基操作的过程:

+
    +
  • 首先会执行git checkout切换到<till>

    +

    因为会切换到<till>,因此如果<till>指向的不是一个分支(如master),则变基操作是在detached HEAD(分离头指针)状态进行的,当变基结束后,还要像在“时间旅行一”中那样,对master分支执行重置以实现把变基结果记录在分支中。

    +
  • +
  • <since>..<till>所标识的提交范围写到一个临时文件中。

    +

    还记得前面介绍的版本范围语法,<since>..<till>是指包括<till>的所有历史提交排除<since>以及<since>的历史提交后形成的版本范围。

    +
  • +
  • 当前分支强制重置(git reset –hard)到<newbase>

    +

    相当于执行:git reset –hard <newbase>

    +
  • +
  • 从保存在临时文件中的提交列表中,一个一个将提交按照顺序重新提交到重置之后的分支上。

    +
  • +
  • 如果遇到提交已经在分支中包含,跳过该提交。

    +
  • +
  • 如果在提交过程遇到冲突,变基过程暂停。用户解决冲突后,执行git rebase –continue继续变基操作。或者执行git rebase –skip跳过此提交。或者执行git rebase –abort就此终止变基操作切换到变基前的分支上。

    +
  • +
+

很显然为了执行将E和F提交跳过提价D,“嫁接”到C提交上。可以如此执行变基命令:

+
$ git rebase --onto C E^ F
+
+
+

因为E^等价于D,并且F和当前HEAD指向相同,因此可以这样操作:

+
$ git rebase --onto C D
+
+
+

有了对变基命令的理解,就可以开始新的“回到未来”之旅了。

+

确认舞台已经布置完毕。

+
$ git status -s -b
+## master
+$ git log --oneline --decorate -6
+b6f0b0a (HEAD, tag: F, master) modify hello.h
+48456ab (tag: E) add hello.h
+3488f2c (tag: D) move .gitignore outside also works.
+b3af728 (tag: C) ignore object files.
+d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
+c024f34 (tag: A) README is from welcome.txt.
+
+
+

现在演出第一幕:干掉坏蛋D

+
    +
  • 执行变基操作。

    +

    因为下面的变基操命令行使用了参数F。F是一个里程碑指向一个提交,而非master,会导致后面变基完成还需要对master分支执行重置。在第二幕中会使用master,会发现省事不少。

    +
    $ git rebase --onto C E^ F
    +First, rewinding head to replay your work on top of it...
    +Applying: add hello.h
    +Applying: modify hello.h
    +
    +
    +
  • +
  • 最后一步必需的操作,就是要将master分支指向变基后的提交上。

    +

    下面的切换操作使用了reflog的语法,即HEAD@{1}相当于切换回master分支前的HEAD指向,即3360440

    +
    $ git checkout master
    +Previous HEAD position was 3360440... modify hello.h
    +Switched to branch 'master'
    +$ git reset --hard HEAD@{1}
    +HEAD is now at 3360440 modify hello.h
    +
    +
    +
  • +
  • 经过检查,操作完毕,收工。

    +
    $ git log --oneline --decorate -6
    +3360440 (HEAD, master) modify hello.h
    +1ef3803 add hello.h
    +b3af728 (tag: C) ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
+

幕布拉上,后台重新布景

+

为了第二幕能够顺利演出,需要将master分支重新置回到提交F上。执行下面的操作完成“重新布景”。

+
$ git checkout master
+Already on 'master'
+$ git reset --hard F
+HEAD is now at b6f0b0a modify hello.h
+
+
+

布景完毕,大幕即将再次拉开。

+

现在演出第二幕:坏蛋D被感化,融入社会

+
    +
  • 执行git checkout命令,暂时将HEAD头指针切换到坏蛋D。

    +

    切换过程显示处于非跟踪状态的警告,没有关系,因为剧情需要。

    +
    $ git checkout D
    +Note: checking out 'D'.
    +
    +You are in 'detached HEAD' state. You can look around, make experimental
    +changes and commit them, and you can discard any commits you make in this
    +state without impacting any branches by performing another checkout.
    +
    +If you want to create a new branch to retain commits you create, you may
    +do so (now or later) by using -b with the checkout command again. Example:
    +
    +  git checkout -b new_branch_name
    +
    +HEAD is now at 3488f2c... move .gitignore outside also works.
    +
    +
    +
  • +
  • 悔棋两次,以便将C和D融合。

    +
    $ git reset --soft HEAD^^
    +
    +
    +
  • +
  • 执行提交,提交说明重用C提交的提交说明。

    +
    $ git commit -C C
    +[detached HEAD 2d020b6] ignore object files.
    + 1 files changed, 3 insertions(+), 0 deletions(-)
    + create mode 100644 .gitignore
    +
    +
    +
  • +
  • 记住这个提交ID:2d020b6

    +

    用里程碑是最好的记忆提交ID的方法:

    +
    $ git tag newbase
    +$ git rev-parse newbase
    +2d020b62034b7a433f80396118bc3f66a60f296f
    +
    +
    +
  • +
  • 执行变基操作,将E和F提交“嫁接”到newbase上。

    +

    下面的变基操命令行没有像之前的操作使用使用了参数F,而是使用分支master。所以接下来的变基操作会直接修改master分支,而无须再进行对master的重置操作。

    +
    $ git rebase --onto newbase E^ master
    +First, rewinding head to replay your work on top of it...
    +Applying: add hello.h
    +Applying: modify hello.h
    +
    +
    +
  • +
  • 看看提交日志,看到提交C和提交D都不见了,代之以融合后的提交newbase

    +

    还可以看到最新的提交除了和HEAD的指向一致,也和master分支的指向一致。

    +
    $ git log --oneline --decorate -6
    +2495dc1 (HEAD, master) modify hello.h
    +6349328 add hello.h
    +2d020b6 (tag: newbase) ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
  • 当前的确已经在master分支上了,操作全部完成。

    +
    $ git branch
    +* master
    +
    +
    +
  • +
  • 清理一下,然后收工。

    +

    前面的操作中为了方便创建了标识提交的新里程碑newbase,将这个里程碑现在没有什么用处了删除吧。

    +
    $ git tag -d newbase
    +Deleted tag 'newbase' (was 2d020b6)
    +
    +
    +
  • +
+

别忘了后台的重新布景

+

为了接下来的时间旅行三能够顺利开始,需要重新布景,将master分支重新置回到提交F上。

+
$ git checkout master
+Already on 'master'
+$ git reset --hard F
+HEAD is now at b6f0b0a modify hello.h
+
+
+
+
+

2.9.3.3. 时间旅行三

+

《回到未来-第三集》铁匠布朗博士手工打造了可以时光旅行的飞行火车,使用蒸汽作为动力。这款时间旅行火车更大,更安全,更舒适,适合一家四口外加宠物的时空旅行。与之对应本次实践也将采用“手工打造”:交互式变基。

+

交互式变基就是在上一节介绍的变基命令的基础上,添加了-i参数,在变基的时候进入一个交互界面。使用了交互界面的变基操作,不仅仅是自动化变基转换为手动确认那么没有技术含量,而是充满了魔法。

+

执行交互式变基操作,会将<since>..<till>的提交悉数罗列在一个文件中,然后自动打开一个编辑器来编辑这个文件。可以通过修改文件的内容(删除提交,修改提交的动作关键字)实现删除提交,压缩多个提交为一个提交,更改提交的顺序,更改历史提交的提交说明。

+

例如下面的界面就是针对当前DEMO版本库执行的交互式变基时编辑器打开的文件:

+
pick b3af728 ignore object files.
+pick 3488f2c move .gitignore outside also works.
+pick 48456ab add hello.h
+pick b6f0b0a modify hello.h
+
+# Rebase d71ce92..b6f0b0a onto d71ce92
+#
+# Commands:
+#  p, pick = use commit
+#  r, reword = use commit, but edit the commit message
+#  e, edit = use commit, but stop for amending
+#  s, squash = use commit, but meld into previous commit
+#  f, fixup = like "squash", but discard this commit's log message
+#  x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
+#
+# If you remove a line here THAT COMMIT WILL BE LOST.
+# However, if you remove everything, the rebase will be aborted.
+
+
+

从该文件可以看出:

+
    +
  • 开头的四行由上到下依次对应于提交C、D、E、F。

    +
  • +
  • 前四行缺省的动作都是pick,即应用此提交。

    +
  • +
  • 参考配置文件中的注释,可以通过修改动作名称,在变基的时候执行特定操作。

    +
  • +
  • 动作reword或者简写为r,含义是变基时应用此提交,但是在提交的时候允许用户修改提交说明。

    +

    这个功能在Git 1.6.6 之后开始提供,对于修改历史提交的提交说明异常方便。老版本的Git还是使用edit动作吧。

    +
  • +
  • 动作edit或者简写为e,也会应用此提交,但是会在应用时停止,提示用户使用git commit –amend执行提交,以便对提交进行修补。

    +

    当用户执行git commit –amend完成提交后,还需要执行git rebase –continue继续变基操作。Git会对用户进行相应地提示。

    +

    实际上用户在变基暂停状态执行修补提交可以执行多次,相当于把一个提交分解为多个提交。而且edit动作也可以实现reword的动作,因此对于老版本的Git没有reword可用,则可以使用此动作。

    +
  • +
  • 动作squash或者简写为s,该提交会与前面的提交压缩为一个。

    +
  • +
  • 动作fixup或者简写为f,类似squash动作,但是此提交的提交说明被丢弃。

    +

    这个功能在Git 1.7.0 之后开始提供,老版本的Git还是使用squash动作吧。

    +
  • +
  • 可以通过修改配置文件中这四个提交的先后顺序,进而改变最终变基后提交的先后顺序。

    +
  • +
  • 可以对相应提交对应的行执行删除操作,这样该提交就不会被应用,进而在变基后的提交中被删除。

    +
  • +
+

有了对交互式变基命令的理解,就可以开始新的“回到未来”之旅了。

+

确认舞台已经布置完毕。

+
$ git status -s -b
+## master
+$ git log --oneline --decorate -6
+b6f0b0a (HEAD, tag: F, master) modify hello.h
+48456ab (tag: E) add hello.h
+3488f2c (tag: D) move .gitignore outside also works.
+b3af728 (tag: C) ignore object files.
+d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
+c024f34 (tag: A) README is from welcome.txt.
+
+
+

现在演出第一幕:干掉坏蛋D

+
    +
  • 执行交互式变基操作。

    +
    $ git rebase -i D^
    +
    +
    +
  • +
  • 自动用编辑器修改文件。文件内容如下:

    +
    pick 3488f2c move .gitignore outside also works.
    +pick 48456ab add hello.h
    +pick b6f0b0a modify hello.h
    +
    +# Rebase b3af728..b6f0b0a onto b3af728
    +#
    +# Commands:
    +#  p, pick = use commit
    +#  r, reword = use commit, but edit the commit message
    +#  e, edit = use commit, but stop for amending
    +#  s, squash = use commit, but meld into previous commit
    +#  f, fixup = like "squash", but discard this commit's log message
    +#  x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
    +#
    +# If you remove a line here THAT COMMIT WILL BE LOST.
    +# However, if you remove everything, the rebase will be aborted.
    +#
    +
    +
    +
  • +
  • 将第一行删除,使得上面的配置文件看起来像是这样(省略井号开始的注释):

    +
    pick 48456ab add hello.h
    +pick b6f0b0a modify hello.h
    +
    +
    +
  • +
  • 保存退出。

    +
  • +
  • 变基自动开始,即刻完成。

    +

    显示下面的内容。

    +
    Successfully rebased and updated refs/heads/master.
    +
    +
    +
  • +
  • 看看日志。当前分支master已经完成变基,消灭了“坏蛋D”。

    +
    $ git log --oneline --decorate -6
    +78e5133 (HEAD, master) modify hello.h
    +11eea7e add hello.h
    +b3af728 (tag: C) ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
+

幕布拉上,后台重新布景

+

为了第二幕能够顺利演出,需要将master分支重新置回到提交F上。执行下面的操作完成“重新布景”。

+
$ git checkout master
+Already on 'master'
+$ git reset --hard F
+HEAD is now at b6f0b0a modify hello.h
+
+
+

布景完毕,大幕即将再次拉开。

+

现在演出第二幕:坏蛋D被感化,融入社会

+
    +
  • 同样执行交互式变基操作,不过因为要将C和D压缩为一个,因此变基从C的父提交开始。

    +
    $ git rebase -i C^
    +
    +
    +
  • +
  • 自动用编辑器修改文件。文件内容如下(忽略井号开始的注释):

    +
    pick b3af728 ignore object files.
    +pick 3488f2c move .gitignore outside also works.
    +pick 48456ab add hello.h
    +pick b6f0b0a modify hello.h
    +
    +
    +
  • +
  • 修改第二行(提交D),将动作由pick修改为squash

    +

    修改后的内容如下:

    +
    pick b3af728 ignore object files.
    +squash 3488f2c move .gitignore outside also works.
    +pick 48456ab add hello.h
    +pick b6f0b0a modify hello.h
    +
    +
    +
  • +
  • 保存退出。

    +
  • +
  • 自动开始变基操作,在执行到squash命令设定的提交时,进入提交前的日志编辑状态。

    +

    显示的待编辑日志如下。很明显C和D的提交说明显示在了一起。

    +
    # This is a combination of 2 commits.
    +# The first commit's message is:
    +
    +ignore object files.
    +
    +# This is the 2nd commit message:
    +
    +move .gitignore outside also works.
    +
    +
    +
  • +
  • 保存退出,即完成squash动作标识的提交以及后续变基操作。

    +
  • +
  • 看看提交日志,看到提交C和提交D都不见了,代之以一个融合后的提交。

    +
    $ git log --oneline --decorate -6
    +c0c2a1a (HEAD, master) modify hello.h
    +c1e8b66 add hello.h
    +db512c0 ignore object files.
    +d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
    +c024f34 (tag: A) README is from welcome.txt.
    +63992f0 restore file: welcome.txt
    +
    +
    +
  • +
  • 可以看到融合C和D的提交日志实际上是两者日志的融合。在前面单行显示的日志中看不出来。

    +
    $ git cat-file -p HEAD^^
    +tree 00239a5d0daf9824a23cbf104d30af66af984e27
    +parent d71ce9255b3b08c718810e4e31760198dd6da243
    +author Jiang Xin <jiangxin@ossxp.com> 1291720899 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1292153393 +0800
    +
    +ignore object files.
    +
    +move .gitignore outside also works.
    +
    +
    +
  • +
+

时光旅行结束了,多么神奇的Git啊。

+
+
+
+

2.9.4. 丢弃历史

+

历史有的时候会成为负担。例如一个人使用的版本库有一天需要作为公共版本库多人共享,最早的历史可能不希望或者没有必要继续保持存在,需要一个抛弃部分早期历史提交的精简的版本库用于和他人共享。再比如用Git做文件备份,不希望备份的版本过多导致不必要的磁盘空间占用,同样会有精简版本的需要:只保留最近的100次提交,抛弃之前的历史提交。那么应该如何操作呢?

+

使用交互式变基当然可以完成这样的任务,但是如果历史版本库有成百上千个,把成百上千个版本的变基动作有pick修改为fixup可真的很费事,实际上Git有更简便的方法。

+

现在DEMO版本库有如下的提交记录:

+
$ git log --oneline --decorate
+c0c2a1a (HEAD, master) modify hello.h
+c1e8b66 add hello.h
+db512c0 ignore object files.
+d71ce92 (tag: hello_1.0, tag: B) Hello world initialized.
+c024f34 (tag: A) README is from welcome.txt.
+63992f0 restore file: welcome.txt
+7161977 delete trash files. (using: git add -u)
+2b31c19 (tag: old_practice) Merge commit 'acc2f69'
+acc2f69 commit in detached HEAD mode.
+4902dc3 does master follow this new commit?
+e695606 which version checked in?
+a0c641e who does commit?
+9e8a761 initialized.
+
+
+

如果希望把里程碑A(c024f34)之前的历史提交历史全部清除可以如下进行操作。

+
    +
  • 查看里程碑A指向的目录树。

    +

    A^{tree}语法访问里程碑A对应的目录树。

    +
    $ git cat-file -p A^{tree}
    +100644 blob 51dbfd25a804c30e9d8dc441740452534de8264b    README
    +
    +
    +
  • +
  • 使用git commit-tree命令直接从该目录树创建提交。

    +
    $ echo "Commit from tree of tag A." | git commit-tree A^{tree}
    +8f7f94ba6a9d94ecc1c223aa4b311670599e1f86
    +
    +
    +
  • +
  • 命令git commit-tree的输出是一个提交的SHA1哈希值。查看这个提交。

    +

    会发现这个提交没有历史提交,可以称之为孤儿提交。

    +
    $ git log 8f7f94ba6a9d94ecc1c223aa4b311670599e1f86
    +commit 8f7f94ba6a9d94ecc1c223aa4b311670599e1f86
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Mon Dec 13 14:17:17 2010 +0800
    +
    +    Commit from tree of tag A.
    +
    +
    +
  • +
  • 执行变基,将master分支从里程碑到最新的提交全部迁移到刚刚生成的孤儿提交上。

    +
    $ git rebase --onto 8f7f94ba6a9d94ecc1c223aa4b311670599e1f86 A master
    +First, rewinding head to replay your work on top of it...
    +Applying: Hello world initialized.
    +Applying: ignore object files.
    +Applying: add hello.h
    +Applying: modify hello.h
    +
    +
    +
  • +
  • 查看日志看到当前master分支的历史已经精简了。

    +
    $ git log --oneline --decorate
    +2584639 (HEAD, master) modify hello.h
    +30fe8b3 add hello.h
    +4dd8a65 ignore object files.
    +5f2cae1 Hello world initialized.
    +8f7f94b Commit from tree of tag A.
    +
    +
    +
  • +
+

使用图形工具查看提交历史,会看到两棵树:最上面的一棵树是刚刚通过变基抛弃了大部分历史提交的新的master分支,下面的一棵树则是变基前的提交形成的。下面的一棵树之所以还能够看到,或者说还没有从版本库中彻底清除,是因为有部分提交仍带有里程碑标签。

+
+../images/git-rebase-purge-history-graph.png +
+
+
+

2.9.5. 反转提交

+

前面介绍的操作都涉及到对历史的修改,这对于一个人使用Git没有问题,但是如果多人协同就会有问题了。多人协同使用Git,在本地版本库做的提交会通过多人之间的交互成为他人版本库的一部分,更改历史操作只能是针对自己的版本库,而无法去修改他人的版本库,正所谓“覆水难收”。在这种情况下要想修正一个错误历史提交的正确做法是反转提交,即重新做一次新的提交,相当于错误的历史提交的反向提交,修正错误的历史提交。

+

Git反向提交命令是:git revert,下面在DEMO版本库中实践一下。注意:Subversion的用户不要想当然的和svn revert命令对应,这两个版本控制系统中的revert命令的功能完全不相干。

+

当前DEMO版本库最新的提交包含如下改动:

+
$ git show HEAD
+commit 25846394defe16eab103b92efdaab5e46cc3dc22
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Sun Dec 12 12:11:00 2010 +0800
+
+    modify hello.h
+
+diff --git a/README b/README
+index 51dbfd2..ceaf01b 100644
+--- a/README
++++ b/README
+@@ -1,3 +1,4 @@
+ Hello.
+ Nice to meet you.
+ Bye-Bye.
++Wait...
+diff --git a/src/hello.h b/src/hello.h
+index 0043c3b..6e482c6 100644
+--- a/src/hello.h
++++ b/src/hello.h
+@@ -1 +1,2 @@
+ /* test */
++/* end */
+
+
+

在不改变这个提交的前提下对其修改进行撤销,就需要用到git revert反转提交。

+
$ git revert HEAD
+
+
+

运行该命令相当于将HEAD提交反向再提交一次,在提交说明编辑状态下暂停,显示如下(注释行被忽略):

+
Revert "modify hello.h"
+
+This reverts commit 25846394defe16eab103b92efdaab5e46cc3dc22.
+
+
+

可以在编辑器中修改提交说明,提交说明编辑完毕保存退出则完成反转提交。查看提交日志可以看到新的提交相当于所撤销提交的反向提交。

+
$ git log --stat -2
+commit 6e6753add1601c4efa7857ab4c5b245e0e161314
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Mon Dec 13 15:19:12 2010 +0800
+
+    Revert "modify hello.h"
+
+    This reverts commit 25846394defe16eab103b92efdaab5e46cc3dc22.
+
+ README      |    1 -
+ src/hello.h |    1 -
+ 2 files changed, 0 insertions(+), 2 deletions(-)
+
+commit 25846394defe16eab103b92efdaab5e46cc3dc22
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Sun Dec 12 12:11:00 2010 +0800
+
+    modify hello.h
+
+ README      |    1 +
+ src/hello.h |    1 +
+ 2 files changed, 2 insertions(+), 0 deletions(-)
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/100-git-clone.html b/02-git-solo/100-git-clone.html new file mode 100644 index 000000000..fde0319c1 --- /dev/null +++ b/02-git-solo/100-git-clone.html @@ -0,0 +1,452 @@ + + + + + + + + + 2.10. Git克隆 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.9. 改变历史

+

下一个主题

+

2.11. Git库管理

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.10. Git克隆

+

到现在为止,读者已经零略到Git的灵活性以及健壮性。Git可以通过重置随意撤销提交,可以通过变基操作更改历史,可以随意重组提交,还可以通过reflog的记录纠正错误的操作。但是再健壮的版本库设计,也抵挡不了存储介质的崩溃。还有一点就是不要忘了Git版本库是躲在工作区根目录下的.git目录中,如果忘了这一点直接删除工作区,就会把版本库也同时删掉,悲剧就此发生。

+

“不要把鸡蛋装在一个篮子里”,是颠扑不破的安全法则。

+

在本章会学习到如何使用git clone命令建立版本库克隆,以及如何使用git pushgit pull命令实现克隆之间的同步。

+
+

2.10.1. 鸡蛋不装在一个篮子里

+

Git的版本库目录和工作区在一起,因此存在一损俱损的问题,即如果删除一个项目的工作区,同时也会把这个项目的版本库删除掉。一个项目仅在一个工作区中维护太危险了,如果有两个工作区就会好很多。

+
+../images/git-clone-pull-push.png +
+

上图中一个项目使用了两个版本库进行维护,两个版本库之间通过拉回(PULL)和/或推送(PUSH)操作实现同步。

+
    +
  • 版本库A通过克隆操作创建克隆版本库B。
  • +
  • 版本库A可以通过推送(PUSH)操作,将新提交传递给版本库B;
  • +
  • 版本库A可以通过拉回(PULL)操作,将版本库B中的新提交拉回到自身(A)。
  • +
  • 版本库B可以通过拉回(PULL)操作,将版本库A中的新提交拉回到自身(B)。
  • +
  • 版本库B可以通过推送(PUSH)操作,将新提交传递给版本库A;
  • +
+

Git使用git clone命令实现版本库克隆,主要有如下三种用法:

+
用法1: git clone <repository> <directory>
+用法2: git clone --bare   <repository> <directory.git>
+用法3: git clone --mirror <repository> <directory.git>
+
+
+

这三种用法的区别如下:

+
    +
  • 用法1将<repository>指向的版本库创建一个克隆到<directory>目录。目录<directory>相当于克隆版本库的工作区,文件都会检出,版本库位于工作区下的.git目录中。
  • +
  • 用法2和用法3创建的克隆版本库都不含工作区,直接就是版本库的内容,这样的版本库称为裸版本库。一般约定俗成裸版本库的目录名以.git为后缀,所以上面示例中将克隆出来的裸版本库目录名写做<directory.git>
  • +
  • 用法3区别于用法2之处在于用法3克隆出来的裸版本对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步。
  • +
  • 用法3只在 1.6.0 或更新版本的Git才提供。
  • +
+

Git的PUSH和PULL命令的用法相似,使用下面的语法:

+
git push [<remote-repos> [<refspec>]]
+git pull [<remote-repos> [<refspec>]]
+
+
+

其中方括号的含义是参数可以省略,<remote-repos>是远程版本库的地址或名称,<refspec>是引用表达式,暂时理解为引用即可。在后面的章节再具体介绍PUSH和PULL命令的细节。

+

下面就通过不同的Git命令组合,掌握版本库克隆和镜像的技巧。

+
+
+

2.10.2. 对等工作区

+

不使用--bare或者--mirror创建出来的克隆包含工作区,这样就会产生两个包含工作区的版本库。这两个版本库是对等的,如下图。

+
+../images/git-clone-1.png +
+

这两个工作区本质上没有区别,但是往往提交是在一个版本(A)中进行的,另外一个(B)作为备份。对于这种对等工作区模式,版本库的同步只有一种可行的操作模式,就是在备份库(B)执行 git pull 命令从源版本库(A)拉回新的提交实现版本库同步。为什么不能从版本库A向版本库B执行 git push 的推送操作呢?看看下面的操作。

+

执行克隆命令,将版本库/path/to/my/workspace/demo克隆到/path/to/my/workspace/demo-backup

+
$ git clone /path/to/my/workspace/demo /path/to/my/workspace/demo-backup
+Cloning into /path/to/my/workspace/demo-backup...
+done.
+
+
+

进入 demo 版本库,生成一些测试提交(使用--allow-empty参数可以生成空提交)。

+
$ cd /path/to/my/workspace/demo/
+$ git commit --allow-empty -m "sync test 1"
+[master 790e72a] sync test 1
+$ git commit --allow-empty -m "sync test 2"
+[master f86b7bf] sync test 2
+
+
+

能够在 demo 版本库向 demo-backup 版本库执行PUSH操作么?执行一下git push看一看。

+
$ git push /path/to/my/workspace/demo-backup
+Counting objects: 2, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (2/2), done.
+Writing objects: 100% (2/2), 274 bytes, done.
+Total 2 (delta 1), reused 0 (delta 0)
+Unpacking objects: 100% (2/2), done.
+remote: error: refusing to update checked out branch: refs/heads/master
+remote: error: By default, updating the current branch in a non-bare repository
+remote: error: is denied, because it will make the index and work tree inconsistent
+remote: error: with what you pushed, and will require 'git reset --hard' to match
+remote: error: the work tree to HEAD.
+remote: error:
+remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
+remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
+remote: error: its current branch; however, this is not recommended unless you
+remote: error: arranged to update its work tree to match what you pushed in some
+remote: error: other way.
+remote: error:
+remote: error: To squelch this message and still keep the default behaviour, set
+remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
+To /path/to/my/workspace/demo-backup
+ ! [remote rejected] master -> master (branch is currently checked out)
+error: failed to push some refs to '/path/to/my/workspace/demo-backup'
+
+
+

翻译成中文:

+
$ git push /path/to/my/workspace/demo-backup
+...
+对方说: 错了:
+              拒绝更新已检出的分支 refs/heads/master 。
+              缺省更新非裸版本库的当前分支是不被允许的,因为这将会导致
+              暂存区和工作区与您推送至版本库的新提交不一致。这太古怪了。
+
+              如果您一意孤行,也不是不允许,但是您需要为我设置如下参数:
+
+                  receive.denyCurrentBranch = ignore|warn
+
+              到 /path/to/my/workspace/demo-backup
+
+ ! [对方拒绝] master -> master (分支当前已检出)
+错误: 部分引用的推送失败了, 至 '/path/to/my/workspace/demo-backup'
+
+
+

从错误输出可以看出,虽然可以改变Git的缺省行为,允许向工作区推送已经检出的分支,但是这么做实在不高明。

+

为了实现同步,需要进入到备份版本库中,执行git pull命令。

+
$ git pull
+From /path/to/my/workspace/demo
+   6e6753a..f86b7bf  master     -> origin/master
+Updating 6e6753a..f86b7bf
+Fast-forward
+
+
+

在 demo-backup 版本库中查看提交日志,可以看到在 demo 版本库中的新提交已经被拉回到 demo-backup 版本库中。

+
$ git log --oneline -2
+f86b7bf sync test 2
+790e72a sync test 1
+
+
+

为什么执行 git pull 拉回命令没有像执行 git push 命令那样提供那么多的参数呢?

+

这是因为在执行git clone操作后,克隆出来的demo-backup版本库中对源版本库(上游版本库)进行了注册,所以当在 demo-backup 版本库执行拉回操作,无须设置上游版本库的地址。

+

在 demo-backup 版本库中可以使用下面的命令查看对上游版本库的注册信息:

+
$ cd /path/to/my/workspace/demo-backup
+$ git remote -v
+origin  /path/to/my/workspace/demo (fetch)
+origin  /path/to/my/workspace/demo (push)
+
+
+

实际注册上游远程版本库的奥秘都在Git的配置文件中(略去无关的行):

+
$ cat /path/to/my/workspace/demo-backup/.git/config
+...
+[remote "origin"]
+        fetch = +refs/heads/*:refs/remotes/origin/*
+        url = /path/to/my/workspace/demo
+[branch "master"]
+        remote = origin
+        merge = refs/heads/master
+
+
+

关于配置文件[remote]小节和[branch]小节的奥秘在后面的章节予以介绍。

+
+
+

2.10.3. 克隆生成裸版本库

+

上一节在对等工作区模式下,工作区之间执行推送,可能会引发大段的错误输出,如果采用裸版本库则没有相应的问题。这是因为裸版本库没有工作区。没有工作区还有一个好处就是空间占用会更小。

+
+../images/git-clone-2.png +
+

使用--bare参数克隆demo版本库到/path/to/repos/demo.git,然后就可以从 demo 版本库向克隆的裸版本库执行推送操作了。(为了说明方便,使用了/path/to/repos/作为Git裸版本的根路径,在后面的章节中这个目录也作为Git服务器端版本库的根路径。可以在磁盘中以root账户创建该路径并设置正确的权限。)

+
$ git clone --bare /path/to/my/workspace/demo /path/to/repos/demo.git
+Cloning into bare repository /path/to/repos/demo.git...
+done.
+
+
+

克隆出来的/path/to/repos/demo.git目录就是版本库目录,不含工作区。

+
    +
  • 看看/path/to/repos/demo.git目录的内容。

    +
    $ ls -F /path/to/repos/demo.git
    +branches/  config  description  HEAD  hooks/  info/  objects/  packed-refs  refs/
    +
    +
    +
  • +
  • 还可以看到demo.git版本库core.bare的配置为true

    +
    $ git --git-dir=/path/to/repos/demo.git config core.bare
    +true
    +
    +
    +
  • +
+

进入demo版本库,生成一些测试提交。

+
$ cd /path/to/my/workspace/demo/
+$ git commit --allow-empty -m "sync test 3"
+[master d4b42b7] sync test 3
+$ git commit --allow-empty -m "sync test 4"
+[master 0285742] sync test 4
+
+
+

在demo版本库向demo-backup版本库执行PUSH操作,还会有错误么?

+
    +
  • 不带参数执行git push,因为未设定上游远程版本库,因此会报错:

    +
    $ git push
    +fatal: No destination configured to push to.
    +
    +
    +
  • +
  • 在执行git push时使用/path/to/repos/demo.git作为参数。

    +

    推送成功。

    +
    $ git push /path/to/repos/demo.git
    +Counting objects: 2, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (2/2), done.
    +Writing objects: 100% (2/2), 275 bytes, done.
    +Total 2 (delta 1), reused 0 (delta 0)
    +Unpacking objects: 100% (2/2), done.
    +To /path/to/repos/demo.git
    +   f86b7bf..0285742  master -> master
    +
    +
    +
  • +
+

看看demo.git版本库,是否已经完成了同步?

+
$ git log --oneline -2
+0285742 sync test 4
+d4b42b7 sync test 3
+
+
+

这个方式实现版本库本地镜像显然是更好的方法,因为可以直接在工作区修改、提交,然后执行git push命令实现推送。稍有一点遗憾的是推送命令还需要加上裸版本库的路径。这个遗憾在后面介绍远程版本库的章节会给出解决方案。

+
+
+

2.10.4. 创建生成裸版本库

+

裸版本库不但可以通过克隆的方式创建,还可以通过git init命令以初始化的方式创建。之后的同步方式和上一节大同小异。

+
+../images/git-clone-3.png +
+

命令git init在“Git初始化”一章就已经用到了,是用于初始化一个版本库的。之前执行git init命令初始化的版本库是带工作区的,如何以裸版本库的方式初始化一个版本库呢?奥秘就在于--bare参数。

+

下面的命令会创建一个空的裸版本库于目录/path/to/repos/demo-init.git 中。

+
$ git init --bare /path/to/repos/demo-init.git
+Initialized empty Git repository in /path/to/repos/demo-init.git/
+
+
+

创建的果真是裸版本库么?

+
    +
  • 看看 /path/to/repos/demo-init.git 下的内容:

    +
    $ ls -F /path/to/repos/demo-init.git
    +branches/  config  description  HEAD  hooks/  info/  objects/  refs/
    +
    +
    +
  • +
  • 看看这个版本库的配置core.bare的值:

    +
    $ git --git-dir=/path/to/repos/demo-init.git config core.bare
    +true
    +
    +
    +
  • +
+

可是空版本库没有内容啊,那就执行PUSH操作为其创建内容呗。

+
$ cd /path/to/my/workspace/demo
+$ git push /path/to/repos/demo-init.git
+No refs in common and none specified; doing nothing.
+Perhaps you should specify a branch such as 'master'.
+fatal: The remote end hung up unexpectedly
+error: failed to push some refs to '/path/to/repos/demo-init.git'
+
+
+

为什么出错了?翻译一下错误输出。

+
$ cd /path/to/my/workspace/demo
+$ git push /path/to/repos/demo-init.git
+没有指定要推送的引用,而且两个版本库也没有共同的引用。
+所以什么也没有做。
+可能您需要提供要推送的分支名,如 'master'。
+严重错误:远程操作意外终止
+错误:部分引用推送失败,至 '/path/to/repos/demo-init.git'
+
+
+

关于这个问题详细说明要在后面的章节介绍,这里先说一个省略版:因为/path/to/repos/demo-init.git 版本库刚刚初始化完成,还没有任何提交更不要说分支了。当执行git push命令时,如果没有设定推送的分支,而且当前分支也没有注册到远程某个分支,将检查远程分支是否有和本地相同的分支名(如master),如果有,则推送,否则报错。

+

所以需要把git push命令写的再完整一些。像下面这样操作,就可以完成向空的裸版本库的推送。

+
$ git push /path/to/repos/demo-init.git master:master
+Counting objects: 26, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (20/20), done.
+Writing objects: 100% (26/26), 2.49 KiB, done.
+Total 26 (delta 8), reused 0 (delta 0)
+Unpacking objects: 100% (26/26), done.
+To /path/to/repos/demo-init.git
+ * [new branch]      master -> master
+
+
+

上面的git push命令也可以简写为:git push /pat +h/to/repos/demo-init.git master

+

推送成功了么?看看demo-init.git版本库中的提交。

+
$ git --git-dir=/path/to/repos/demo-init.git log --oneline -2
+0285742 sync test 4
+d4b42b7 sync test 3
+
+
+

好了继续在 demo 中执行几次提交。

+
$ cd /path/to/my/workspace/demo/
+$ git commit --allow-empty -m "sync test 5"
+[master 424aa67] sync test 5
+$ git commit --allow-empty -m "sync test 6"
+[master 70a5aa7] sync test 6
+
+
+

然后再向demo-init.git推送。注意这次使用的命令。

+
$ git push /path/to/repos/demo-init.git
+Counting objects: 2, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (2/2), done.
+Writing objects: 100% (2/2), 273 bytes, done.
+Total 2 (delta 1), reused 0 (delta 0)
+Unpacking objects: 100% (2/2), done.
+To /path/to/repos/demo-init.git
+   0285742..70a5aa7  master -> master
+
+
+

为什么这次使用git push命令后面没有跟上分支名呢?这是因为远程版本库(demo-init.git)中已经不再是空版本库了,而且有名为master的分支。

+

通过下面的命令可以查看远程版本库的分支。

+
$ git ls-remote /path/to/repos/demo-init.git
+70a5aa7a7469076fd435a9e4f89c4657ba603ced        HEAD
+70a5aa7a7469076fd435a9e4f89c4657ba603ced        refs/heads/master
+
+
+

至此相信读者已经能够把鸡蛋放在不同的篮子中了,也对Git更加的喜爱了吧。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/110-git-admin.html b/02-git-solo/110-git-admin.html new file mode 100644 index 000000000..0a2230207 --- /dev/null +++ b/02-git-solo/110-git-admin.html @@ -0,0 +1,629 @@ + + + + + + + + + 2.11. Git库管理 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

2.10. Git克隆

+

下一个主题

+

3. Git和声

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2.11. Git库管理

+

版本库管理?那不是管理员要干的事情么,怎么放在“Git独奏”这一部分了?

+

没有错,这是因为对于Git,每个用户都是自己版本库的管理员,所以在“Git独奏”的最后一章,来谈一谈Git版本库管理的问题。如果下面的问题您没有遇到或者不感兴趣,读者大可以放心的跳过这一章。

+
    +
  • 从网上克隆来的版本库,为什么对象库中找不到对象文件?而且引用目录里也看不到所有的引用文件?
  • +
  • 不小心添加了一个大文件到Git库中,用重置命令丢弃了包含大文件的提交,可是版本库不见小,大文件仍在对象库中。
  • +
  • 本地版本库的对象库里文件越来越多,这可能导致Git性能的降低。
  • +
+
+

2.11.1. 对象和引用哪里去了?

+

从GitHub上克隆一个示例版本库,这个版本库在“历史穿梭”一章就已经克隆过一次了,现在要重新克隆一份。为了和原来的克隆相区别,克隆到另外的目录。执行下面的命令。

+
$ cd /path/to/my/workspace/
+$ git clone git://github.com/ossxp-com/gitdemo-commit-tree.git i-am-admin
+Cloning into i-am-admin...
+remote: Counting objects: 65, done.
+remote: Compressing objects: 100% (53/53), done.
+remote: Total 65 (delta 8), reused 0 (delta 0)
+Receiving objects: 100% (65/65), 78.14 KiB | 42 KiB/s, done.
+Resolving deltas: 100% (8/8), done.
+
+
+

进入克隆的版本库,使用git show-ref命令看看所含的引用。

+
$ cd /path/to/my/workspace/i-am-admin
+$ git show-ref
+6652a0dce6a5067732c00ef0a220810a7230655e refs/heads/master
+6652a0dce6a5067732c00ef0a220810a7230655e refs/remotes/origin/HEAD
+6652a0dce6a5067732c00ef0a220810a7230655e refs/remotes/origin/master
+c9b03a208288aebdbfe8d84aeb984952a16da3f2 refs/tags/A
+1a87782f8853c6e11aacba463af04b4fa8565713 refs/tags/B
+9f8b51bc7dd98f7501ade526dd78c55ee4abb75f refs/tags/C
+887113dc095238a0f4661400d33ea570e5edc37c refs/tags/D
+6decd0ad3201ddb3f5b37c201387511059ac120c refs/tags/E
+70cab20f099e0af3f870956a3fbbbda50a17864f refs/tags/F
+96793e37c7f1c7b2ddf69b4c1e252763c11a711f refs/tags/G
+476e74549047e2c5fbd616287a499cc6f07ebde0 refs/tags/H
+76945a15543c49735634d58169b349301d65524d refs/tags/I
+f199c10c3f1a54fa3f9542902b25b49d58efb35b refs/tags/J
+
+
+

其中以refs/heads/开头的是分支;以refs/remotes/开头的是远程版本库分支在本地的映射,会在后面章节介绍;以refs/tags/开头的是里程碑。按照之前的经验,在.git/refs目录下应该有这些引用所对应的文件才是。看看都在么?

+
$ find .git/refs/ -type f
+.git/refs/remotes/origin/HEAD
+.git/refs/heads/master
+
+
+

为什么才有两个文件?实际上当运行下面的命令后,引用目录下的文件会更少:

+
$ git pack-refs --all
+$ find .git/refs/ -type f
+.git/refs/remotes/origin/HEAD
+
+
+

那么本应该出现在.git/refs/目录下的引用文件都到哪里去了呢?答案是这些文件被打包了,放到一个文本文件.git/packed-refs中了。查看一下这个文件中的内容。

+
$ head -5 .git/packed-refs
+# pack-refs with: peeled
+6652a0dce6a5067732c00ef0a220810a7230655e refs/heads/master
+6652a0dce6a5067732c00ef0a220810a7230655e refs/remotes/origin/master
+c9b03a208288aebdbfe8d84aeb984952a16da3f2 refs/tags/A
+^81993234fc12a325d303eccea20f6fd629412712
+
+
+

再来看看Git的对象(commit、blob、tree、tag)在对象库中的存储。通过下面的命令,会发现对象库也不是原来熟悉的模样了。

+
$ find .git/objects/ -type f
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.idx
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.pack
+
+
+

对象库中只有两个文件,本应该一个一个独立保存的对象都不见了。读者应该能够猜到,所有的对象文件都被打包到这两个文件中了,其中以.pack结尾的文件是打包文件,以.idx结尾的是索引文件。打包文件和对应的索引文件只是扩展名不同,都保存于.git/objects/pack/目录下。Git对于以SHA1哈希值作为目录名和文件名保存的对象有一个术语,称为松散对象。松散对象打包后会提高访问效率,而且不同的对象可以通过增量存储节省磁盘空间。

+

可以通过Git一个底层命令可以查看索引中包含的对象:

+
$ git show-index < .git/objects/pack/pack-*.idx | head -5
+661 0cd7f2ea245d90d414e502467ac749f36aa32cc4 (0793420b)
+63020 1026d9416d6fc8d34e1edfb2bc58adb8aa5a6763 (ed77ff72)
+3936 15328fc6961390b4b10895f39bb042021edd07ea (13fb79ef)
+3768 1a588ca36e25f58fbeae421c36d2c39e38e991ef (86e3b0bd)
+2022 1a87782f8853c6e11aacba463af04b4fa8565713 (e269ed74)
+
+
+

为什么克隆远程版本库就可以产生对象库打包以及引用打包的效果呢?这是因为克隆远程版本库时,使用了“智能”的通讯协议,远程Git服务器将对象打包后传输给本地,形成本地版本库的对象库中的一个包含所有对象的包以及索引文件。无疑这样的传输方式——按需传输、打包传输,效率最高。

+

克隆之后的版本库在日常的提交中,产生的新的对象仍旧以松散对象存在,而不是以打包的形式,日积月累会在本地版本库的对象库中形成大量的松散文件。松散对象只是进行了压缩,而没有(打包文件才有的)增量存储的功能,会浪费磁盘空间,也会降低访问效率。更为严重的是一些非正式的临时对象(暂存区操作中产生的临时对象)也以松散对象的形式保存在对象库中,造成磁盘空间的浪费。下一节就着手处理临时对象的问题。

+
+
+

2.11.2. 暂存区操作引入的临时对象

+

暂存区操作有可能在对象库中产生临时对象,例如文件反复的修改和反复的向暂存区添加,或者添加到暂存区后不提交甚至直接撤销,就会产生垃圾数据占用磁盘空间。为了说明临时对象的问题,需要准备一个大的压缩文件,10MB即可。

+

在Linux上与内核匹配的initrd文件(内核启动加载的内存盘)就是一个大的压缩文件,可以用于此节的示例。将大的压缩文件放在版本库外的一个位置上,因为这个文件会多次用到。

+
$ cp /boot/initrd.img-2.6.32-5-amd64 /tmp/bigfile
+$ du -sh bigfile
+11M     bigfile
+
+
+

将这个大的压缩文件复制到工作区中,拷贝两份。

+
$ cd /path/to/my/workspace/i-am-admin
+$ cp /tmp/bigfile bigfile
+$ cp /tmp/bigfile bigfile.dup
+
+
+

然后将工作区中两个内容完全一样的大文件加入暂存区。

+
$ git add bigfile bigfile.dup
+
+
+

查看一下磁盘空间占用:

+
    +
  • 工作区连同版本库共占用33MB。

    +
    $ du -sh .
    +33M     .
    +
    +
    +
  • +
  • 其中版本库只占用了11MB。版本库空间占用是工作区的一半。

    +

    如果再有谁说版本库空间占用一定比工作区大,可以用这个例子回击他。

    +
    $ du -sh .git/
    +11M     .git/
    +
    +
    +
  • +
+

看看版本库中对象库内的文件,会发现多出了一个松散对象。之所以添加两个文件而只有一个松散对象,是因为Git对于文件的保存是将内容保存为blob对象中,和文件名无关,相同内容的不同文件会共享同一个blob对象。

+
$ find .git/objects/ -type f
+.git/objects/2e/bcd92d0dda2bad50c775dc662c6cb700477aff
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.idx
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.pack
+
+
+

如果不想提交,想将文件撤出暂存区,则进行如下操作。

+
    +
  • 当前暂存区的状态。

    +
    $ git status -s
    +A  bigfile
    +A  bigfile.dup
    +
    +
    +
  • +
  • 将添加的文件撤出暂存区。

    +
    $ git reset HEAD
    +
    +
    +
  • +
  • 通过查看状态,看到文件被撤出暂存区了。

    +
    $ git status -s
    +?? bigfile
    +?? bigfile.dup
    +
    +
    +
  • +
+

文件撤出暂存区后,在对象库中产生的blob松散对象仍然存在,通过查看版本库的磁盘占用就可以看出来。

+
$ du -sh .git/
+11M     .git/
+
+
+

Git提供了git fsck命令,可以查看到版本库中包含的没有被任何引用关联松散对象。

+
$ git fsck
+dangling blob 2ebcd92d0dda2bad50c775dc662c6cb700477aff
+
+
+

标识为dangling的对象就是没有被任何引用直接或者间接关联到的对象。这个对象就是前面通过暂存区操作引入的大文件的内容。如何将这个文件从版本库中彻底删除呢?Git提供了一个清理的命令:

+
$ git prune
+
+
+

git prune清理之后,会发现:

+
    +
  • git fsck查看,没有未被关联到的松散对象。

    +
    $ git fsck
    +
    +
    +
  • +
  • 版本库的空间占用也小了10MB,证明大的临时对象文件已经从版本库中删除了。

    +
    $ du -sh .git/
    +236K    .git/
    +
    +
    +
  • +
+
+
+

2.11.3. 重置操作引入的对象

+

上一节用git prune命令清除暂存区操作时引入的临时对象,但是如果是用重置命令抛弃的提交和文件就不会轻易的被清除。下面用同样的大文件提交到版本库中试验一下。

+
$ cd /path/to/my/workspace/i-am-admin
+$ cp /tmp/bigfile bigfile
+$ cp /tmp/bigfile bigfile.dup
+
+
+

将这两个大文件提交到版本库中。

+
    +
  • 添加到暂存区。

    +
    $ git add bigfile bigfile.dup
    +
    +
    +
  • +
  • 提交到版本库。

    +
    $ git commit -m "add bigfiles."
    +[master 51519c7] add bigfiles.
    + 2 files changed, 0 insertions(+), 0 deletions(-)
    + create mode 100644 bigfile
    + create mode 100644 bigfile.dup
    +
    +
    +
  • +
  • 查看版本库的空间占用。

    +
    $ du -sh .git/
    +11M     .git/
    +
    +
    +
  • +
+

做一个重置操作,抛弃刚刚针对两个大文件做的提交。

+
$ git reset --hard HEAD^
+
+
+

重置之后,看看版本库的变化。

+
    +
  • 版本库的空间占用没有变化,还是那么“庞大”。

    +
    $ du -sh .git/
    +11M     .git/
    +
    +
    +
  • +
  • 查看对象库,看到三个松散对象。

    +
    $ find .git/objects/ -type f
    +.git/objects/info/packs
    +.git/objects/2e/bcd92d0dda2bad50c775dc662c6cb700477aff
    +.git/objects/d9/38dee8fde4e5053b12406c66a19183a24238e1
    +.git/objects/51/519c7d8d60e0f958e135e8b989a78e84122591
    +.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.idx
    +.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.pack
    +
    +
    +
  • +
  • 这三个松散对象分别对应于撤销的提交,目录树,以及大文件对应的blob对象。

    +
    $ git cat-file -t 51519c7
    +commit
    +$ git cat-file -t d938dee
    +tree
    +$ git cat-file -t 2ebcd92
    +blob
    +
    +
    +
  • +
+

向上一节一样,执行git prune命令,期待版本库空间占用会变小。可是:

+
    +
  • 版本库空间占用没有变化!

    +
    $ git prune
    +$ du -sh .git/
    +11M     .git/
    +
    +
    +
  • +
  • 执行git fsck也看不到未被关联到的对象。

    +
    $ git fsck
    +
    +
    +
  • +
  • 除非像下面这样执行。

    +
    $ git fsck --no-reflogs
    +dangling commit 51519c7d8d60e0f958e135e8b989a78e84122591
    +
    +
    +
  • +
+

还记得前面章节中介绍的reflog么?reflog是防止误操作的最后一道闸门。

+
$ git reflog
+6652a0d HEAD@{0}: HEAD^: updating HEAD
+51519c7 HEAD@{1}: commit: add bigfiles.
+
+
+

可以看到撤销的操作仍然记录在reflog中,正因如此Git认为撤销的提交和大文件都还被可以被追踪到,还在使用着,所以无法用git prune命令删除。

+

如果确认真的要丢弃不想要的对象,需要对版本库的reflog做过期操作,相当于将.git/logs/下的文件清空。

+
    +
  • 使用下面的reflog过期命令做不到让刚刚撤销的提交过期,因为reflog的过期操作缺省只会让90天前的数据过期。

    +
    $ git reflog expire --all
    +$ git reflog
    +6652a0d HEAD@{0}: HEAD^: updating HEAD
    +51519c7 HEAD@{1}: commit: add bigfiles.
    +
    +
    +
  • +
  • 需要要为git reflog命令提供--expire=<date>参数,强制<date>之前的记录全部过期。

    +
    $ git reflog expire --expire=now --all
    +$ git reflog
    +
    +
    +
  • +
+

使用now作为时间参数,让 reflog 的全部记录都过期。没有了 reflog,即回滚的添加大文件的提交从 reflog 中看不到后,该提交对应的 commit 对象、tree 对象和 blob 对象就会成为未被关联的 dangling 对象,可以用git prune命令清理。下面可以看到清理后,版本库变小了。

+
$ git prune
+$ du -sh .git/
+244K    .git/
+
+
+
+
+

2.11.4. Git管家:git gc

+

前面两节介绍的是比较极端的情况,实际操作中会很少用到git prune命令来清理版本库,而是会使用一个更为常用的命令git gc。命令git gc就好比Git版本库的管家,会对版本库进行一系列的优化动作。

+
    +
  • 对分散在.git/refs下的文件进行打包,打包到文件.git/packed-refs中。

    +

    如果没有将配置gc.packrefs关闭,就会执行命令:git pack-refs –all –prune实现对引用的打包。

    +
  • +
  • 丢弃90天前的reflog记录。

    +

    会运行使reflog过期命令:git reflog expire –all。因为采用了缺省参数调用,因此只会清空reflog中90天前的记录。

    +
  • +
  • 对松散对象进行打包。

    +

    运行git repack命令,凡是有引用关联的对象都被打在包里,未被关联的对象仍旧以松散对象形式保存。

    +
  • +
  • 清除未被关联的对象。缺省只清除2周以前的未被关联的对象。

    +

    可以向git gc提供--prune=<date>参数,其中的时间参数传递给git prune –expire <date>,实现对指定日期之前的未被关联的松散对象进行清理。

    +
  • +
  • 其他清理。

    +

    如运行git rerere gc对合并冲突的历史记录进行过期操作。

    +
  • +
+

从上面的描述中可见命令git gc完成了相当多的优化和清理工作,并且最大限度照顾了安全性的需要。例如像暂存区操作引入的没有关联的临时对象会最少保留2个星期,而因为重置而丢弃的提交和文件则会保留最少3个月。

+

下面就把前面的例子用git gc再执行一遍,不过这一次添加的两个大文件要稍有不同,以便看到git gc打包所实现的对象增量存储的效果。

+

复制两个大文件到工作区。

+
$ cp /tmp/bigfile bigfile
+$ cp /tmp/bigfile bigfile.dup
+
+
+

在文件bigfile.dup后面追加些内容,造成bigfilebigfile.dup内容不同。

+
$ echo "hello world" >> bigfile.dup
+
+
+

将这两个稍有不同的文件提交到版本库。

+
$ git add bigfile bigfile.dup
+$ git commit -m "add bigfiles."
+[master c62fa4d] add bigfiles.
+ 2 files changed, 0 insertions(+), 0 deletions(-)
+ create mode 100644 bigfile
+ create mode 100644 bigfile.dup
+
+
+

可以看到版本库中提交进来的两个不同的大文件是不同的对象。

+
$ git ls-tree HEAD | grep bigfile
+100644 blob 2ebcd92d0dda2bad50c775dc662c6cb700477aff    bigfile
+100644 blob 9e35f946a30c11c47ba1df351ca22866bc351e7b    bigfile.dup
+
+
+

做版本库重置,抛弃最新的提交,即抛弃添加两个大文件的提交。

+
$ git reset --hard HEAD^
+HEAD is now at 6652a0d Add Images for git treeview.
+
+
+

此时的版本库有多大呢,还是像之前添加两个相同的大文件时占用11MB空间么?

+
$ du -sh .git/
+22M     .git/
+
+
+

版本库空间占用居然扩大了一倍!这显然是因为两个大文件分开存储造成的。可以用下面的命令在对象库中查看对象的大小。

+
$ find .git/objects -type f -printf "%-20p\t%s\n"
+.git/objects/0c/844d2a072fd69e71638558216b69ebc57ddb64  233
+.git/objects/2e/bcd92d0dda2bad50c775dc662c6cb700477aff  11184682
+.git/objects/9e/35f946a30c11c47ba1df351ca22866bc351e7b  11184694
+.git/objects/c6/2fa4d6cb4c082fadfa45920b5149a23fd7272e  162
+.git/objects/info/packs 54
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.idx   2892
+.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.pack  80015
+
+
+

输出的每一行用空白分隔,前面是文件名,后面是以字节为单位的文件大小。从上面的输出可以看出来,打包文件很小,但是有两个大的文件各自占用了11MB左右的空间。

+

执行git gc并不会删除任何对象,因为这些对象都还没有过期。但是会发现版本库的占用变小了。

+
    +
  • 执行git gc对版本库进行整理。

    +
    $ git gc
    +Counting objects: 69, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (49/49), done.
    +Writing objects: 100% (69/69), done.
    +Total 69 (delta 11), reused 63 (delta 8)
    +
    +
    +
  • +
  • 版本库空间占用小了一半!

    +
    $ du -sh .git/
    +11M     .git/
    +
    +
    +
  • +
  • 原来是因为对象库重新打包,两个大文件采用了增量存储使得版本库变小。

    +
    $ find .git/objects -type f -printf "%-20p\t%s\n" | sort
    +.git/objects/info/packs 54
    +.git/objects/pack/pack-7cae010c1b064406cd6c16d5a6ab2f446de4076c.idx 3004
    +.git/objects/pack/pack-7cae010c1b064406cd6c16d5a6ab2f446de4076c.pack 11263033
    +
    +
    +
  • +
+

如果想将抛弃的历史数据彻底丢弃,如下操作。

+
    +
  • 不再保留90天的reflog,而是将所有reflog全部即时过期。

    +
    $ git reflog expire --expire=now --all
    +
    +
    +
  • +
  • 通过git fsck可以看到有提交成为了未被关联的提交。

    +
    $ git fsck
    +dangling commit c62fa4d6cb4c082fadfa45920b5149a23fd7272e
    +
    +
    +
  • +
  • 这个未被关联的提交就是删除大文件的提交。

    +
    $ git show c62fa4d6cb4c082fadfa45920b5149a23fd7272e
    +commit c62fa4d6cb4c082fadfa45920b5149a23fd7272e
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Thu Dec 16 20:18:38 2010 +0800
    +
    +    add bigfiles.
    +
    +diff --git a/bigfile b/bigfile
    +new file mode 100644
    +index 0000000..2ebcd92
    +Binary files /dev/null and b/bigfile differ
    +diff --git a/bigfile.dup b/bigfile.dup
    +new file mode 100644
    +index 0000000..9e35f94
    +Binary files /dev/null and b/bigfile.dup differ
    +
    +
    +
  • +
  • 不带参数调用git gc虽然不会清除尚未过期(未到2周)的大文件,但是会将未被关联的对象从打包文件中移出,成为松散文件。

    +
    $ git gc
    +Counting objects: 65, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (45/45), done.
    +Writing objects: 100% (65/65), done.
    +Total 65 (delta 8), reused 63 (delta 8)
    +
    +
    +
  • +
  • 未被关联的对象重新成为松散文件,所以.git版本库的空间占用又反弹了。

    +
    $ du -sh .git/
    +22M     .git/
    +$ find .git/objects -type f -printf "%-20p\t%s\n" | sort
    +.git/objects/0c/844d2a072fd69e71638558216b69ebc57ddb64  233
    +.git/objects/2e/bcd92d0dda2bad50c775dc662c6cb700477aff  11184682
    +.git/objects/9e/35f946a30c11c47ba1df351ca22866bc351e7b  11184694
    +.git/objects/c6/2fa4d6cb4c082fadfa45920b5149a23fd7272e  162
    +.git/objects/info/packs 54
    +.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.idx 2892
    +.git/objects/pack/pack-969329578b95057b7ea1208379a22c250c3b992a.pack 80015
    +
    +
    +
  • +
  • 实际上如果使用立即过期参数--prune=now调用git gc,就不用再等2周了,直接就可以完成对未关联的对象的清理。

    +
    $ git gc --prune=now
    +Counting objects: 65, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (45/45), done.
    +Writing objects: 100% (65/65), done.
    +Total 65 (delta 8), reused 65 (delta 8)
    +
    +
    +
  • +
  • 清理过后,版本库的空间占用降了下来。

    +
    $ du -sh .git/
    +240K    .git/
    +
    +
    +
  • +
+
+
+

2.11.5. Git管家的自动执行

+

对于老版本库的Git,会看到帮助手册中建议用户对版本库进行周期性的整理,以便获得更好的性能,尤其是对于规模比较大的项目,但是对于整理的周期都语焉不详。

+

实际上对于1.6.6及以后版本的Git已经基本上不需要手动执行git gc命令了,因为部分Git命令会自动调用git gc –auto命令,在版本库确实需要整理的情况下自动开始整理操作。

+

目前有如下Git命令会自动执行git gc –auto命令,实现对版本库的按需整理。

+
    +
  • 执行命令git merge进行合并操作后,对版本库进行按需整理。

    +
  • +
  • 执行命令git receive-pack,即版本库接收其他版本库推送(push)的提交后,版本库会做按需整理操作。

    +

    当版本库接收到其他版本库的推送(push)请求时,会调用git receive-pack命令以接收请求。在接收到推送的提交后,对版本库进行按需整理。

    +
  • +
  • 执行命令git rebase -i进行交互式变基操作后,会对版本库进行按需整理。

    +
  • +
  • 执行命令git am对mbox邮箱中通过邮件提交的补丁在版本库中进行应用的操作后,会对版本库做按需整理操作。

    +
  • +
+

对于提供共享式“写操作”的Git版本库,可以免维护。所谓的共享式写操作,就是版本库作为一个裸版本库放在服务器上,团队成员可以通过推送(push)操作将提交推送到共享的裸版本中。每一次推送操作都会触发git gc –auto命令,对版本库进行按需整理。

+

对于非独立工作的本地工作区,也可以免维护。因为和他人协同工作的本地工作区会经常执行git pull操作从他人版本库或者从共享的版本库拉回新提交,执行git pull操作会,会触发git merge操作,因此也会对本地版本库进行按需整理。

+

Git管家命令使用--auto参数调用,会进行按需整理。因为版本库整理操作对于大的项目可能会非常费时,因此实际的整理并不会经常被触发,即有着非常苛刻的触发条件。想要观察到触发版本库整理操作是非常不容易的事情。

+

主要的触发条件是:松散对象只有超过一定的数量时才会执行。而且在统计松散对象数量时,为了降低在.git/objects/目录下搜索松散对象对系统造成的负担,实际采取了取样搜索,即只会对对象库下一个子目录.git/objects/17进行文件搜索。在缺省的配置下,只有该目录中对象数目超过27个,才会触发版本库的整理。至于为什么只在对象库下选择了一个子目录进行松散对象的搜索,这是因为SHA1哈希值是完全随机的,文件在由前两位哈希值组成的目录中差不多是平均分布的。至于为什么选择17,不知道对于作者Junio C Hamano有什么特殊意义,也许是向Linus Torvalds被评选为二十世纪最有影响力的100人中排名第17位而进行致敬。

+

可以通过配置gc.auto的值,调整Git管家自动运行时触发版本库整理操作的频率,但是注意不要将gc.auto设置为0,否则git gc –auto命令永远不会触发版本库的整理。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/02-git-solo/index.html b/02-git-solo/index.html new file mode 100644 index 000000000..b85b4371d --- /dev/null +++ b/02-git-solo/index.html @@ -0,0 +1,247 @@ + + + + + + + + + 2. Git独奏 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

1.3.4. Windows下安装和使用Git(msysGit篇)

+

下一个主题

+

2.1. Git初始化

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

2. Git独奏

+

通过前面的章节,我们了解了版本控制系统的历史,也学习了如何安装Git。从这一章开始,我们就真正地进入到Git的学习中。Git有着陡峭的学习曲线,即使是有着其他版本控制工具经验的老手也不例外。因为有经验的老手会按照在其他版本控制系统中遗留的习惯去想当然地操作Git,努力地在Git中寻找对应物,最终会因为Git的“别扭”而放弃使用。这也是作者的亲身经历。

+

Git是开源社区送给每一个人的宝贝,用好它可以实现个人的知识积累、保护好自己的数据,以及和他人分享自己的成果。这在其他的很多版本控制系统中是不可想象的。试问你会花费少则几万美金去购买商业版本的控制工具么?你会去使用必须搭建额外的服务器才能使用的版本控制系统么?你会把“鸡蛋”放在具有单点故障、服务器软硬件有可能崩溃的唯一的“篮子”里么?如果你不会,那么选择Git,一定是最明智的选择。

+

本篇还不会涉及团队如何使用Git,而是从个人的视角去研究如何用好Git,并且还会揭示Git的原理和奥秘。本篇是全书最重要的部分,是下一步进行团队协作必需的知识准备,也是理解全书其余各部分内容的基础。本篇各章节将以实践、思考、再实践的方式循序渐进地学习Git。到本篇的结尾,我们会发现通过“Git独奏”也可以演绎出美妙的“乐曲”。

+

那么我们就开始第一个实践吧。

+

目录:

+
+ +
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/010-protocol.html b/03-git-harmony/010-protocol.html new file mode 100644 index 000000000..e6ac57889 --- /dev/null +++ b/03-git-harmony/010-protocol.html @@ -0,0 +1,561 @@ + + + + + + + + + 3.1. Git协议与工作协同 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

3. Git和声

+

下一个主题

+

3.2. 冲突解决

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

3.1. Git协议与工作协同

+

要想团队协作使用Git,就需要用到Git协议。

+
+

3.1.1. Git支持的协议

+

首先来看看数据交换需要使用的协议。

+

Git提供了丰富的协议支持,包括:SSH、GIT、HTTP、HTTPS、FTP、FTPS、RSYNC及前面已经看到的本地协议等。各种不同协议的URL写法如表15-1所示。

+

表 15-1:Git支持的协议一览表

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
协议名称语法格式说明
SSH协议(1)ssh://[user@]example.com[:port]/path/to/repo.git/可在URL中设置用户名和端口。 +默认端口22。
SSH协议(2)[user@]example.com:path/to/repo.git/更为精简的SCP格式表示法,更简洁。 +但是非默认端口需要通过其他方式(如地址别名方式)设定。
GIT协议git://example.com[:port]/path/to/repo.git/最常用的只读协议。
HTTP[S]协议http[s]://example.com[:port]/path/to/repo.git/兼有智能协议和哑协议。
FTP[S]协议ftp[s]://example.com[:port]/path/to/repo.git/哑协议。
RSYNC协议rsync://example.com/path/to/repo.git/哑协议。
本地协议(1)file:///path/to/repo.git 
本地协议(2)/path/to/repo.gitfile://格式的本地协议类似。但有细微差别。 +例如克隆时不支持浅克隆,且采用直接的硬连接实现克隆。
+

上面介绍的各种协议如果按照其聪明程度划分,可分为两类:智能协议和哑协议。

+

1. 智能协议

+

在通讯时使用智能协议,会在两个通讯的版本库的各自一端分别打开两个程序进行数据交换。使用智能协议最直观的印象就是在数据传输过程中会有清晰的进度显示,而且因为是按需传输所以传输量更小,速度更快。图15-1显示的就是在执行PULL和PUSH两个最常用的操作时,两个版本库各自启动辅助程序的情况。

+
+../images/git-smart-protocol.png +

图 15-1:Git智能协议通讯示意图

+
+

上述协议中SSH、GIT及本地协议(file://)属于智能协议。HTTP协议需要特殊的配置(用git-http-backend配置CGI),并且客户端需要使用Git 1.6.6或更高的版本才能够使用智能协议。

+

2. 哑协议

+

和智能协议相对的是哑协议。使用哑协议在访问远程版本库的时候,远程版本库不会运行辅助程序,而是完全依靠客户端去主动“发现”。客户端需要访问文件.git/info/refs获取当前版本库的引用列表,并根据引用对应的提交ID直接访问对象库目录下的文件。如果对象文件被打包而不以松散对象形式存在,则Git客户端还要去访问文件.git/objects/info/packs以获得打包文件列表,并据此读取完整的打包文件,从打包文件中获取对象。由此可见哑协议的效率非常之低,甚至会因为要获取一个对象而去访问整个pack包。

+

使用哑协议最直观的感受是:传输速度非常慢,而且传输进度不可见,不知道什么时候才能够完成数据传输。上述协议中,像FTP、RSYNC都是哑协议,对于没有通过git-http-backend或类似CGI程序配置的HTTP服务器提供的也是哑协议。 +因为哑协议需要索引文件.git/info/refs.git/objects/info/packs以获取引用和包列表,因此要在版本库的钩子脚本post-update中设置运行git update-server-info以确保及时更新哑协议需要的索引文件。不过如果不使用哑协议,运行git update-server-info就没有什么必要了。

+

以Git项目本身为例,看看如何使用不同的协议地址进行版本库克隆。

+
    +
  • Git协议(智能协议):

    +
    git clone git://git.kernel.org/pub/scm/git/git.git
    +
    +
    +
  • +
  • HTTP(S)哑协议:

    +
    git clone http://www.kernel.org/pub/scm/git/git.git
    +
    +
    +
  • +
  • HTTP(S)智能协议:

    +

    使用Git 1.6.6或更高版本访问。

    +
    git clone https://github.com/git/git.git
    +
    +
    +
  • +
+
+
+

3.1.2. 多用户协同的本地模拟

+

在本篇(“Git和声”)的学习过程中,需要一个能够提供多人访问的版本库,显然要找到一个公共服务器,并且能让所有人都尽情发挥不太容易,但幸好可以使用本地协议来模拟。在后面的内容中,会经常使用本地协议地址file:///path/to/repos/<project>.git来代表对某一公共版本库的访问,您可以把file://格式的URL(比直接使用路径方式更逼真)想象为git://或者http://格式,并且想象它是在一台远程的服务器上,而非本机。

+

同样的,为了模拟多人的操作,也不再使用/path/to/my/workspace作为工作区,而是分别使用/path/to/user1/workspace/path/to/user2/workspace等工作区来代表不同用户的工作环境。同样想象一下/path/to/user1//path/to/user2/是在不同的主机上,并由不同的用户进行操作。

+

下面就来演示一个共享版本库的搭建过程,以及两个用户user1和user2在各自的工作区中如何工作并进行数据交换的,具体过程如下。

+
    +
  • 创建一个共享的版本库,于/path/to/repos/shared.git

    +

    别忘了在第2篇的第13章“Git克隆”一章中介绍的,以裸版本库方式创建。

    +
    $ git init --bare /path/to/repos/shared.git
    +Initialized empty Git repository in /path/to/repos/shared.git/
    +
    +
    +
  • +
  • 用户user1克隆版本库。

    +

    克隆完成之后,在版本库级别设置user.nameuser.email环境,以便和全局设置区分开,因为我们的模拟环境中所有用户都共享同一全局设置和系统设置。克隆及设置过程如下:

    +
    $ cd /path/to/user1/workspace
    +$ git clone file:///path/to/repos/shared.git project
    +Cloning into project...
    +warning: You appear to have cloned an empty repository.
    +$ cd project
    +$ git config user.name user1
    +$ git config user.email user1@sun.ossxp.com
    +
    +
    +
  • +
  • 用户user1创建初始数据并提交。

    +
    $ echo Hello. > README
    +$ git add README
    +$ git commit -m "initial commit."
    +[master (root-commit) 5174bf3] initial commit.
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 README
    +
    +
    +
  • +
  • 用户user1将本地版本库的提交推送到上游。

    +

    在下面的推送指令中使用了origin别名,其实际指向就是file:///path/to/repos/shared.git。可以从.git/config配置文件中看到是如何实现对origin远程版本库注册的。关于远程版本库的内容要在第19章介绍。

    +
    $ git push origin master
    +Counting objects: 3, done.
    +Writing objects: 100% (3/3), 210 bytes, done.
    +Total 3 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (3/3), done.
    +To file:///path/to/repos/shared.git
    + * [new branch]      master -> master
    +
    +
    +
  • +
  • 用户user2克隆版本库。

    +
    $ cd /path/to/user2/workspace
    +$ git clone file:///path/to/repos/shared.git project
    +Cloning into project...
    +remote: Counting objects: 3, done.
    +remote: Total 3 (delta 0), reused 0 (delta 0)
    +Receiving objects: 100% (3/3), done.
    +
    +
    +
  • +
  • 同样在user2的本地版本库中,设置user.nameuser.email环境,以区别全局环境设置。

    +
    $ cd /path/to/user2/workspace/project
    +$ git config user.name user2
    +$ git config user.email user2@moon.ossxp.com
    +
    +
    +
  • +
  • 用户user2的本地版本库现在拥有和user1用户同样的提交。

    +
    $ git log
    +commit 5174bf33ab31a3999a6242fdcb1ec237e8f3f91a
    +Author: user1 <user1@sun.ossxp.com>
    +Date:   Sun Dec 19 15:52:29 2010 +0800
    +
    +    initial commit.
    +
    +
    +
  • +
+
+
+

3.1.3. 强制非快进式推送

+

现在用户user1和user2的工作区是相同的。思考一个问题:如果两人各自在本地版本库中进行独立的提交,然后再分别向共享版本库推送,会互相覆盖么?为了回答这个问题,进行下面的实践。

+

首先,用户user1先在本地版本库中进行提交,然后将本地的提交推送到“远程”共享版本库中。操作步骤如下:

+
    +
  • 用户user1创建team/user1.txt文件。

    +

    假设这个项目约定:每个开发者在team目录下写一个自述文件。于是用户user1创建文件team/user1.txt

    +
    $ cd /path/to/user1/workspace/project/
    +$ mkdir team
    +$ echo "I'm user1." > team/user1.txt
    +$ git add team
    +$ git commit -m "user1's profile."
    +[master b4f3ae0] user1's profile.
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 team/user1.txt
    +
    +
    +
  • +
  • 用户user1将本地提交推送到服务器上。

    +
    $ git push
    +Counting objects: 5, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (2/2), done.
    +Writing objects: 100% (4/4), 327 bytes, done.
    +Total 4 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +To file:///path/to/repos/shared.git
    +   5174bf3..b4f3ae0  master -> master
    +
    +
    +
  • +
  • 当前user1版本库中的日志

    +
    $ git log --oneline --graph
    +* b4f3ae0 user1's profile.
    +* 5174bf3 initial commit.
    +
    +
    +
  • +
+

通过上面的操作步骤,可以看到用户user1成功的更新了“远程”共享版本库。如果用户user2在不知道用户user1所做的上述操作的前提下,在基于“远程”版本库旧的数据同步过来的本地版本库中进行改动,然后用户user2向“远程”共享版本库推送会有什么结果呢?用下面的操作验证一下。

+
    +
  • 用户user2创建team/user2.txt文件。

    +
    $ cd /path/to/user2/workspace/project/
    +$ mkdir team
    +$ echo "I'm user1?" > team/user2.txt
    +$ git add team
    +$ git commit -m "user2's profile."
    +[master 8409e4c] user2's profile.
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 team/user2.txt
    +
    +
    +
  • +
  • 用户user2将本地提交推送到服务器时出错。

    +
    $ git push
    +To file:///path/to/repos/shared.git
    + ! [rejected]        master -> master (non-fast-forward)
    +error: failed to push some refs to 'file:///path/to/repos/shared.git'
    +To prevent you from losing history, non-fast-forward updates were rejected
    +Merge the remote changes (e.g. 'git pull') before pushing again.  See the
    +'Note about fast-forwards' section of 'git push --help' for details.
    +
    +
    +
  • +
  • 用户user2的推送失败了。错误日志翻译如下:

    +
    到版本库 file:///path/to/repos/shared.git
    + ! [被拒绝]        master -> master (非快进)
    +错误:部分引用向 'file:///path/to/repos/shared.git' 推送失败
    +为防止您丢失历史,非快进式更新被拒绝。
    +在推送前请先合并远程改动,例如执行 'git pull'。
    +
    +
    +
  • +
+

推送失败了。但这不是坏事情,反倒是一件好事情,因为这避免了用户提交的相互覆盖。Git通过对推送操作是否是“快进式”操作进行检查,从而保证用户的提交不会相互覆盖。一般情况下,推送只允许“快进式”推送。所谓快进式推送,就是要推送的本地版本库的提交是建立在远程版本库相应分支的现有提交基础上的,即远程版本库相应分支的最新提交是本地版本库最新提交的祖先提交。但现在用户user2执行的推送并非如此,是一个非快进式的推送。

+
    +
  • 此时用户user2本地版本库的最新提交及其历史提交可以用git rev-list命令显示,如下所示:

    +
    $ git rev-list HEAD
    +8409e4c72388a18ea89eecb86d68384212c5233f
    +5174bf33ab31a3999a6242fdcb1ec237e8f3f91a
    +
    +
    +
  • +
  • git ls-remote命令显示远程版本库的引用对应的SHA1哈希值,会发现远程版本库所包含的最新提交的SHA1哈希值是b4f3ae0...,而不是本地最新提交的祖先提交。

    +
    $ git ls-remote origin
    +b4f3ae0fcadce8c343f3cdc8a69c33cc98c98dfd        HEAD
    +b4f3ae0fcadce8c343f3cdc8a69c33cc98c98dfd        refs/heads/master
    +
    +
    +
  • +
+

实际上当用户user2执行推送的时候,Git就是利用类似方法判断出当前的推送不是一个快进式推送,于是产生警告并终止。

+

那么如何才能成功推送呢?一个不见得正确的解决方案称为:强制推送

+

在推送命令的后面使用-f参数可以进行强制推送,即使是非快进式的推送也会成功执行。用户user2执行强制推送,会强制涮新服务器中的版本。

+
$ git push -f
+Counting objects: 7, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (3/3), done.
+Writing objects: 100% (7/7), 503 bytes, done.
+Total 7 (delta 0), reused 3 (delta 0)
+Unpacking objects: 100% (7/7), done.
+To file:///path/to/repos/shared.git
+ + b4f3ae0...8409e4c master -> master (forced update)
+
+
+

注意到了么,在强制推送的最后一行输出中显示了“强制更新(forced update)”字样。这样用户user1向版本库推送的提交由于用户user2的强制推送被覆盖了。实际上在这种情况下user1也可以强制的推送,从而用自己(user1)的提交再去覆盖用户user2的提交。这样的工作模式不是协同,而是战争!

+

合理使用非快进式推送

+

在上面用户user2使用非快进式推送强制更新版本库,实际上是危险和错误的。滥用非快进式推送可能造成提交覆盖大战(战争是霸权的滥用)。正确地使用非快进式推送,应该是在不会造成提交覆盖“战争”的前提下,对历史提交进行修补。

+

下面的操作也许是一个使用非快进式推送更好的例子。

+
    +
  • 用户user2改正之前错误的录入。

    +

    细心的读者可能已经发现,用户user2在创建的个人描述文件中把自己的名字写错了。假设用户user2在刚刚完成向服务器的推送操作后也发现了这个错误,于是user2进行了下面的更改。

    +
    $ echo "I'm user2." > team/user2.txt
    +$ git diff
    +diff --git a/team/user2.txt b/team/user2.txt
    +index 27268e2..2dcb7b6 100644
    +--- a/team/user2.txt
    ++++ b/team/user2.txt
    +@@ -1 +1 @@
    +-I'm user1?
    ++I'm user2.
    +
    +
    +
  • +
  • 然后用户user2将修改好的文件提交到本地版本库中。

    +

    采用直接提交还是使用修补式提交,这是一个问题。因为前次提交已经被推送到共享版本库中,如果采用修补提交会造成前一次提交被新提交抹掉,从而在下次推送操作时造成非快进式推送。这时用户user2就要评估“战争”的风险:“我刚刚推送的提交,有没有可能被其他人获取了(通过git pullgit fetchgit clone操作)?”如果确认不会有他人获取,例如现在公司里只有user2自己一个人在加班,那么可以放心的进行修补操作。

    +
    $ git add -u
    +$ git commit --amend -m "user2's profile."
    +[master 6b1a7a0] user2's profile.
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 team/user2.txt
    +
    +
    +
  • +
  • 采用强制推送,更新远程共享版本库中的提交。这个操作越早越好,在他人还没有来得及和服务器同步前将修补提交强制更新到服务器上。

    +
    $ git push -f
    +Counting objects: 5, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (2/2), done.
    +Writing objects: 100% (4/4), 331 bytes, done.
    +Total 4 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +To file:///path/to/repos/shared.git
    + + 8409e4c...6b1a7a0 master -> master (forced update)
    +
    +
    +
  • +
+
+
+

3.1.4. 合并后推送

+

理性的工作协同要避免非快进式推送。一旦向服务器推送后,如果发现错误,不要使用会更改历史的操作(变基、修补提交),而是采用不会改变历史提交的反转提交等操作。

+

如果在向服务器推送过程中遇到了非快进式推送的警告,应该进行如下操作才更为理性:执行git pull获取服务器端最新的提交并和本地提交进行合并,合并成功后再向服务器提交。

+

例如用户user1在推送时遇到了非快进式推送错误,可以通过如下操作将本地版本库的修改和远程版本库的最新提交进行合并。

+
    +
  • 用户user1发现推送遇到了非快进式推送。

    +
    $ cd /path/to/user1/workspace/project/
    +$ git push
    +To file:///path/to/repos/shared.git
    + ! [rejected]        master -> master (non-fast-forward)
    +error: failed to push some refs to 'file:///path/to/repos/shared.git'
    +To prevent you from losing history, non-fast-forward updates were rejected
    +Merge the remote changes (e.g. 'git pull') before pushing again.  See the
    +'Note about fast-forwards' section of 'git push --help' for details.
    +
    +
    +
  • +
  • 执行git pull实现获取远程版本库的最新提交,以及实现获取到的远程版本库提交与本地提交的合并。

    +
    $ git pull
    +remote: Counting objects: 5, done.
    +remote: Compressing objects: 100% (2/2), done.
    +remote: Total 4 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +From file:///path/to/repos/shared
    + + b4f3ae0...6b1a7a0 master     -> origin/master  (forced update)
    +Merge made by recursive.
    + team/user2.txt |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 team/user2.txt
    +
    +
    +
  • +
  • 合并之后,看看版本库的提交关系图。

    +

    合并之后远程服务器中的最新提交6b1a7a0成为当前最新提交(合并提交)的父提交。如果再推送,则不再是非快进式的了。

    +
    $ git log --graph --oneline
    +*   bccc620 Merge branch 'master' of file:///path/to/repos/shared
    +|\
    +| * 6b1a7a0 user2's profile.
    +* | b4f3ae0 user1's profile.
    +|/
    +* 5174bf3 initial commit.
    +
    +
    +
  • +
  • 执行推送,成功完成到远程版本库的推送。

    +
    $ git push
    +Counting objects: 10, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (5/5), done.
    +Writing objects: 100% (7/7), 686 bytes, done.
    +Total 7 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (7/7), done.
    +To file:///path/to/repos/shared.git
    +   6b1a7a0..bccc620  master -> master
    +
    +
    +
  • +
+
+
+

3.1.5. 禁止非快进式推送

+

非快进式推送如果被滥用,会成为项目的灾难:

+
    +
  • 团队成员之间的提交战争取代了本应的相互协作。
  • +
  • 造成不必要的冲突,为他人造成麻烦。
  • +
  • 在提交历史中引入包含修补提交前后两个版本的怪异的合并提交。
  • +
+

Git提供了至少两种方式对非快进式推送进行限制。一个是通过版本库的配置,另一个是通过版本库的钩子脚本。

+

将版本库的参数receive.denyNonFastForwards设置为true可以禁止任何用户进行非快进式推送。下面的示例中,可以看到针对一个已经预先设置为禁止非快进式推送的版本库执行非快进式推送操作,将会被禁止,即使使用强制推送操作。

+
    +
  • 更改服务器版本库/path/to/repos/shared.git的配置。

    +
    $ git --git-dir=/path/to/repos/shared.git config receive.denyNonFastForwards true
    +
    +
    +
  • +
  • 在用户user1的工作区执行重置操作。

    +
    $ git reset --hard HEAD^1
    +$ git log --graph --oneline
    +* b4f3ae0 user1's profile.
    +* 5174bf3 initial commit.
    +
    +
    +
  • +
  • 用户user1使用强制推送也会失败。

    +

    在出错信息中看到服务器端拒绝执行:[remote rejected]

    +
    $ git push -f
    +Total 0 (delta 0), reused 0 (delta 0)
    +remote: error: denying non-fast-forward refs/heads/master (you should pull first)
    +To file:///path/to/repos/shared.git
    + ! [remote rejected] master -> master (non-fast-forward)
    +error: failed to push some refs to 'file:///path/to/repos/shared.git'
    +
    +
    +
  • +
+

另外一个方法是通过钩子脚本进行设置,可以仅对某些情况下的非快进式推送进行限制,而不是不分青红皁白地一概拒绝。例如:只对部分用户进行限制,而允许特定用户执行非快进式推送,或者允许某些分支可以进行强制提交而其他分支不可以。第5篇第30章会介绍Gitolite服务架设,通过授权文件(实际上通过版本库的update钩子脚本实现)对版本库非快进式推送做出更为精细的授权控制。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/020-conflict.html b/03-git-harmony/020-conflict.html new file mode 100644 index 000000000..43a08cab6 --- /dev/null +++ b/03-git-harmony/020-conflict.html @@ -0,0 +1,1117 @@ + + + + + + + + + 3.2. 冲突解决 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

3.2. 冲突解决

+

上一章介绍了Git协议,并且使用本地协议来模拟一个远程的版本库,以两个不同用户的身份检出该版本库,和该远程版本库进行交互——交换数据、协同工作。在上一章的协同中只遇到了一个小小的麻烦——非快进式推送,可以通过执行PULL(拉回)操作,成功完成合并后再推送。

+

但是在真实的运行环境中,用户间协同并不总是会一帆风顺,只要有合并就可能会有冲突。本章就重点介绍冲突解决机制。

+
+

3.2.1. 拉回操作中的合并

+

为了降低难度,上一章的实践中用户user1执行git pull操作解决非快进式推送问题似乎非常的简单,就好像直接把共享版本库中最新提交直接拉回到本地,然后就可以推送了,其他好像什么都没有发生一样。真的是这样么?

+
    +
  • 用户user1向共享版本库推送时,因为user2强制推送已经改变了共享版本库中的提交状态,导致user1推送失败,如图16-1所示。

    +
    +../images/git-merge-pull-1.png +

    图 16-1:非快进式推送被禁止

    +
    +
  • +
  • 用户user1执行PULL操作的第一阶段,将共享版本库master分支的最新提交拉回到本地,并更新到本地版本库特定的引用refs/remotes/origin/master(简称为origin/master),如图16-2所示。

    +
    +../images/git-merge-pull-2.png +

    图 16-2:执行获取操作

    +
    +
  • +
  • 用户user1执行PULL操作的第二阶段,将本地分支master和共享版本库本地跟踪分支origin/master进行合并操作,如图16-3所示。

    +
    +../images/git-merge-pull-3.png +

    图 16-3:执行合并操作

    +
    +
  • +
  • 用户user1执行PUSH操作,将本地提交推送到共享版本库中,如图16-4所示。

    +
    +../images/git-merge-pull-4.png +

    图 16-4:执行推送操作

    +
    +
  • +
+

实际上拉回(PULL)操作是由两个步骤组成的,一个是获取(FETCH)操作,一个是合并(MERGE)操作,即:

+
git pull = git fetch + git merge
+
+
+

图16-2示意的获取(FETCH)操作看似很简单,实际上要到第19章介绍远程版本库的章节才能够讲明白,现在只需要根据图示将获取操作理解为将远程的共享版本库的对象(提交、里程碑、分支等)复制到本地即可。

+

合并(MERGE)操作是本章要介绍的重点。合并操作可以由拉回操作(git pull)隐式的执行,将其他版本库的提交和本地版本库的提交进行合并。还可以针对本版本库中的其他分支(将在第18章中介绍)进行显示的合并操作,将其他分支的提交和当前分支的提交进行合并。

+

合并操作的命令行格式如下:

+
git merge [选项...] <commit>...
+
+
+

合并操作的大多数情况,只须提供一个<commit>(提交ID或对应的引用:分支、里程碑等)作为参数。合并操作将<commit>对应的目录树和当前工作分支的目录树的内容进行合并,合并后的提交以当前分支的提交作为第一个父提交,以<commit>为第二个父提交。合并操作还支持将多个<commit>代表的分支和当前分支进行合并,过程类似。合并操作的选项很多,这会在本章及第24章“子树合并”中予以介绍。

+

默认情况下,合并后的结果会自动提交,但是如果提供--no-commit选项,则合并后的结果会放入暂存区,用户可以对合并结果进行检查、更改,然后手动提交。

+

合并操作并非总会成功,因为合并的不同提交可能同时修改了同一文件相同区域的内容,导致冲突。冲突会造成合并操作的中断,冲突的文件被标识,用户可以对标识为冲突的文件进行冲突解决操作,然后更新暂存区,再提交,最终完成合并操作。

+

根据合并操作是否遇到冲突,以及不同的冲突类型,可以分为以下几种情况:成功的自动合并、逻辑冲突、真正的冲突和树冲突。下面分别予以介绍。

+
+
+

3.2.2. 合并一:自动合并

+

Git的合并操作非常智能,大多数情况下会自动完成合并。不管是修改不同的文件,还是修改相同的文件(文件的不同位置),或者文件名变更。

+
+

3.2.2.1. 修改不同的文件

+

如果用户user1和user2各自的本地提交中修改了不同的文件,当一个用户将改动推送到服务器后,另外一个用户推送就遇到非快进式推送错误,需要先合并再推送。因两个用户修改了不同的文件,合并不会遇到麻烦。

+

在上一章的操作过程中,两个用户的本地版本库和共享版本库可能不一致,为确保版本库状态的一致性以便下面的实践能够正常执行,分别在两个用户的本地版本库中执行下面的操作。

+
$ git pull
+$ git reset --hard origin/master
+
+
+

下面的实践中,两个用户分别修改不同的文件,其中一个用户要尝试合并操作将本地提交和另外一个用户的提交合并。

+
    +
  • 用户user1修改team/user1.txt文件,提交并推送到共享服务器。

    +
    $ cd /path/to/user1/workspace/project/
    +$ echo "hack by user1 at `date -R`" >> team/user1.txt
    +$ git add -u
    +$ git commit -m "update team/user1.txt"
    +$ git push
    +
    +
    +
  • +
  • 用户user2修改team/user2.txt文件,提交。

    +
    $ cd /path/to/user2/workspace/project/
    +$ echo "hack by user2 at `date -R`" >> team/user2.txt
    +$ git add -u
    +$ git commit -m "update team/user2.txt"
    +
    +
    +
  • +
  • 用户user2在推送的时候,会遇到非快进式推进的错误而被终止。

    +
    $ git push
    +To file:///path/to/repos/shared.git
    + ! [rejected]        master -> master (non-fast-forward)
    +error: failed to push some refs to 'file:///path/to/repos/shared.git'
    +To prevent you from losing history, non-fast-forward updates were rejected
    +Merge the remote changes (e.g. 'git pull') before pushing again.  See the
    +'Note about fast-forwards' section of 'git push --help' for details.
    +
    +
    +
  • +
  • 用户user2执行获取(git fetch)操作。获取到的提交更新到本地跟踪共享版本库master分支的本地引用origin/master中。

    +
    $ git fetch
    +remote: Counting objects: 7, done.
    +remote: Compressing objects: 100% (4/4), done.
    +remote: Total 4 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +From file:///path/to/repos/shared
    +   bccc620..25fce74  master     -> origin/master
    +
    +
    +
  • +
  • 用户user2执行合并操作,完成自动合并。

    +
    $ git merge origin/master
    +Merge made by recursive.
    + team/user1.txt |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 用户user2推送合并后的本地版本库到共享版本库。

    +
    $ git push
    +Counting objects: 12, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (7/7), done.
    +Writing objects: 100% (7/7), 747 bytes, done.
    +Total 7 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (7/7), done.
    +To file:///path/to/repos/shared.git
    +   25fce74..0855b86  master -> master
    +
    +
    +
  • +
  • 通过提交日志,可以看到成功合并的提交和其两个父提交的关系图。

    +
    $ git log -3 --graph --stat
    +*   commit 0855b86678d1cf86ccdd13adaaa6e735715d6a7e
    +|\  Merge: f53acdf 25fce74
    +| | Author: user2 <user2@moon.ossxp.com>
    +| | Date:   Sat Dec 25 23:00:55 2010 +0800
    +| |
    +| |     Merge remote branch 'origin/master'
    +| |
    +| * commit 25fce74b5e73b960c42e4a463d03d462919b674d
    +| | Author: user1 <user1@sun.ossxp.com>
    +| | Date:   Sat Dec 25 22:54:53 2010 +0800
    +| |
    +| |     update team/user1.txt
    +| |
    +| |  team/user1.txt |    1 +
    +| |  1 files changed, 1 insertions(+), 0 deletions(-)
    +| |
    +* | commit f53acdf6a76e0552b562f5aaa4d40ff19e8e2f77
    +|/  Author: user2 <user2@moon.ossxp.com>
    +|   Date:   Sat Dec 25 22:56:49 2010 +0800
    +|
    +|       update team/user2.txt
    +|
    +|    team/user2.txt |    1 +
    +|    1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+
+
+

3.2.2.2. 修改相同文件的不同区域

+

当用户user1和user2在本地提交中修改相同的文件,但是修改的是文件的不同位置时,则两个用户的提交仍可成功合并。

+
    +
  • 为确保两个用户的本地版本库和共享版本库状态一致,先分别对两个用户的本地版本库执行拉回操作。

    +
    $ git pull
    +
    +
    +
  • +
  • 用户user1在自己的工作区中修改README文件,在文件的第一行插入内容,更改后的文件内容如下。

    +
    User1 hacked.
    +Hello.
    +
    +
    +
  • +
  • 用户user1对修改进行本地提交并推送到共享版本库。

    +
    $ git add -u
    +$ git commit -m "User1 hack at the beginning."
    +$ git push
    +
    +
    +
  • +
  • 用户user2在自己的工作区中修改README文件,在文件的最后插入内容,更改后的文件内容如下。

    +
    Hello.
    +User2 hacked.
    +
    +
    +
  • +
  • 用户user2对修改进行本地提交。

    +
    $ git add -u
    +$ git commit -m "User2 hack at the end."
    +
    +
    +
  • +
  • 用户user2执行获取(git fetch)操作。获取到的提交更新到本地跟踪共享版本库master分支的本地引用origin/master中。

    +
    $ git fetch
    +remote: Counting objects: 5, done.
    +remote: Compressing objects: 100% (2/2), done.
    +remote: Total 3 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (3/3), done.
    +From file:///path/to/repos/shared
    +   0855b86..07e9d08  master     -> origin/master
    +
    +
    +
  • +
  • 用户user2执行合并操作,完成自动合并。

    +
    $ git merge refs/remotes/origin/master
    +Auto-merging README
    +Merge made by recursive.
    + README |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 用户user2推送合并后的本地版本库到共享版本库。

    +
    $ git push
    +Counting objects: 10, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (4/4), done.
    +Writing objects: 100% (6/6), 607 bytes, done.
    +Total 6 (delta 0), reused 3 (delta 0)
    +Unpacking objects: 100% (6/6), done.
    +To file:///path/to/repos/shared.git
    +   07e9d08..2a67e6f  master -> master
    +
    +
    +
  • +
  • 如果追溯一下README文件每一行的来源,可以看到分别是user1和user2更改的最前和最后的一行。

    +
    $ git blame README
    +07e9d082 (user1 2010-12-25 23:12:17 +0800 1) User1 hacked.
    +^5174bf3 (user1 2010-12-19 15:52:29 +0800 2) Hello.
    +bb0c74fa (user2 2010-12-25 23:14:27 +0800 3) User2 hacked.
    +
    +
    +
  • +
+
+
+

3.2.2.3. 同时更改文件名和文件内容

+

如果一个用户将文件移动到其他目录(或修改文件名),另外一个用户针对重命名前的文件进行了修改,还能够实现自动合并么?这对于其他版本控制系统可能是一个难题,例如Subversion就不能很好地处理,还为此引入了一个“树冲突”的新名词。Git对于此类冲突能够很好地处理,可以自动解决冲突实现自动合并。

+
    +
  • 为确保两个用户的本地版本库和共享版本库状态一致,先分别对两个用户的本地版本库执行拉回操作。

    +
    $ git pull
    +
    +
    +
  • +
  • 用户user1在自己的工作区中将文件README进行重命名,本地提交并推送到共享版本库。

    +
    $ cd /path/to/user1/workspace/project/
    +$ mkdir doc
    +$ git mv README doc/README.txt
    +$ git commit -m "move document to doc/."
    +$ git push
    +
    +
    +
  • +
  • 用户user2在自己的工作区中修改README文件,在文件的最后插入内容,并本地提交。

    +
    $ cd /path/to/user2/workspace/project/
    +$ echo "User2 hacked again." >> README
    +$ git add -u
    +$ git commit -m "User2 hack README again."
    +
    +
    +
  • +
  • 用户user2执行获取(git fetch)操作。获取到的提交更新到本地跟踪共享版本库master分支的本地引用origin/master中。

    +
    $ git fetch
    +remote: Counting objects: 5, done.
    +remote: Compressing objects: 100% (2/2), done.
    +remote: Total 3 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (3/3), done.
    +From file:///path/to/repos/shared
    +   0855b86..07e9d08  master     -> origin/master
    +
    +
    +
  • +
  • 用户user2执行合并操作,完成自动合并。

    +
    $ git merge refs/remotes/origin/master
    +Merge made by recursive.
    + README => doc/README.txt |    0
    + 1 files changed, 0 insertions(+), 0 deletions(-)
    + rename README => doc/README.txt (100%)
    +
    +
    +
  • +
  • 用户user2推送合并后的本地版本库到共享版本库。

    +
    $ git push
    +Counting objects: 10, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (5/5), done.
    +Writing objects: 100% (6/6), 636 bytes, done.
    +Total 6 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (6/6), done.
    +To file:///path/to/repos/shared.git
    +   9c51cb9..f73db10  master -> master
    +
    +
    +
  • +
  • 使用-m参数可以查看合并操作所做出的修改。

    +
    $ git log -1 -m --stat
    +commit f73db106c820f0c6d510f18ae8c67629af9c13b7 (from 887488eee19300c566c272ec84b236026b0303c6)
    +Merge: 887488e 9c51cb9
    +Author: user2 <user2@moon.ossxp.com>
    +Date:   Sat Dec 25 23:36:57 2010 +0800
    +
    +    Merge remote branch 'refs/remotes/origin/master'
    +
    + README         |    4 ----
    + doc/README.txt |    4 ++++
    + 2 files changed, 4 insertions(+), 4 deletions(-)
    +
    +commit f73db106c820f0c6d510f18ae8c67629af9c13b7 (from 9c51cb91bfe12654e2de1d61d722161db0539644)
    +Merge: 887488e 9c51cb9
    +Author: user2 <user2@moon.ossxp.com>
    +Date:   Sat Dec 25 23:36:57 2010 +0800
    +
    +    Merge remote branch 'refs/remotes/origin/master'
    +
    + doc/README.txt |    1 +
    + 1 files changed, 1 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+
+
+
+

3.2.3. 合并二:逻辑冲突

+

自动合并如果成功地执行,则大多数情况下就意味着完事大吉,但是在某些特殊情况下,合并后的结果虽然在Git看来是完美的合并,实际上却存在着逻辑冲突。

+

一个典型的逻辑冲突是一个用户修改了一个文件的文件名,而另外的用户在其他文件中引用旧的文件名,这样的合并虽然能够成功但是包含着逻辑冲突。例如:

+
    +
  • 一个C语言的项目中存在头文件hello.h,该头文件定义了一些函数声明。
  • +
  • 用户user1将hello.h文件改名为api.h
  • +
  • 用户user2写了一个新的源码文件foo.c并在该文件中包含了hello.h文件。
  • +
  • 两个用户的提交合并后,会因为源码文件foo.c找不到包含的hello.h文件而导致项目编译失败。
  • +
+

再举一个逻辑冲突的示例。假如一个用户修改了函数返回值而另外的用户使用旧的函数返回值,虽然成功合并但是存在逻辑冲突:

+
    +
  • 函数compare(obj1, obj2)用于比较两个对象obj1obj2。返回1代表比较的两个对象相同,返回0代表比较的两个对象不同。
  • +
  • 用户user1修改了该函数的返回值,返回0代表两个对象相同,返回1代表obj1大于obj2,返回-1则代表obj1小于obj2
  • +
  • 用户user2不知道user1对该函数的改动,仍以该函数原返回值判断两个对象的异同。
  • +
  • 两个用户的提交合并后,不会出现编译错误,但是软件中会潜藏着重大的Bug。
  • +
+

上面的两个逻辑冲突的示例,尤其是最后一个非常难以捕捉。如果因此而贬低Git的自动合并,或者对每次自动合并的结果疑神疑鬼,进而花费大量精力去分析合并的结果,则是因噎废食、得不偿失。一个好的项目实践是每个开发人员都为自己的代码编写可运行的单元测试,项目每次编译时都要执行自动化测试,捕捉潜藏的Bug。在2010年OpenParty上的一个报告中,我介绍了如何在项目中引入单元测试及自动化集成,可以参考下面的链接:

+ +
+
+

3.2.4. 合并三:冲突解决

+

如果两个用户修改了同一文件的同一区域,则在合并的时候会遇到冲突导致合并过程中断。这是因为Git并不能越俎代庖的替用户做出决定,而是把决定权交给用户。在这种情况下,Git显示为合并冲突,等待用户对冲突做出抉择。

+

下面的实践非常简单,两个用户都修改doc/README.txt文件,在第二行“Hello.”的后面加上自己的名字。

+
    +
  • 为确保两个用户的本地版本库和共享版本库状态一致,先分别对两个用户的本地版本库执行拉回操作。

    +
    $ git pull
    +
    +
    +
  • +
  • 用户user1在自己的工作区修改doc/README.txt文件(仅改动了第二行)。修改后内容如下:

    +
    User1 hacked.
    +Hello, user1.
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
  • 用户user1对修改进行本地提交并推送到共享版本库。

    +
    $ git add -u
    +$ git commit -m "Say hello to user1."
    +$ git push
    +
    +
    +
  • +
  • 用户user2在自己的工作区修改doc/README.txt文件(仅改动了第二行)。修改后内容如下:

    +
    User1 hacked.
    +Hello, user2.
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
  • 用户user2对修改进行本地提交。

    +
    $ git add -u
    +$ git commit -m "Say hello to user2."
    +
    +
    +
  • +
  • 用户user2执行拉回操作,遇到冲突。

    +

    git pull操作相当于git fetchgit merge两个操作。

    +
    $ git pull
    +remote: Counting objects: 7, done.
    +remote: Compressing objects: 100% (3/3), done.
    +remote: Total 4 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +From file:///path/to/repos/shared
    +   f73db10..a123390  master     -> origin/master
    +Auto-merging doc/README.txt
    +CONFLICT (content): Merge conflict in doc/README.txt
    +Automatic merge failed; fix conflicts and then commit the result.
    +
    +
    +
  • +
+

执行git pull时所做的合并操作由于遇到冲突导致中断。来看看处于合并冲突状态时工作区和暂存区的状态。

+

执行git status命令,可以从状态输出中看到文件doc/README.txt处于未合并的状态,这个文件在两个不同的提交中都做了修改。

+
$ git status
+# On branch master
+# Your branch and 'refs/remotes/origin/master' have diverged,
+# and have 1 and 1 different commit(s) each, respectively.
+#
+# Unmerged paths:
+#   (use "git add/rm <file>..." as appropriate to mark resolution)
+#
+#       both modified:      doc/README.txt
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+

那么Git是如何记录合并过程及冲突的呢?实际上合并过程是通过.git目录下的几个文件进行记录的:

+
    +
  • 文件.git/MERGE_HEAD记录所合并的提交ID。
  • +
  • 文件.git/MERGE_MSG记录合并失败的信息。
  • +
  • 文件.git/MERGE_MODE标识合并状态。
  • +
+

版本库暂存区中则会记录冲突文件的多个不同版本。可以使用git ls-files命令查看。

+
$ git ls-files -s
+100644 ea501534d70a13b47b3b4b85c39ab487fa6471c2 1       doc/README.txt
+100644 5611db505157d312e4f6fb1db2e2c5bac2a55432 2       doc/README.txt
+100644 036dbc5c11b0a0cefc8247cf0e9a3e678f8de060 3       doc/README.txt
+100644 430bd4314705257a53241bc1d2cb2cc30f06f5ea 0       team/user1.txt
+100644 a72ca0b4f2b9661d12d2a0c1456649fc074a38e3 0       team/user2.txt
+
+
+

在上面的输出中,每一行分为四个字段,前两个分别是文件的属性和SHA1哈希值。第三个字段是暂存区编号。当合并冲突发生后,会用到0以上的暂存区编号。

+
    +
  • 编号为1的暂存区用于保存冲突文件修改之前的副本,即冲突双方共同的祖先版本。可以用:1:<filename>访问。

    +
    $ git show :1:doc/README.txt
    +User1 hacked.
    +Hello.
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
  • 编号为2的暂存区用于保存当前冲突文件在当前分支中修改的副本。可以用:2:<filename>访问。

    +
    $ git show :2:doc/README.txt
    +User1 hacked.
    +Hello, user2.
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
  • 编号为3的暂存区用于保存当前冲突文件在合并版本(分支)中修改的副本。可以用:3:<filename>访问。

    +
    $ git show :3:doc/README.txt
    +User1 hacked.
    +Hello, user1.
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
+

对暂存区中冲突文件的上述三个副本无须了解太多,这三个副本实际上是提供冲突解决工具,用于实现三向文件合并的。

+

工作区的版本则可能同时包含了成功的合并及冲突的合并,其中冲突的合并会用特殊的标记(<<<<<<< ======= >>>>>>>)进行标识。查看当前工作区中冲突的文件:

+
$ cat doc/README.txt
+User1 hacked.
+<<<<<<< HEAD
+Hello, user2.
+=======
+Hello, user1.
+>>>>>>> a123390b8936882bd53033a582ab540850b6b5fb
+User2 hacked.
+User2 hacked again.
+
+
+

特殊标识<<<<<<<(七个小于号)和=======(七个等号)之间的内容是当前分支所更改的内容。在特殊标识=======(七个等号)和>>>>>>>(七个大于号)之间的内容是所合并的版本更改的内容。

+

冲突解决的实质就是通过编辑操作,将冲突标识符所标识的冲突内容替换为合适的内容,并去掉冲突标识符。编辑完毕后执行git add命令将文件添加到暂存区(标号0),然后再提交就完成了冲突解决。

+

当工作区处于合并冲突状态时,无法再执行提交操作。此时有两个选择:放弃合并操作,或者对合并冲突进行冲突解决操作。放弃合并操作非常简单,只须执行git reset将暂存区重置即可。下面重点介绍如何进行冲突解决的操作。有两个方法进行冲突解决,一个是对少量冲突非常适合的手工编辑操作,另外一个是使用图形化冲突解决工具。

+
+

3.2.4.1. 手工编辑完成冲突解决

+

先来看看不使用工具,直接手动编辑完成冲突解决。打开文件doc/README.txt,将冲突标识符所标识的文字替换为Hello, user1 and user2.。修改后的文件内容如下:

+
User1 hacked.
+Hello, user1 and user2.
+User2 hacked.
+User2 hacked again.
+
+
+

然后添加到暂存区,并提交:

+
$ git add -u
+$ git commit -m "Merge completed: say hello to all users."
+
+
+

查看最近三次提交的日志,会看到最新的提交就是一个合并提交:

+
$ git log --oneline --graph -3
+*   bd3ad1a Merge completed: say hello to all users.
+|\
+| * a123390 Say hello to user1.
+* | 60b10f3 Say hello to user2.
+|/
+
+
+

提交完成后,会看到.git目录下与合并相关的文件.git/MERGE_HEAD.git/MERGE_MSG.git/MERGE_MODE文件都自动删除了。

+

如果查看暂存区,会发现冲突文件在暂存区中的三个副本也都清除了(实际在对编辑完成的冲突文件执行git add后就已经清除了)。

+
$ git ls-files -s
+100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 0       doc/README.txt
+100644 430bd4314705257a53241bc1d2cb2cc30f06f5ea 0       team/user1.txt
+100644 a72ca0b4f2b9661d12d2a0c1456649fc074a38e3 0       team/user2.txt
+
+
+
+
+

3.2.4.2. 图形工具完成冲突解决

+

上面介绍的通过手工编辑完成冲突解决并不复杂,对于简单的冲突是最快捷的解决方法。但是如果冲突的区域过多、过大,并且缺乏原始版本作为参照,冲突解决过程就会显得非常的不便,这种情况下使用图形工具就显得非常有优势。

+

还以上面的冲突解决为例介绍使用图形工具进行冲突解决的方法。为了制造一个冲突,首先把user2辛辛苦苦完成的冲突解决提交回滚,再执行合并进入冲突状态。

+
    +
  • 将冲突解决的提交回滚,强制重置到前一个版本。

    +
    $ git reset --hard HEAD^
    +
    +
    +
  • +
  • 这时查看状态,会显示当前工作分支的最新提交和共享版本库的master分支的最新提交出现了偏离。

    +
    $ git status
    +# On branch master
    +# Your branch and 'refs/remotes/origin/master' have diverged,
    +# and have 1 and 1 different commit(s) each, respectively.
    +#
    +nothing to commit (working directory clean)
    +
    +
    +
  • +
  • 那么执行合并操作吧。冲突发生了。

    +
    $ git merge refs/remotes/origin/master
    +Auto-merging doc/README.txt
    +CONFLICT (content): Merge conflict in doc/README.txt
    +Automatic merge failed; fix conflicts and then commit the result.
    +
    +
    +
  • +
+

下面就演示使用图形工具如何解决冲突。使用图形工具进行冲突解决需要事先在操作系统中安装相关的工具软件,如:kdiff3、meld、tortoisemerge、araxis等。而启动图形工具进行冲突解决也非常简单,只须执行命令git mergetool即可。

+
$ git mergetool
+merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge
+gvimdiff diffuse ecmerge p4merge araxis emerge vimdiff
+Merging:
+doc/README.txt
+
+Normal merge conflict for 'doc/README.txt':
+  {local}: modified
+  {remote}: modified
+Hit return to start merge resolution tool (kdiff3):
+
+
+

运行git mergetool命令后,会显示支持的图形工具列表,并提示用户选择可用的冲突解决工具。默认会选择系统中已经安装的工具软件,如kdiff3。直接按下回车键,自动打开kdiff3进入冲突解决界面:

+

启动kdiff3后,如图16-5,上方三个窗口由左至右显示冲突文件的三个版本,分别是:

+
    +
  1. 暂存区1中的版本(共同祖先版本)。
  2. +
  3. 暂存区2中的版本(当前分支更改的版本)。
  4. +
  5. 暂存区3中的版本(他人更改的版本)。
  6. +
+
+../images/kdiff3-1.png +

图 16-5:kdiff3 冲突解决界面

+
+

kdiff3下方的窗口是合并后文件的编辑窗口。如图16-6所示,点击标记为“合并冲突”的一行,在弹出菜单中出现A、B、C三个选项,分别代表从A、B、C三个窗口拷贝相关内容到当前位置。

+
+../images/kdiff3-2.png +

图 16-6:kdiff3 合并冲突行的弹出菜单

+
+

当通过图16-6显示的弹出菜单选择了B和C后,可以在图16-7中看到在合并窗口出现了标识B和C的行,分别代表user2和user1对该行的修改。

+
+../images/kdiff3-3.png +

图 16-7:在 kdiff3 冲突区域同时选取B和C的修改

+
+

在合并窗口进行编辑,将“Hello, user1.”修改为“Hello, user1 and user2.”,如图16-8。修改后,可以看到该行的标识由C改变为m,含义是该行是经过手工修改的行。

+
+../images/kdiff3-4.png +

图 16-8:在 kdiff3 的冲突区域编辑内容

+
+

在合并窗口删除标识为从B窗口引入的行“Hello, user2.”,如图16-9。保存退出即完成图形化冲突解决。

+
+../images/kdiff3-5.png +

图 16-9:完成 kdiff3 冲突区域的编辑

+
+

图形工具保存退出后,显示工作区状态,会看到冲突已经解决。在工作区还会遗留一个以.orig结尾的合并前文件副本。

+
$ git status
+# On branch master
+# Your branch and 'refs/remotes/origin/master' have diverged,
+# and have 1 and 1 different commit(s) each, respectively.
+#
+# Changes to be committed:
+#
+#       modified:   doc/README.txt
+#
+# Untracked files:
+#   (use "git add <file>..." to include in what will be committed)
+#
+#       doc/README.txt.orig
+
+
+

查看暂存区会发现暂存区中的冲突文件的三个副本都已经清除。

+
$ git ls-files -s
+100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 0       doc/README.txt
+100644 430bd4314705257a53241bc1d2cb2cc30f06f5ea 0       team/user1.txt
+100644 a72ca0b4f2b9661d12d2a0c1456649fc074a38e3 0       team/user2.txt
+
+
+

执行提交和推送。

+
$ git commit -m "Say hello to all users."
+[master 7f7bb5e] Say hello to all users.
+$ git push
+Counting objects: 14, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (6/6), done.
+Writing objects: 100% (8/8), 712 bytes, done.
+Total 8 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (8/8), done.
+To file:///path/to/repos/shared.git
+   a123390..7f7bb5e  master -> master
+
+
+

查看最近三次的提交日志,会看到最新的提交是一个合并提交。

+
$ git log --oneline --graph -3
+*   7f7bb5e Say hello to all users.
+|\
+| * a123390 Say hello to user1.
+* | 60b10f3 Say hello to user2.
+|/
+
+
+
+
+
+

3.2.5. 合并四:树冲突

+

如果一个用户将某个文件改名,另外一个用户将同样的文件改为另外的名字,当这两个用户的提交进行合并操作时,Git显然无法替用户做出裁决,于是就产生了冲突。这种因为文件名修改造成的冲突,称为树冲突。这种树冲突的解决方式比较特别,因此专题介绍。

+

仍旧使用前面的版本库进行此次实践。为确保两个用户的本地版本库和共享版本库状态一致,先分别对两个用户的本地版本库执行拉回操作。

+
$ git pull
+
+
+

下面就分别以两个用户的身份执行提交,将同样的一个文件改为不同的文件名,制造一个树冲突。

+
    +
  • 用户user1将文件doc/README.txt改名为readme.txt,提交并推送到共享版本库。

    +
    $ cd /path/to/user1/workspace/project
    +$ git mv doc/README.txt readme.txt
    +$ git commit -m "rename doc/README.txt to readme.txt"
    +[master 615c1ff] rename doc/README.txt to readme.txt
    + 1 files changed, 0 insertions(+), 0 deletions(-)
    + rename doc/README.txt => readme.txt (100%)
    +$ git push
    +Counting objects: 3, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (2/2), done.
    +Writing objects: 100% (2/2), 282 bytes, done.
    +Total 2 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (2/2), done.
    +To file:///path/to/repos/shared.git
    +   7f7bb5e..615c1ff  master -> master
    +
    +
    +
  • +
  • 用户user2将文件doc/README.txt改名为README,并做本地提交。

    +
    $ cd /path/to/user2/workspace/project
    +$ git mv doc/README.txt README
    +$ git commit -m "rename doc/README.txt to README"
    +[master 20180eb] rename doc/README.txt to README
    + 1 files changed, 0 insertions(+), 0 deletions(-)
    + rename doc/README.txt => README (100%)
    +
    +
    +
  • +
  • 用户user2执行git pull操作,遇到合并冲突。

    +
    $ git pull
    +remote: Counting objects: 3, done.
    +remote: Compressing objects: 100% (2/2), done.
    +remote: Total 2 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (2/2), done.
    +From file:///path/to/repos/shared
    +   7f7bb5e..615c1ff  master     -> origin/master
    +CONFLICT (rename/rename): Rename "doc/README.txt"->"README" in branch "HEAD" rename "doc/README.txt"->"readme.txt" in "615c1ffaa41b2798a56854259caeeb1020c51721"
    +Automatic merge failed; fix conflicts and then commit the result.
    +
    +
    +
  • +
+

因为两个用户同时更改了同一文件的文件名并且改成了不同的名字,于是引发冲突。此时查看状态会看到:

+
$ git status
+# On branch master
+# Your branch and 'refs/remotes/origin/master' have diverged,
+# and have 1 and 1 different commit(s) each, respectively.
+#
+# Unmerged paths:
+#   (use "git add/rm <file>..." as appropriate to mark resolution)
+#
+#       added by us:        README
+#       both deleted:       doc/README.txt
+#       added by them:      readme.txt
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+

此时查看一下用户user2本地版本库的暂存区,可以看到因为冲突在编号为1、2、3的暂存区出现了相同SHA1哈希值的对象,但是文件名各不相同。

+
$ git ls-files -s
+100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 2       README
+100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 1       doc/README.txt
+100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 3       readme.txt
+100644 430bd4314705257a53241bc1d2cb2cc30f06f5ea 0       team/user1.txt
+100644 a72ca0b4f2b9661d12d2a0c1456649fc074a38e3 0       team/user2.txt
+
+
+

其中在暂存区1中是改名之前的doc/README.txt,在暂存区2中是用户user2改名后的文件名README,而暂存区3是其他用户(user1)改名后的文件readme.txt

+

此时的工作区中存在两个相同的文件READMEreadme.txt分别是用户user2和user1对doc/README.txt重命名之后的文件。

+
$ ls -l readme.txt README
+-rw-r--r-- 1 jiangxin jiangxin 72 12月 27 12:25 README
+-rw-r--r-- 1 jiangxin jiangxin 72 12月 27 16:53 readme.txt
+
+
+
+

3.2.5.1. 手工操作解决树冲突

+

这时user2应该和user1商量一下到底应该将该文件改成什么名字。如果双方最终确认应该采用user2重命名的名称,则user2应该进行下面的操作完成冲突解决。

+
    +
  • 删除文件readme.txt

    +

    在执行git rm操作过程会弹出三条警告,说共有三个文件待合并。

    +
    $ git rm readme.txt
    +README: needs merge
    +doc/README.txt: needs merge
    +readme.txt: needs merge
    +rm 'readme.txt'
    +
    +
    +
  • +
  • 删除文件doc/README.txt

    +

    执行删除过程,弹出的警告少了一条,因为前面的删除操作已经将一个冲突文件撤出暂存区了。

    +
    $ git rm doc/README.txt
    +README: needs merge
    +doc/README.txt: needs merge
    +rm 'doc/README.txt'
    +
    +
    +
  • +
  • 添加文件README

    +
    $ git add README
    +
    +
    +
  • +
  • 这时查看一下暂存区,会发现所有文件都在暂存区0中。

    +
    $ git ls-files -s
    +100644 463dd451d94832f196096bbc0c9cf9f2d0f82527 0       README
    +100644 430bd4314705257a53241bc1d2cb2cc30f06f5ea 0       team/user1.txt
    +100644 a72ca0b4f2b9661d12d2a0c1456649fc074a38e3 0       team/user2.txt
    +
    +
    +
  • +
  • 提交完成冲突解决。

    +
    $ git commit -m "fixed tree conflict."
    +[master e82187e] fixed tree conflict.
    +
    +
    +
  • +
  • 查看一下最近三次提交日志,看到最新的提交是一个合并提交。

    +
    $ git log --oneline --graph -3 -m --stat
    +*   e82187e (from 615c1ff) fixed tree conflict.
    +|\
    +| |  README     |    4 ++++
    +| |  readme.txt |    4 ----
    +| |  2 files changed, 4 insertions(+), 4 deletions(-)
    +| * 615c1ff rename doc/README.txt to readme.txt
    +| |  doc/README.txt |    4 ----
    +| |  readme.txt     |    4 ++++
    +| |  2 files changed, 4 insertions(+), 4 deletions(-)
    +* | 20180eb rename doc/README.txt to README
    +|/
    +|    README         |    4 ++++
    +|    doc/README.txt |    4 ----
    +|    2 files changed, 4 insertions(+), 4 deletions(-)
    +
    +
    +
  • +
+
+
+

3.2.5.2. 交互式解决树冲突

+

树冲突虽然不能像文件冲突那样使用图形工具进行冲突解决,但还是可以使用git mergetool命令,通过交互式问答快速解决此类冲突。

+

首先将user2的工作区重置到前一次提交,再执行git merge引发树冲突。

+
    +
  • 重置到前一次提交。

    +
    $ cd /path/to/user2/workspace/project
    +$ git reset --hard HEAD^
    +HEAD is now at 20180eb rename doc/README.txt to README
    +$ git clean -fd
    +
    +
    +
  • +
  • 执行git merge引发树冲突。

    +
    $ git merge refs/remotes/origin/master
    +CONFLICT (rename/rename): Rename "doc/README.txt"->"README" in branch "HEAD" rename "doc/README.txt"->"readme.txt" in "refs/remotes/origin/master"
    +Automatic merge failed; fix conflicts and then commit the result.
    +$ git status -s
    +AU README
    +DD doc/README.txt
    +UA readme.txt
    +
    +
    +
  • +
+

上面操作所引发的树冲突,可以执行git mergetool命令进行交互式冲突解决,会如下逐一提示用户进行选择。

+
    +
  • 执行git mergetool命令。忽略其中的提示和警告。

    +
    $ git mergetool
    +merge tool candidates: opendiff kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse ecmerge p4merge araxis emerge vimdiff
    +Merging:
    +doc/README.txt
    +README
    +readme.txt
    +
    +mv: 无法获取"doc/README.txt" 的文件状态(stat): 没有那个文件或目录
    +cp: 无法获取"./doc/README.txt.BACKUP.13869.txt" 的文件状态(stat): 没有那个文件或目录
    +mv: 无法将".merge_file_I3gfzy" 移动至"./doc/README.txt.BASE.13869.txt": 没有那个文件或目录
    +
    +
    +
  • +
  • 询问对文件doc/README.txt的处理方式。输入d选择将该文件删除。

    +
    Deleted merge conflict for 'doc/README.txt':
    +  {local}: deleted
    +  {remote}: deleted
    +Use (m)odified or (d)eleted file, or (a)bort? d
    +
    +
    +
  • +
  • 询问对文件README的处理方式。输入c选择将该文件保留(创建)。

    +
    Deleted merge conflict for 'README':
    +  {local}: created
    +  {remote}: deleted
    +Use (c)reated or (d)eleted file, or (a)bort? c
    +
    +
    +
  • +
  • 询问对文件readme.txt的处理方式。输入d选择将该文件删除。

    +
    Deleted merge conflict for 'readme.txt':
    +  {local}: deleted
    +  {remote}: created
    +Use (c)reated or (d)eleted file, or (a)bort? d
    +
    +
    +
  • +
  • 查看当前状态,只有一些尚未清理的临时文件,而冲突已经解决。

    +
    $ git status -s
    +?? .merge_file_I3gfzy
    +?? README.orig
    +
    +
    +
  • +
  • 提交完成冲突解决。

    +
    $ git commit -m "fixed tree conflict."
    +[master e070bc9] fixed tree conflict.
    +
    +
    +
  • +
  • 向共享服务器推送。

    +
    $ git push
    +Counting objects: 5, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (3/3), done.
    +Writing objects: 100% (3/3), 457 bytes, done.
    +Total 3 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (3/3), done.
    +To file:///path/to/repos/shared.git
    +   615c1ff..e070bc9  master -> master
    +
    +
    +
  • +
+
+
+
+

3.2.6. 合并策略

+

Git合并操作支持很多合并策略,默认会选择最适合的合并策略。例如,和一个分支进行合并时会选择recursive合并策略,当和两个或两个以上的其他分支进行合并时采用octopus合并策略。可以通过传递参数使用指定的合并策略,命令行如下:

+
git merge [-s <strategy>] [-X <strategy-option>] <commit>...
+
+
+

其中参数-s用于设定合并策略,参数-X用于为所选的合并策略提供附加的参数。

+

下面分别介绍不同的合并策略:

+
    +
  • resolve

    +

    该合并策略只能用于合并两个头(即当前分支和另外的一个分支),使用三向合并策略。这个合并策略被认为是最安全、最快的合并策略。

    +
  • +
  • recursive

    +

    该合并策略只能用于合并两个头(即当前分支和另外的一个分支),使用三向合并策略。这个合并策略是合并两个头指针时的默认合并策略。

    +

    当合并的头指针拥有一个以上的祖先的时候,会针对多个公共祖先创建一个合并的树,并以此作为三向合并的参照。这个合并策略被认为可以实现冲突的最小化,而且可以发现和处理由于重命名导致的合并冲突。

    +

    这个合并策略可以使用下列选项。

    +
      +
    • ours

      +

      在遇到冲突的时候,选择我们的版本(当前分支的版本),而忽略他人的版本。如果他人的改动和本地改动不冲突,会将他人改动合并进来。

      +

      不要将此模式和后面介绍的单纯的ours合并策略相混淆。后面介绍的ours合并策略直接丢弃其他分支的变更,无论冲突与否。

      +
    • +
    • theirs

      +

      ours选项相反,遇到冲突时选择他人的版本,丢弃我们的版本。

      +
    • +
    • subtree[=path]

      +

      这个选项使用子树合并策略,比下面介绍的subtree(子树合并)策略的定制能力更强。下面的subtree合并策略要对两个树的目录移动进行猜测,而recursive合并策略可以通过此参数直接对子树目录进行设置。

      +
    • +
    +
  • +
  • octopus

    +

    可以合并两个以上的头指针,但是拒绝执行需要手动解决的复杂合并。主要的用途是将多个主题分支合并到一起。这个合并策略是对三个及三个以上头指针进行合并时的默认合并策略。

    +
  • +
  • ours

    +

    可以合并任意数量的头指针,但是合并的结果总是使用当前分支的内容,丢弃其他分支的内容。

    +
  • +
  • subtree

    +

    这是一个经过调整的recursive策略。当合并树A和B时,如果B和A的一个子树相同,B首先进行调整以匹配A的树的结构,以免两棵树在同一级别进行合并。同时也针对两棵树的共同祖先进行调整。

    +

    关于子树合并会在第4篇的第24章“子树合并”中详细介绍。

    +
  • +
+
+
+

3.2.7. 合并相关的设置

+

可以通过git config命令设置与合并相关的环境变量,对合并进行配置。下面是一些常用的设置。

+
    +
  • merge.conflictstyle

    +

    该变量定义冲突文件的显示风格,有两个可用的风格,默认的“merge”或“diff3”。

    +

    默认的“merge”风格使用标准的冲突分界符(<<<<<<<=======>>>>>>>)对冲突内容进行标识,其中的两个文字块分别是本地的修改和他人的修改。

    +

    如果使用“diff3”风格,则会在冲突中出现三个文字块,分别是:<<<<<<<|||||||之间的本地更改版本、|||||||=======之间的原始(共同祖先)版本和=======>>>>>>>之间的他人更改的版本。例如:

    +
    User1 hacked.
    +<<<<<<< HEAD
    +Hello, user2.
    +||||||| merged common ancestors
    +Hello.
    +=======
    +Hello, user1.
    +>>>>>>> a123390b8936882bd53033a582ab540850b6b5fb
    +User2 hacked.
    +User2 hacked again.
    +
    +
    +
  • +
  • merge.tool

    +

    执行git mergetool进行冲突解决时调用的图形化工具。变量merge.tool可以设置为如下内置支持的工具:“kdiff3”、“tkdiff”、“meld”、“xxdiff”、“emerge”、“vimdiff”、“gvimdiff”、“diffuse”、“ecmerge”、“tortoisemerge”、“p4merge”、“araxis”和“opendiff”。

    +
    $ git config --global merge.tool kdiff3
    +
    +
    +

    如果将merge.tool设置为其他值,则使用自定义工具进行冲突解决。自定义工具需要通过mergetool.<tool>.cmd对自定义工具的命令行进行设置。

    +
  • +
  • mergetool.<tool>.path

    +

    如果git mergetool支持的冲突解决工具安装在特殊位置,可以使用mergetool.<tool>.path对工具<tool>的安装位置进行设置。例如:

    +
    $ git config --global mergetool.kdiff3.path /path/to/kdiff3
    +
    +
    +
  • +
  • mergetool.<tool>.cmd

    +

    如果所用的冲突解决工具不在内置的工具列表中,还可以使用mergetool.<tool>.cmd对自定义工具的命令行进行设置,同时要将merge.tool设置为<tool>

    +

    自定义工具的命令行可以使用Shell变量。例如:

    +
    $ git config --global merge.tool mykdiff3
    +$ git config --global mergetool.mykdiff3.cmd '/usr/bin/kdiff3
    +             -L1 "$MERGED (Base)" -L2 "$MERGED (Local)" -L3 "$MERGED (Remote)"
    +             --auto -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"'
    +
    +
    +
  • +
  • merge.log

    +

    是否在合并提交的提交说明中包含合并提交的概要信息。默认为false

    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/030-git-tag.html b/03-git-harmony/030-git-tag.html new file mode 100644 index 000000000..ce30dcc56 --- /dev/null +++ b/03-git-harmony/030-git-tag.html @@ -0,0 +1,1060 @@ + + + + + + + + + 3.3. Git里程碑 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

3.3. Git里程碑

+

里程碑即Tag,是人为对提交进行的命名。这和Git的提交ID是否太长无关,使用任何数字版本号无论长短,都没有使用一个直观的表意的字符串来得方便。例如:用里程碑名称“v2.1”对应于软件的2.1发布版本就比使用提交ID要直观得多。

+

对于里程碑,实际上我们并不陌生,在第2篇的“第10章 Git基本操作”中,就介绍了使用里程碑来对工作进度“留影”纪念,并使用git describe命令显示里程碑和提交ID的组合来代表软件的版本号。本章将详细介绍里程碑的创建、删除和共享,还会介绍里程碑存在的三种不同形式:轻量级里程碑、带注释的里程碑和带签名的里程碑。

+

接下来的三章,将对一个使用Hello, World作为示例程序的版本库进行研究,这个版本库不需要我们从头建立,可以直接从Github上克隆。先使用下面的方法在本地创建一个镜像,用作本地用户的共享版本库。

+
    +
  • 进入本地版本库根目录下。

    +
    $ mkdir -p /path/to/repos/
    +$ cd /path/to/repos/
    +
    +
    +
  • +
  • 从Github上镜像hello-world.git版本库。

    +

    如果Git是1.6.0或更新的版本,可以使用下面的命令建立版本库镜像。

    +
    $ git clone --mirror git://github.com/ossxp-com/hello-world.git
    +
    +
    +

    否则使用下面的命令建立版本库镜像。

    +
    $ git clone --bare \
    +      git://github.com/ossxp-com/hello-world.git \
    +      hello-world.git
    +
    +
    +
  • +
+

完成上面操作后,就在本地建立了一个裸版本库/path/to/repos/hello-world.git。接下来用户user1和user2分别在各自工作区克隆这个裸版本库。使用如下命令即可:

+
$ git clone file:///path/to/repos/hello-world.git \
+            /path/to/user1/workspace/hello-world
+$ git clone file:///path/to/repos/hello-world.git \
+            /path/to/user2/workspace/hello-world
+$ git --git-dir=/path/to/user1/workspace/hello-world/.git \
+      config user.name user1
+$ git --git-dir=/path/to/user1/workspace/hello-world/.git \
+      config user.email user1@sun.ossxp.com
+$ git --git-dir=/path/to/user2/workspace/hello-world/.git \
+      config user.name user2
+$ git --git-dir=/path/to/user2/workspace/hello-world/.git \
+      config user.email user2@moon.ossxp.com
+
+
+
+

3.3.1. 显示里程碑

+

里程碑可以使用git tag命令来显示,里程碑还可以在其他命令的输出中出现,下面分别对这些命令加以介绍。

+
+

3.3.1.1. 1. 命令git tag

+

不带任何参数执行git tag命令,即可显示当前版本库的里程碑列表。

+
$ cd /path/to/user1/workspace/hello-world
+$ git tag
+jx/v1.0
+jx/v1.0-i18n
+jx/v1.1
+jx/v1.2
+jx/v1.3
+jx/v2.0
+jx/v2.1
+jx/v2.2
+jx/v2.3
+
+
+

里程碑创建的时候可能包含一个说明。在显示里程碑的时候同时显示说明,使用-n<num>参数,显示最多<num>行里程碑的说明。

+
$ git tag -n1
+jx/v1.0         Version 1.0
+jx/v1.0-i18n    i18n support for v1.0
+jx/v1.1         Version 1.1
+jx/v1.2         Version 1.2: allow spaces in username.
+jx/v1.3         Version 1.3: Hello world speaks in Chinese now.
+jx/v2.0         Version 2.0
+jx/v2.1         Version 2.1: fixed typo.
+jx/v2.2         Version 2.2: allow spaces in username.
+jx/v2.3         Version 2.3: Hello world speaks in Chinese now.
+
+
+

还可以使用通配符对显示进行过滤。只显示名称和通配符相符的里程碑。

+
$ git tag -l jx/v2*
+jx/v2.0
+jx/v2.1
+jx/v2.2
+jx/v2.3
+
+
+
+
+

3.3.1.2. 2. 命令git log

+

在查看日志时使用参数--decorate可以看到提交对应的里程碑及其他引用。

+
$ git log --oneline --decorate
+3e6070e (HEAD, tag: jx/v1.0, origin/master, origin/HEAD, master) Show version.
+75346b3 Hello world initialized.
+
+
+
+
+

3.3.1.3. 3. 命令git describe

+

使用命令git describe将提交显示为一个易记的名称。这个易记的名称来自于建立在该提交上的里程碑,若该提交没有里程碑则使用该提交历史版本上的里程碑并加上可理解的寻址信息。

+
    +
  • 如果该提交恰好被打上一个里程碑,则显示该里程碑的名字。

    +
    $ git describe
    +jx/v1.0
    +$ git describe 384f1e0
    +jx/v2.2
    +
    +
    +
  • +
  • 若提交没有对应的里程碑,但是在其祖先版本上建有里程碑,则使用类似<tag>-<num>-g<commit>的格式显示。

    +

    其中<tag>是最接近的祖先提交的里程碑名字,<num>是该里程碑和提交之间的距离,<commit>是该提交的精简提交ID。

    +
    $ git describe 610e78fc95bf2324dc5595fa684e08e1089f5757
    +jx/v2.2-1-g610e78f
    +
    +
    +
  • +
  • 如果工作区对文件有修改,还可以通过后缀-dirty表示出来。

    +
    $ echo hacked >> README; git describe --dirty; git checkout -- README
    +jx/v1.0-dirty
    +
    +
    +
  • +
  • 如果提交本身没有包含里程碑,可以通过传递--always参数显示精简提交ID,否则出错。

    +
    $ git describe master^ --always
    +75346b3
    +
    +
    +
  • +
+

命令git describe是非常有用的命令,可以将该命令的输出用作软件的版本号。在之前曾经演示过这个应用,马上还会看到。

+
+
+

3.3.1.4. 4. 命令git name-rev

+

命令git name-revgit describe类似,会显示提交ID及其对应的一个引用。默认优先使用分支名,除非使用–tags参数。还有一个显著的不同是,如果提交上没有相对应的引用,则会使用最新提交上的引用名称并加上向后回溯的符号~<num>

+
    +
  • 默认优先显示分支名。

    +
    $ git name-rev HEAD
    +HEAD master
    +
    +
    +
  • +
  • 使用--tags优先使用里程碑。

    +

    之所以对应的里程碑引用名称后面加上后缀^0,是因为该引用指向的是一个tag对象而非提交。用^0后缀指向对应的提交。

    +
    $ git name-rev HEAD --tags
    +HEAD tags/jx/v1.0^0
    +
    +
    +
  • +
  • 如果提交上没有对应的引用名称,则会使用新提交上的引用名称并加上后缀~<num>。后缀的含义是第<num>个祖先提交。

    +
    $ git name-rev --tags 610e78fc95bf2324dc5595fa684e08e1089f5757
    +610e78fc95bf2324dc5595fa684e08e1089f5757 tags/jx/v2.3~1
    +
    +
    +
  • +
  • 命令git name-rev可以对标准输入中的提交ID进行改写,使用管道符号对前一个命令的输出进行改写,会显示神奇的效果。

    +
    $ git log --pretty=oneline origin/helper/master | git name-rev --tags --stdin
    +bb4fef88fee435bfac04b8389cf193d9c04105a6 (tags/jx/v2.3^0) Translate for Chinese.
    +610e78fc95bf2324dc5595fa684e08e1089f5757 (tags/jx/v2.3~1) Add I18N support.
    +384f1e0d5106c9c6033311a608b91c69332fe0a8 (tags/jx/v2.2^0) Bugfix: allow spaces in username.
    +e5e62107f8f8d0a5358c3aff993cf874935bb7fb (tags/jx/v2.1^0) fixed typo: -help to --help
    +5d7657b2f1a8e595c01c812dd5b2f67ea133f456 (tags/jx/v2.0^0) Parse arguments using getopt_long.
    +3e6070eb2062746861b20e1e6235fed6f6d15609 (tags/jx/v1.0^0) Show version.
    +75346b3283da5d8117f3fe66815f8aaaf5387321 (tags/jx/v1.0~1) Hello world initialized.
    +
    +
    +
  • +
+
+
+
+

3.3.2. 创建里程碑

+

创建里程碑依然是使用git tag命令。创建里程碑的用法有以下几种:

+
用法1: git tag             <tagname> [<commit>]
+用法2: git tag -a          <tagname> [<commit>]
+用法3: git tag -m <msg>    <tagname> [<commit>]
+用法4: git tag -s          <tagname> [<commit>]
+用法5: git tag -u <key-id> <tagname> [<commit>]
+
+
+

其中:

+
    +
  • 用法1是创建轻量级里程碑。
  • +
  • 用法2和用法3相同,都是创建带说明的里程碑。其中用法3直接通过-m参数提供里程碑创建说明。
  • +
  • 用法4和用法5相同,都是创建带GPG签名的里程碑。其中用法5用-u参数选择指定的私钥进行签名。
  • +
  • 创建里程碑需要输入里程碑的名字<tagname>和一个可选的提交ID<commit>。如果没有提供提交ID,则基于头指针HEAD创建里程碑。
  • +
+
+

3.3.2.1. 轻量级里程碑

+

轻量级里程碑最简单,创建时无须输入描述信息。我们来看看如何创建轻量级里程碑:

+
    +
  • 先创建一个空提交。

    +
    $ git commit --allow-empty -m "blank commit."
    +[master 60a2f4f] blank commit.
    +
    +
    +
  • +
  • 在刚刚创建的空提交上创建一个轻量级里程碑,名为mytag

    +

    省略了<commit>参数,相当于在HEAD上即最新的空提交上创建里程碑。

    +
    $ git tag mytag
    +
    +
    +
  • +
  • 查看里程碑,可以看到该里程碑已经创建。

    +
    $ git tag -l my*
    +mytag
    +
    +
    +
  • +
+

轻量级里程碑的奥秘

+

当创建了里程碑mytag后,会在版本库的.git/refs/tags目录下创建一个新文件。

+
    +
  • 查看一下这个引用文件的内容,会发现是一个40位的SHA1哈希值。

    +
    $ cat .git/refs/tags/mytag
    +60a2f4f31e5dddd777c6ad37388fe6e5520734cb
    +
    +
    +
  • +
  • git cat-file命令检查轻量级里程碑指向的对象。轻量级里程碑实际上指向的是一个提交。

    +
    $ git cat-file -t mytag
    +commit
    +
    +
    +
  • +
  • 查看该提交的内容,发现就是刚刚进行的空提交。

    +
    $ git cat-file -p mytag
    +tree 1d902fedc4eb732f17e50f111dcecb638f10313e
    +parent 3e6070eb2062746861b20e1e6235fed6f6d15609
    +author user1 <user1@sun.ossxp.com> 1293790794 +0800
    +committer user1 <user1@sun.ossxp.com> 1293790794 +0800
    +
    +blank commit.
    +
    +
    +
  • +
+

轻量级里程碑的缺点

+

轻量级里程碑的创建过程没有记录,因此无法知道是谁创建的里程碑,是何时创建的里程碑。在团队协同开发时,尽量不要采用此种偷懒的方式创建里程碑,而是采用后两种方式。

+

还有git describe命令默认不使用轻量级里程碑生成版本描述字符串。

+
    +
  • 执行git describe命令,发现生成的版本描述字符串,使用的是前一个版本上的里程碑名称。

    +
    $ git describe
    +jx/v1.0-1-g60a2f4f
    +
    +
    +
  • +
  • 使用--tags参数,也可以将轻量级里程碑用作版本描述符。

    +
    $ git describe --tags
    +mytag
    +
    +
    +
  • +
+
+
+

3.3.2.2. 带说明的里程碑

+

带说明的里程碑,就是使用参数-a或者-m <msg>调用git tag命令,在创建里程碑的时候提供一个关于该里程碑的说明。下面来看看如何创建带说明的里程碑:

+
    +
  • 还是先创建一个空提交。

    +
    $ git commit --allow-empty -m "blank commit for annotated tag test."
    +[master 8a9f3d1] blank commit for annotated tag test.
    +
    +
    +
  • +
  • 在刚刚创建的空提交上创建一个带说明的里程碑,名为mytag2

    +

    下面的命令使用了-m <msg>参数在命令行给出了新建里程碑的说明。

    +
    $ git tag -m "My first annotated tag." mytag2
    +
    +
    +
  • +
  • 查看里程碑,可以看到该里程碑已经创建。

    +
    $ git tag -l my* -n1
    +mytag           blank commit.
    +mytag2          My first annotated tag.
    +
    +
    +
  • +
+

带说明里程碑的奥秘

+

当创建了带说明的里程碑mytag2后,会在版本库的.git/refs/tags目录下创建一个新的引用文件。

+
    +
  • 查看一下这个引用文件的内容:

    +
    $ cat .git/refs/tags/mytag2
    +149b6344e80fc190bda5621cd71df391d3dd465e
    +
    +
    +
  • +
  • git cat-file命令检查该里程碑(带说明的里程碑)指向的对象,会发现指向的不再是一个提交,而是一个 tag 对象。

    +
    $ git cat-file -t mytag2
    +tag
    +
    +
    +
  • +
  • 查看该提交的内容,会发现mytag2对象的内容不是之前我们熟悉的提交对象的内容,而是包含了创建里程碑时的说明,以及对应的提交ID等信息。

    +
    $ git cat-file -p mytag2
    +object 8a9f3d16ce2b4d39b5d694de10311207f289153f
    +type commit
    +tag mytag2
    +tagger user1 <user1@sun.ossxp.com> Sun Jan 2 14:10:07 2011 +0800
    +
    +My first annotated tag.
    +
    +
    +
  • +
+

由此可见使用带说明的里程碑,会在版本库中建立一个新的对象(tag对象),这个对象会记录创建里程碑的用户(tagger),创建里程碑的时间,以及为什么要创建里程碑。这就避免了轻量级里程碑因为匿名创建而无法追踪的缺点。

+

带说明的里程碑是一个tag对象,在版本库中以一个对象的方式存在,并用一个40位的SHA1哈希值来表示。这个哈希值的生成方法和前面介绍的commit对象、tree对象、blob对象一样。至此,Git对象库的四类对象我们就都已经研究到了。

+
$ git cat-file tag mytag2 | wc -c
+148
+$ (printf "tag 148\000"; git cat-file tag mytag2) | sha1sum
+149b6344e80fc190bda5621cd71df391d3dd465e  -
+
+
+

虽然mytag2本身是一个tag对象,但在很多Git命令中,可以直接将其视为一个提交。下面的git log命令,显示mytag2指向的提交日志。

+
$ git log -1 --pretty=oneline mytag2
+8a9f3d16ce2b4d39b5d694de10311207f289153f blank commit for annotated tag test.
+
+
+

有时,需要得到里程碑指向的提交对象的SHA1哈希值。

+
    +
  • 直接用git rev-parse命令查看mytag2得到的是tag对象的ID,并非提交对象的ID。

    +
    $ git rev-parse mytag2
    +149b6344e80fc190bda5621cd71df391d3dd465e
    +
    +
    +
  • +
  • 使用下面几种不同的表示法,则可以获得mytag2对象所指向的提交对象的ID。

    +
    $ git rev-parse mytag2^{commit}
    +8a9f3d16ce2b4d39b5d694de10311207f289153f
    +$ git rev-parse mytag2^{}
    +8a9f3d16ce2b4d39b5d694de10311207f289153f
    +$ git rev-parse mytag2^0
    +8a9f3d16ce2b4d39b5d694de10311207f289153f
    +$ git rev-parse mytag2~0
    +8a9f3d16ce2b4d39b5d694de10311207f289153f
    +
    +
    +
  • +
+
+
+

3.3.2.3. 带签名的里程碑

+

带签名的里程碑和上面介绍的带说明的里程碑本质上是一样的,都是在创建里程碑的时候在Git对象库中生成一个tag对象,只不过带签名的里程碑多做了一个工作:为里程碑对象添加GnuPG签名。

+

创建带签名的里程碑也非常简单,使用参数-s-u <key-id>即可。还可以使用-m <msg>参数直接在命令行中提供里程碑的描述。创建带签名里程碑的一个前提是需要安装GnuPG,并且建立相应的公钥/私钥对。

+

GnuPG可以在各个平台上安装。

+
    +
  • 在Linux,如Debian/Ubuntu上安装,执行:

    +
    $ sudo aptitude install gnupg
    +
    +
    +
  • +
  • 在Mac OS X上,可以通过Homebrew安装:

    +
    $ brew install gnupg
    +
    +
    +
  • +
  • 在Windows上可以通过cygwin安装gnupg。

    +
  • +
+

为了演示创建带签名的里程碑,还是事先创建一个空提交。

+
$ git commit --allow-empty -m "blank commit for GnuPG-signed tag test."
+[master ebcf6d6] blank commit for GnuPG-signed tag test.
+
+
+

直接在刚刚创建的空提交上创建一个带签名的里程碑mytag2很可能会失败。

+
$ git tag -s -m "My first GPG-signed tag." mytag3
+gpg: “user1 <user1@sun.ossxp.com>”已跳过:私钥不可用
+gpg: signing failed: 私钥不可用
+error: gpg failed to sign the tag
+error: unable to sign the tag
+
+
+

之所以签名失败,是因为找不到签名可用的公钥/私钥对。使用下面的命令可以查看当前可用的GnuPG公钥。

+
$ gpg --list-keys
+/home/jiangxin/.gnupg/pubring.gpg
+---------------------------------
+pub   1024D/FBC49D01 2006-12-21 [有效至:2016-12-18]
+uid                  Jiang Xin <worldhello.net@gmail.com>
+uid                  Jiang Xin <jiangxin@ossxp.com>
+sub   2048g/448713EB 2006-12-21 [有效至:2016-12-18]
+
+
+

可以看到GnuPG的公钥链(pubring)中只包含了Jiang Xin用户的公钥,尚没有uesr1用户的公钥。

+

实际上在创建带签名的里程碑时,并非一定要使用邮件名匹配的公钥/私钥对进行签名,使用-u <key-id>参数调用就可以用指定的公钥/私钥对进行签名,对于此例可以使用FBC49D01作为<key-id>。但如果没有可用的公钥/私钥对,或者希望使用提交者本人的公钥/私钥对进行签名,就需要为提交者:user1 <user1@sun.ossxp.com>创建对应的公钥/私钥对。

+

使用命令gpg –gen-key来创建公钥/私钥对。

+
$ gpg --gen-key
+
+
+

按照提示一步一步操作即可。需要注意的有:

+
    +
  • 在创建公钥/私钥对时,会提示输入用户名,输入User1,提示输入邮件地址,输入user1@sun.ossxp.com,其他可以采用默认值。
  • +
  • 在提示输入密码时,为了简单起见可以直接按下回车,即使用空口令。
  • +
  • 在生成公钥私钥对过程中,会提示用户做一些随机操作以便产生更好的随机数,这时不停的晃动鼠标就可以了。
  • +
+

创建完毕,再查看一下公钥链。

+
$ gpg --list-keys
+/home/jiangxin/.gnupg/pubring.gpg
+---------------------------------
+pub   1024D/FBC49D01 2006-12-21 [有效至:2016-12-18]
+uid                  Jiang Xin <worldhello.net@gmail.com>
+uid                  Jiang Xin <jiangxin@ossxp.com>
+sub   2048g/448713EB 2006-12-21 [有效至:2016-12-18]
+
+pub   2048R/37379C67 2011-01-02
+uid                  User1 <user1@sun.ossxp.com>
+sub   2048R/2FCFB3E2 2011-01-02
+
+
+

很显然用户user1的公钥私钥对已经建立。现在就可以直接使用-s参数来创建带签名里程碑了。

+
$ git tag -s -m "My first GPG-signed tag." mytag3
+
+
+

查看里程碑,可以看到该里程碑已经创建。

+
$ git tag -l my* -n1
+mytag           blank commit.
+mytag2          My first annotated tag.
+mytag3          My first GPG-signed tag.
+
+
+

和带说明的里程碑一样,在Git对象库中也建立了一个tag对象。查看该tag对象可以看到其中包含了GnuPG签名。

+
$ git cat-file tag mytag3
+object ebcf6d6b06545331df156687ca2940800a3c599d
+type commit
+tag mytag3
+tagger user1 <user1@sun.ossxp.com> 1293960936 +0800
+
+My first GPG-signed tag.
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+iQEcBAABAgAGBQJNIEboAAoJEO9W1fg3N5xn42gH/jFDEKobqlupNKFvmkI1t9d6
+lApDFUdcFMPWvxo/eq8VjcQyRcb1X1bGJj+pxXk455fDL1NWonaJa6HE6RLu868x
+CQIWqWelkCelfm05GE9FnPd2SmJsiDkTPZzINya1HylF5ZbrExH506JyCFk//FC2
+8zRApSbrsj3yAWMStW0fGqHKLuYq+sdepzGnnFnhhzkJhusMHUkTIfpLwaprhMsm
+1IIxKNm9i0Zf/tzq4a/R0N8NiFHl/9M95iV200I9PuuRWedV0tEPS6Onax2yT3JE
+I/w9gtIBOeb5uAz2Xrt5AUwt9JJTk5mmv2HBqWCq5wefxs/ub26iPmef35PwAgA=
+=jdrN
+-----END PGP SIGNATURE-----
+
+
+

要验证签名的有效性,如果直接使用gpg命令会比较麻烦,因为需要将这个文件拆分为两个,一个是不包含签名的里程碑内容,另外一个是签名本身。还好可以使用命令git tag -v来验证里程碑签名的有效性。

+
$ git tag -v mytag3
+object ebcf6d6b06545331df156687ca2940800a3c599d
+type commit
+tag mytag3
+tagger user1 <user1@sun.ossxp.com> 1293960936 +0800
+
+My first GPG-signed tag.
+gpg: 于 2011年01月02日 星期日 17时35分36秒 CST 创建的签名,使用 RSA,钥匙号 37379C67
+
+
+
+
+
+

3.3.3. 删除里程碑

+

如果里程碑建立在了错误的提交上,或者对里程碑的命名不满意,可以删除里程碑。删除里程碑使用命令git tag -d,下面用命令删除里程碑mytag

+
$ git tag -d mytag
+Deleted tag 'mytag' (was 60a2f4f)
+
+
+

里程碑没有类似reflog的变更记录机制,一旦删除不易恢复,慎用。在删除里程碑mytag的命令输出中,会显示该里程碑所对应的提交ID,一旦发现删除错误,赶紧补救还来得及。下面的命令实现对里程碑mytag的重建。

+
$ git tag mytag 60a2f4f
+
+
+

为什么没有重命名里程碑的命令?

+

Git没有提供对里程碑直接重命名的命令,如果对里程碑名字不满意的话,可以删除旧的里程碑,然后重新用新的里程碑进行命名。

+

为什么没有提供重命名里程碑的命令呢?按理说只要将.git/refs/tags/下的引用文件改名就可以了。这是因为里程碑的名字不但反映在.git/refs/tags引用目录下的文件名,而且对于带说明或签名的里程碑,里程碑的名字还反映在tag对象的内容中。尤其是带签名的里程碑,如果修改里程碑的名字,不但里程碑对象ID势必要变化,而且里程碑也要重新进行签名,这显然难以自动实现。

+

在第6篇第35章的“Git版本库整理”一节中会介绍使用git filter-branch命令实现对里程碑自动重命名的方法,但是那个方法也不能毫发无损地实现对签名里程碑的重命名,被重命名的签名里程碑中的签名会被去除从而成为带说明的里程碑。

+
+
+

3.3.4. 不要随意更改里程碑

+

里程碑建立后,如果需要修改,可以使用同样的里程碑名称重新建立,不过需要加上-f--force参数强制覆盖已有的里程碑。

+

更改里程碑要慎重,一个原因是里程碑从概念上讲是对历史提交的一个标记,不应该随意变动。另外一个原因是里程碑一旦被他人同步,如果修改里程碑,已经同步该里程碑的用户不会自动更新,这就导致一个相同名称的里程碑在不同用户的版本库中的指向不同。下面就看看如何与他人共享里程碑。

+
+
+

3.3.5. 共享里程碑

+

现在看看用户user1的工作区状态。可以看出现在的工作区相比上游有三个新的提交。

+
$ git status
+# On branch master
+# Your branch is ahead of 'origin/master' by 3 commits.
+#
+nothing to commit (working directory clean)
+
+
+

那么如果执行git push命令向上游推送,会将本地创建的三个里程碑推送到上游么?通过下面的操作来试一试。

+
    +
  • 向上游推送。

    +
    $ git push
    +Counting objects: 3, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (3/3), done.
    +Writing objects: 100% (3/3), 512 bytes, done.
    +Total 3 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (3/3), done.
    +To file:///path/to/repos/hello-world.git
    +   3e6070e..ebcf6d6  master -> master
    +
    +
    +
  • +
  • 通过执行git ls-remote可以查看上游版本库的引用,会发现本地建立的三个里程碑,并没有推送到上游。

    +
    $ git ls-remote origin my*
    +
    +
    +
  • +
+

创建的里程碑,默认只在本地版本库中可见,不会因为对分支执行推送而将里程碑也推送到远程版本库。这样的设计显然更为合理,否则的话,每个用户本地创建的里程碑都自动向上游推送,那么上游的里程碑将有多么杂乱,而且不同用户创建的相同名称的里程碑会互相覆盖。

+

那么如何共享里程碑呢?

+

如果用户确实需要将某些本地建立的里程碑推送到远程版本库,需要在git push命令中明确地表示出来。下面在用户user1的工作区执行命令,将mytag里程碑共享到上游版本库。

+
$ git push origin mytag
+Total 0 (delta 0), reused 0 (delta 0)
+To file:///path/to/repos/hello-world.git
+ * [new tag]         mytag -> mytag
+
+
+

如果需要将本地建立的所有里程碑全部推送到远程版本库,可以使用通配符。

+
$ git push origin refs/tags/*
+Counting objects: 2, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (2/2), done.
+Writing objects: 100% (2/2), 687 bytes, done.
+Total 2 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (2/2), done.
+To file:///path/to/repos/hello-world.git
+ * [new tag]         mytag2 -> mytag2
+ * [new tag]         mytag3 -> mytag3
+
+
+

再用命令git ls-remote查看上游版本库的引用,会发现本地建立的三个里程碑,已经能够在上游中看到了。

+
$ git ls-remote origin my*
+60a2f4f31e5dddd777c6ad37388fe6e5520734cb        refs/tags/mytag
+149b6344e80fc190bda5621cd71df391d3dd465e        refs/tags/mytag2
+8a9f3d16ce2b4d39b5d694de10311207f289153f        refs/tags/mytag2^{}
+5dc2fc52f2dcb84987f511481cc6b71ec1b381f7        refs/tags/mytag3
+ebcf6d6b06545331df156687ca2940800a3c599d        refs/tags/mytag3^{}
+
+
+

用户从版本库执行拉回操作,会自动获取里程碑么?

+

用户 user2 的工作区中如果执行git fetchgit pull操作,能自动将用户 user1 推送到共享版本库中的里程碑获取到本地版本库么?下面实践一下。

+
    +
  • 进入user2的工作区。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +
    +
    +
  • +
  • 执行git pull命令,从上游版本库获取提交。

    +
    $ git pull
    +remote: Counting objects: 5, done.
    +remote: Compressing objects: 100% (5/5), done.
    +remote: Total 5 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (5/5), done.
    +From file:///path/to/repos/hello-world
    +   3e6070e..ebcf6d6  master     -> origin/master
    + * [new tag]         mytag3     -> mytag3
    +From file:///path/to/repos/hello-world
    + * [new tag]         mytag      -> mytag
    + * [new tag]         mytag2     -> mytag2
    +Updating 3e6070e..ebcf6d6
    +Fast-forward
    +
    +
    +
  • +
  • 可见执行git pull操作,能够在获取远程共享版本库的提交的同时,获取新的里程碑。下面的命令可以看到本地版本库中的里程碑。

    +
    $ git tag -n1 -l my*
    +mytag           blank commit.
    +mytag2          My first annotated tag.
    +mytag3          My first GPG-signed tag.
    +
    +
    +
  • +
+

里程碑变更能够自动同步么?

+

里程碑可以被强制更新。当里程碑被改变后,已经获取到里程碑的版本库再次使用获取或拉回操作,能够自动更新里程碑么?答案是不能。可以看看下面的操作。

+
    +
  • 用户user2强制更新里程碑mytag2

    +
    $ git tag -f -m "user2 update this annotated tag." mytag2 HEAD^
    +Updated tag 'mytag2' (was 149b634)
    +
    +
    +
  • +
  • 里程碑mytag2已经是不同的对象了。

    +
    $ git rev-parse mytag2
    +0e6c780ff0fe06635394db9dac6fb494833df8df
    +$ git cat-file -p mytag2
    +object 8a9f3d16ce2b4d39b5d694de10311207f289153f
    +type commit
    +tag mytag2
    +tagger user2 <user2@moon.ossxp.com> Mon Jan 3 01:14:18 2011 +0800
    +
    +user2 update this annotated tag.
    +
    +
    +
  • +
  • 为了更改远程共享服务器中的里程碑,同样需要显式推送。即在推送时写上要推送的里程碑名称。

    +
    $ git push origin mytag2
    +Counting objects: 1, done.
    +Writing objects: 100% (1/1), 171 bytes, done.
    +Total 1 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (1/1), done.
    +To file:///path/to/repos/hello-world.git
    +   149b634..0e6c780  mytag2 -> mytag2
    +
    +
    +
  • +
  • 切换到另外一个用户user1的工作区。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +
    +
    +
  • +
  • 用户user1执行拉回操作,没有获取到新的里程碑。

    +
    $ git pull
    +Already up-to-date.
    +
    +
    +
  • +
  • 用户user1必须显式地执行拉回操作。即要在git pull的参数中使用引用表达式。

    +

    所谓引用表达式就是用冒号分隔的引用名称或通配符。用在这里代表用远程共享版本库的引用refs/tag/mytag2覆盖本地版本库的同名引用。

    +
    $ git pull origin refs/tags/mytag2:refs/tags/mytag2
    +remote: Counting objects: 1, done.
    +remote: Total 1 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (1/1), done.
    +From file:///path/to/repos/hello-world
    + - [tag update]      mytag2     -> mytag2
    +Already up-to-date.
    +
    +
    +
  • +
+

关于里程碑的共享和同步操作,看似很繁琐,但用心体会就会感觉到Git关于里程碑共享的设计是非常合理和人性化的:

+
    +
  • 里程碑共享,必须显式的推送。即在推送命令的参数中,标明要推送哪个里程碑。

    +

    显式推送是防止用户随意推送里程碑导致共享版本库中里程碑泛滥的方法。当然还可以参考第5篇“第30章Gitolite服务架设”的相关章节为共享版本库添加授权,只允许部分用户向服务器推送里程碑。

    +
  • +
  • 执行获取或拉回操作,自动从远程版本库获取新里程碑,并在本地版本库中创建。

    +

    获取或拉回操作,只会将获取的远程分支所包含的新里程碑同步到本地,而不会将远程版本库的其他分支中的里程碑获取到本地。这既方便了里程碑的取得,又防止本地里程碑因同步远程版本库而泛滥。

    +
  • +
  • 如果本地已有同名的里程碑,默认不会从上游同步里程碑,即使两者里程碑的指向是不同的。

    +

    理解这一点非常重要。这也就要求里程碑一旦共享,就不要再修改。

    +
  • +
+
+
+

3.3.6. 删除远程版本库的里程碑

+

假如向远程版本库推送里程碑后,忽然发现里程碑创建在了错误的提交上,为了防止其他人获取到错误的里程碑,应该尽快将里程碑删除。

+

删除本地里程碑非常简单,使用git tag -d <tagname>就可以了,但是如何撤销已经推送到远程版本库的里程碑呢?需要登录到服务器上么?或者需要麻烦管理员么?不必!可以直接在本地版本库执行命令删除远程版本库的里程碑。

+

使用git push命令可以删除远程版本库中的里程碑。用法如下:

+
命令: git push <remote_url>  :<tagname>
+
+
+

该命令的最后一个参数实际上是一个引用表达式,引用表达式一般的格式为<ref>:<ref>。该推送命令使用的引用表达式冒号前的引用被省略,其含义是将一个空值推送到远程版本库对应的引用中,亦即删除远程版本库中相关的引用。这个命令不但可以用于删除里程碑,在下一章还可以用它删除远程版本库中的分支。

+

下面演示在用户user1的工作区执行下面的命令删除远程共享版本库中的里程碑mytag2

+
    +
  • 切换到用户user1工作区。

    +
    $ cd /path/to/user1/workspace/hello-world
    +
    +
    +
  • +
  • 执行推送操作删除远程共享版本库中的里程碑。

    +
    $ git push origin :mytag2
    +To file:///path/to/repos/hello-world.git
    + - [deleted]         mytag2
    +
    +
    +
  • +
  • 查看远程共享库中的里程碑,发现mytag2的确已经被删除。

    +
    $ git ls-remote origin my*
    +60a2f4f31e5dddd777c6ad37388fe6e5520734cb        refs/tags/mytag
    +5dc2fc52f2dcb84987f511481cc6b71ec1b381f7        refs/tags/mytag3
    +ebcf6d6b06545331df156687ca2940800a3c599d        refs/tags/mytag3^{}
    +
    +
    +
  • +
+
+
+

3.3.7. 里程碑命名规范

+

在正式项目的版本库管理中,要为里程碑创建订立一些规则,诸如:

+
    +
  • 对创建里程碑进行权限控制,参考后面Git服务器架设的相关章节。
  • +
  • 不能使用轻量级里程碑(只用于本地临时性里程碑),必须使用带说明的里程碑,甚至要求必须使用带签名的里程碑。
  • +
  • 如果使用带签名的里程碑,可以考虑设置专用账户,使用专用的私钥创建签名。
  • +
  • 里程碑的命名要使用统一的风格,并很容易和最终产品显示的版本号相对应。
  • +
+

Git的里程碑命名还有一些特殊的约定需要遵守。实际上,下面的这些约定对于下一章要介绍的分支及任何其他引用均适用:

+
    +
  • 不能以符号“-”开头。以免在命令行中被当成命令的选项。

    +
  • +
  • 可以包含路径分隔符“/”,但是路径分隔符不能位于最后。

    +

    使用路径分隔符创建tag实际上会在引用目录下创建子目录。例如名为demo/v1.2.1的里程碑,就会创建目录.git/refs/tags/demo并在该目录下创建引用文件v1.2.1

    +
  • +
  • 不能出现两个连续的点“..”。因为两个连续的点被用于表示版本范围,当然更不能使用三个连续的点。

    +
  • +
  • 如果在里程碑命名中使用了路径分隔符“/”,就不能在任何一个分隔路径中以点“.”开头。

    +

    这是因为里程碑在用简写格式表达时,可能造成以一个点“.”开头。这样的引用名称在用作版本范围的最后一个版本时,本来两点操作符变成了三点操作符,从而造成歧义。

    +
  • +
  • 不能在里程碑名称的最后出现点“.”。否则作为第一个参数出现在表示版本范围的表达式中时,本来版本范围表达式可能用的是两点操作符,结果被误作三点操作符。

    +
  • +
  • 不能使用特殊字符,如:空格、波浪线“~”、脱字符“^”、冒号“:”、问号“?”、星号“*”、方括号“[”,以及字符\\177(删除字符)或小于\\040(32)的Ascii码都不能使用。

    +

    这是因为波浪线“~”和脱字符“^”都用于表示一个提交的祖先提交。

    +

    冒号被用作引用表达式来分隔两个不同的引用,或者用于分隔引用代表的树对象和该目录树中的文件。

    +

    问号、星号和方括号在引用表达式中都被用作通配符。

    +
  • +
  • 不能以“.lock”为结尾。因为以“.lock”结尾的文件是里程碑操作过程中的临时文件。

    +
  • +
  • 不能包含“@{”字串。因为reflog采用“@{<num>”作为语法的一部分。

    +
  • +
  • 不能包含反斜线“\”。因为反斜线用于命令行或shell脚本会造成意外。

    +
  • +
+

Linux中的里程碑

+

Linux项目无疑是使用Git版本库时间最久远,也是最重量级的项目。研究Linux项目本身的里程碑命名和管理,无疑会为自己的项目提供借鉴。

+
    +
  • 首先看看Linux中的里程碑命名。可以看到里程碑都是以字母v开头。

    +
    $ git ls-remote --tags \
    +  git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6-stable.git \
    +  v2.6.36*
    +25427f38d3b791d986812cb81c68df38e8249ef8        refs/tags/v2.6.36
    +f6f94e2ab1b33f0082ac22d71f66385a60d8157f        refs/tags/v2.6.36^{}
    +8ed88d401f908a594cd74a4f2513b0fabd32b699        refs/tags/v2.6.36-rc1
    +da5cabf80e2433131bf0ed8993abc0f7ea618c73        refs/tags/v2.6.36-rc1^{}
    +...
    +7619e63f48822b2c68d0e108677340573873fb93        refs/tags/v2.6.36-rc8
    +cd07202cc8262e1669edff0d97715f3dd9260917        refs/tags/v2.6.36-rc8^{}
    +9d389cb6dcae347cfcdadf2a1ec5e66fc7a667ea        refs/tags/v2.6.36.1
    +bf6ef02e53e18dd14798537e530e00b80435ee86        refs/tags/v2.6.36.1^{}
    +ee7b38c91f3d718ea4035a331c24a56553e90960        refs/tags/v2.6.36.2
    +a1346c99fc89f2b3d35c7d7e2e4aef8ea4124342        refs/tags/v2.6.36.2^{}
    +
    +
    +
  • +
  • -rc<num>为后缀的是先于正式版发布的预发布版本。

    +

    可以看出这个里程碑是一个带签名的里程碑。关于此里程碑的说明也是再简练不过了。

    +
    $ git show v2.6.36-rc1
    +tag v2.6.36-rc1
    +Tagger: Linus Torvalds <torvalds@linux-foundation.org>
    +Date:   Sun Aug 15 17:42:10 2010 -0700
    +
    +Linux 2.6.36-rc1
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.10 (GNU/Linux)
    +
    +iEYEABECAAYFAkxoiWgACgkQF3YsRnbiHLtYKQCfQSIVcj2hvLj6IWgP9xK2FE7T
    +bPoAniJ1CjbwLxQBudRi71FvubqPLuVC
    +=iuls
    +-----END PGP SIGNATURE-----
    +
    +commit da5cabf80e2433131bf0ed8993abc0f7ea618c73
    +Author: Linus Torvalds <torvalds@linux-foundation.org>
    +Date:   Sun Aug 15 17:41:37 2010 -0700
    +
    +    Linux 2.6.36-rc1
    +
    +diff --git a/Makefile b/Makefile
    +index 788111d..f3bdff8 100644
    +--- a/Makefile
    ++++ b/Makefile
    +@@ -1,7 +1,7 @@
    + VERSION = 2
    + PATCHLEVEL = 6
    +-SUBLEVEL = 35
    +-EXTRAVERSION =
    ++SUBLEVEL = 36
    ++EXTRAVERSION = -rc1
    + NAME = Sheep on Meth
    +
    + # *DOCUMENTATION*
    +
    +
    +
  • +
  • 正式发布版去掉了预发布版的后缀。

    +
    $ git show v2.6.36
    +tag v2.6.36
    +Tagger: Linus Torvalds <torvalds@linux-foundation.org>
    +Date:   Wed Oct 20 13:31:18 2010 -0700
    +
    +Linux 2.6.36
    +
    +The latest and greatest, and totally bug-free.  At least until 2.6.37
    +comes along and shoves it under a speeding train like some kind of a
    +bully.
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.10 (GNU/Linux)
    +
    +iEYEABECAAYFAky/UcwACgkQF3YsRnbiHLvg/ACffKjAb1fD6fpqcHbSijHHpbP3
    +4SkAnR4xOy7iKhmfS50ZrVsOkFFTuBHG
    +=JD3z
    +-----END PGP SIGNATURE-----
    +
    +commit f6f94e2ab1b33f0082ac22d71f66385a60d8157f
    +Author: Linus Torvalds <torvalds@linux-foundation.org>
    +Date:   Wed Oct 20 13:30:22 2010 -0700
    +
    +    Linux 2.6.36
    +
    +diff --git a/Makefile b/Makefile
    +index 7583116..860c26a 100644
    +--- a/Makefile
    ++++ b/Makefile
    +@@ -1,7 +1,7 @@
    + VERSION = 2
    + PATCHLEVEL = 6
    + SUBLEVEL = 36
    +-EXTRAVERSION = -rc8
    ++EXTRAVERSION =
    + NAME = Flesh-Eating Bats with Fangs
    +
    + # *DOCUMENTATION*
    +
    +
    +
  • +
  • 正式发布后的升级/修正版本是通过最后一位数字的变动体现的。

    +
    $ git show v2.6.36.1
    +tag v2.6.36.1
    +Tagger: Greg Kroah-Hartman <gregkh@suse.de>
    +Date:   Mon Nov 22 11:04:17 2010 -0800
    +
    +This is the 2.6.36.1 stable release
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v2.0.15 (GNU/Linux)
    +
    +iEYEABECAAYFAkzqvrIACgkQMUfUDdst+ym9VQCgmE1LK2eC/LE9HkscsxL1X62P
    +8F0AnRI28EHENLXC+FBPt+AFWoT9f1N8
    +=BX5O
    +-----END PGP SIGNATURE-----
    +
    +commit bf6ef02e53e18dd14798537e530e00b80435ee86
    +Author: Greg Kroah-Hartman <gregkh@suse.de>
    +Date:   Mon Nov 22 11:03:49 2010 -0800
    +
    +    Linux 2.6.36.1
    +
    +diff --git a/Makefile b/Makefile
    +index 860c26a..dafd22a 100644
    +--- a/Makefile
    ++++ b/Makefile
    +@@ -1,7 +1,7 @@
    + VERSION = 2
    + PATCHLEVEL = 6
    + SUBLEVEL = 36
    +-EXTRAVERSION =
    ++EXTRAVERSION = .1
    + NAME = Flesh-Eating Bats with Fangs
    +
    + # *DOCUMENTATION*
    +
    +
    +
  • +
+

Android项目

+

看看其他项目的里程碑命名,会发现不同项目关于里程碑的命名各不相同。但是对于同一个项目要在里程碑命名上遵照同一标准,并能够和软件版本号正确地对应。

+

Android项目是一个非常有特色的使用Git版本库的项目,在后面会用两章介绍Android项目为Git带来的两个新工具。看看Android项目的里程碑编号对自己版本库的管理有无启发。

+
    +
  • 看看Android项目中的里程碑命名,会发现其里程碑的命名格式为android-<大版本号>_r<小版本号>

    +
    $ git ls-remote --tags \
    +  git://android.git.kernel.org/platform/manifest.git \
    +  android-2.2*
    +6a03ae8f564130cbb4a11acfc49bd705df7c8df6        refs/tags/android-2.2.1_r1
    +599e242dea48f84e2f26054b0d1721e489043440        refs/tags/android-2.2.1_r1^{}
    +656ba6fdbd243153af6ec31017de38641060bf1e        refs/tags/android-2.2_r1
    +27cd0e346d1f3420c5747e01d2cb35e9ffd025ea        refs/tags/android-2.2_r1^{}
    +f6b7c499be268f1613d8cd70f2a05c12e01bcb93        refs/tags/android-2.2_r1.1
    +bd3e9923773006a0a5f782e1f21413034096c4b1        refs/tags/android-2.2_r1.1^{}
    +03618e01ec9bdd06fd8fe9afdbdcbaf4b84092c5        refs/tags/android-2.2_r1.2
    +ba7111e1d6fd26ab150bafa029fd5eab8196dad1        refs/tags/android-2.2_r1.2^{}
    +e03485e978ce1662a1285837f37ed39eadaedb1d        refs/tags/android-2.2_r1.3
    +7386d2d07956be6e4f49a7e83eafb12215e835d7        refs/tags/android-2.2_r1.3^{}
    +
    +
    +
  • +
  • 里程碑的创建过程中使用了专用帐号和GnuPG签名。

    +
    $ git show android-2.2_r1
    +tag android-2.2_r1
    +Tagger: The Android Open Source Project <initial-contribution@android.com>
    +Date:   Tue Jun 29 11:28:52 2010 -0700
    +
    +Android 2.2 release 1
    +-----BEGIN PGP SIGNATURE-----
    +Version: GnuPG v1.4.6 (GNU/Linux)
    +
    +iD8DBQBMKjtm6K0/gZqxDngRAlBUAJ9QwgFbUL592FgRZLTLLbzhKsSQ8ACffQu5
    +Mjxg5X9oc+7N1DfdU+pmOcI=
    +=0NG0
    +-----END PGP SIGNATURE-----
    +
    +commit 27cd0e346d1f3420c5747e01d2cb35e9ffd025ea
    +Author: The Android Open Source Project <initial-contribution@android.com>
    +Date:   Tue Jun 29 11:27:23 2010 -0700
    +
    +    Manifest for android-2.2_r1
    +
    +diff --git a/default.xml b/default.xml
    +index 4f21453..aaa26e3 100644
    +--- a/default.xml
    ++++ b/default.xml
    +@@ -3,7 +3,7 @@
    +   <remote  name="korg"
    +            fetch="git://android.git.kernel.org/"
    +            review="review.source.android.com" />
    +-  <default revision="froyo"
    ++  <default revision="refs/tags/android-2.2_r1"
    +            remote="korg" />
    +...
    +
    +
    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/040-git-branch.html b/03-git-harmony/040-git-branch.html new file mode 100644 index 000000000..c3749fa52 --- /dev/null +++ b/03-git-harmony/040-git-branch.html @@ -0,0 +1,1632 @@ + + + + + + + + + 3.4. Git分支 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

3.4. Git分支

+

分支是我们的老朋友了,第2篇中的“第6章 Git对象库”、“第7章 Git重置”和“第8章 Git检出”等章节中,就已经从实现原理上理解了分支。您想必已经知道了分支master的存在方式无非就是在目录.git/refs/heads下的文件(或称引用)而已。也看到了分支master的指向如何随着提交而变化,如何通过git reset命令而重置,以及如何使用git checkout命令而检出。

+

之前的章节都只用到了一个分支:master分支,而在本章会接触到多个分支。会从应用的角度上介绍分支的几种不同类型:发布分支、特性分支和卖主分支。在本章可以学习到如何对多分支进行操作,如何创建分支,如何切换到其他分支,以及分支之间的合并、变基等。

+
+

3.4.1. 代码管理之殇

+

分支是代码管理的利器。如果没有有效的分支管理,代码管理就适应不了复杂的开发过程和项目的需要。在实际的项目实践中,单一分支的单线开发模式还远远不够,因为:

+
    +
  • 成功的软件项目大多要经过多个开发周期,发布多个软件版本。每个已经发布的版本都可能发现bug,这就需要对历史版本进行更改。
  • +
  • 有前瞻性的项目管理,新版本的开发往往是和当前版本同步进行的。如果两个版本的开发都混杂在master分支中,肯定会是一场灾难。
  • +
  • 如果产品要针对不同的客户定制,肯定是希望客户越多越好。如果所有的客户定制都混杂在一个分支中,必定会带来混乱。如果使用多个分支管理不同的定制,但如果管理不善,分支之间定制功能的迁移就会成为头痛的问题。
  • +
  • 即便是所有成员都在为同一个项目的同一个版本进行工作,每个人领受任务却不尽相同,有的任务开发周期会很长,有的任务需要对软件架构进行较大的修改,如果所有人都工作在同一分支中,就会因为过多过频的冲突导致效率低下。
  • +
  • 敏捷开发(不管是极限编程XP还是Scrum或其他)是最有效的项目管理模式,其最有效的一个实践就是快速迭代、每晚编译。如果不能将项目的各个功能模块的开发通过分支进行隔离,在软件集成上就会遭遇困难。
  • +
+
+

3.4.1.1. 发布分支

+

为什么bug没完没了?

+

在2006年我接触到一个项目团队,使用Subversion做版本控制。最为困扰项目经理的是刚刚修正产品的一个bug,马上又会接二连三地发现新的bug。在访谈开发人员,询问开发人员是如何修正bug的时候,开发人员的回答让我大吃一惊:“当发现产品出现bug的时候,我要中断当前的工作,把我正在开发的新功能的代码注释掉,然后再去修改bug,修改好就生成一个war包(Java开发网站项目)给运维部门,扔到网站上去。”

+

于是我就画了下面的一个图(图18-1),大致描述了这个团队进行bug修正的过程,从中可以很容易地看出问题的端倪。这个图对于Git甚至其他版本库控制系统同样适用。

+
+../images/branch-release-branch-question.png +

图 18-1:没有使用分支导致越改越多的bug

+
+

说明:

+
    +
  • 图18-1中的图示①,开发者针对功能1做了一个提交,编号“F1.1”。这时客户报告产品出现了bug。
  • +
  • 于是开发者匆忙地干了起来,图示②显示了该开发者修正bug的过程:将已经提交的针对功能1的代码“F1.1”注释掉,然后提交一个修正bug的提交(编号:fix1)。
  • +
  • 开发者编译出新的产品交给客户,接着开始功能1的开发。图示③显示了开发者针对功能1做出了一个新的提交“F1.2”。
  • +
  • 客户再次发现一个bug。开发者再次开始bug修正工作。
  • +
  • 图示④和图示⑤显示了此工作模式下非常容易在修复一个bug的时候引入新的bug。
  • +
  • 图示④的问题在于开发者注释功能1的代码时,不小心将“fix1”的代码也注释掉了,导致曾经修复的bug在新版本中重现。
  • +
  • 图示⑤的问题在于开发者没有将功能1的代码剔出干净,导致在产品的新版本中引入了不完整和不需要的功能代码。用户可能看到一个新的但是不能使用的菜单项,甚至更糟。
  • +
+

使用版本控制系统的分支功能,可以避免对已发布的软件版本进行bug修正时引入新功能的代码,或者因误删其他bug修正代码导致已修复问题重现。在这种情况下创建的分支有一个专有的名称:bugfix分支或发布分支(Release Branch)。之所以称为发布分支,是因为在软件新版本发布后经常使用此技术进行软件维护,发布升级版本。

+

图18-2演示了如何使用发布分支应对bug修正的问题。

+
+../images/branch-release-branch-answer.png +

图 18-2:使用发布分支的bug修正过程

+
+

说明:

+
    +
  • 图18-2中的图示②,可以看到开发者创建了一个发布分支(bugfix分支),在分支中提交修正代码“fix1”。注意此分支是自上次软件发布时最后一次提交进行创建的,因此分支中没有包含开发者为新功能所做的提交“F1.1”,是一个“干净”的分支。
  • +
  • 图示③可以看出从发布分支向主线做了一次合并,这是因为在主线上也同样存在该bug,需要在主线上也做出相应的更改。
  • +
  • 图示④,开发者继续开发,针对功能1执行了一个新的提交,编号“F1.2”。这时,客户报告有新的bug。
  • +
  • 继续在发布分支上进行bug修正,参考图示⑤。当修正完成(提交“fix2”)时,基于发布分支创建一个新的软件版本发给客户。不要忘了向主线合并,因为同样的bug可能在主线上也存在。
  • +
+

关于如何基于一个历史提交创建分支,以及如何在分支之间进行合并,在本章后面的内容中会详细介绍。

+
+
+

3.4.1.2. 特性分支

+

为什么项目一再的拖延?

+

有这么一个软件项目,项目已经延期了可是还是看不到一点要完成的样子。最终老板变得有些不耐烦了,说道:“那么就砍掉一些功能吧”。项目经理听闻,一阵眩晕,因为项目经理知道自己负责的这个项目采用的是单一主线开发,要将一个功能从中撤销,工作量非常大,而且可能会牵涉到其他相关模块的变更。

+

图18-3就是这个项目的版本库示意图,显然这个项目的代码管理没有使用分支。

+
+../images/branch-feature-branch-question.png +

图 18-3:没有使用分支导致项目拖延

+
+

说明:

+
    +
  • 图18-3中的图示①,用圆圈代表功能1的历次提交,用三角代替功能2的历次提交。因为所有开发者都在主线上工作,所以提交混杂在一起。
  • +
  • 当老板决定功能2不在这一版本的产品中发布,延期到下一个版本时,功能2的开发者做了一个(或者若干个)反向提交,即图示②中的倒三角(代号为“F2.X”)标识的反向提交,将功能2的所有历史提交全部撤销。
  • +
  • 图示③表示除了功能2外的其他开发继续进行。
  • +
+

那么负责开发功能2的开发者干什么呢?或者放一个长假,或者在本地开发,与版本库隔离,即不向版本库提交,直到延期的项目终于发布之后再将代码提交。这两种方法都是不可取的,尤其是后一种隔离开发最危险,如果因为病毒感染、文件误删、磁盘损坏,就会导致全部工作损失殆尽。我的项目组就曾经遇到过这样的情况。

+

采用分支将某个功能或模块的开发与开发主线独立出来,是解决类似问题的办法,这种用途的分支被称为特性分支(Feature Branch)或主题分支(Topic Branch)。图18-4就展示了如何使用特性分支帮助纠正要延期的项目,协同多用户的开发。

+
+../images/branch-feature-branch-answer.png +

图 18-4:使用特性分支协同多功能开发

+
+

说明:

+
    +
  • 图18-4中的图示①和前面的一样,都是多个开发者的提交混杂在开发主线中。
  • +
  • 图示②是当得知功能2不在此次产品发布中后,功能2的开发者所做的操作。
  • +
  • 首先,功能2的开发者提交一个(或若干个)反向提交,将功能2的相关代码全部撤销。图中倒三角(代号为“F2.X”)的提交就是一个反向提交。
  • +
  • 接着,功能2的开发者从反向提交开始创建一个特性分支。
  • +
  • 最后,功能2的开发者将功能2的历史提交拣选到特性分支上。对于Git可以使用拣选命令git cherry-pick
  • +
  • 图示③中可以看出包括功能2在内的所有功能和模块都继续提交,但是提交的分支各不相同。功能2的开发者将代码提交到特性分支上,其他开发者还提交到主线上。
  • +
+

那么在什么情况下使用特性分支呢?试验性、探索性的功能开发应该为其建立特性分支。功能复杂、开发周期长(有可能在本次发布中取消)的模块应该为其建立特性分支。会更改软件体系架构,破坏软件集成,或者容易导致冲突、影响他人开发进度的模块,应该为其建立特性分支。

+

在使用CVS或Subversion等版本控制系统建立分支时,或者因为太慢(CVS)或者因为授权原因需要找管理员进行操作,非常的不方便。Git的分支管理就方便多了,一是开发者可以在本地版本库中随心所欲地创建分支,二是管理员可以对共享版本库进行设置允许开发者创建特定名称的分支,这样开发者的本地分支可以推送到服务器实现数据的备份。关于Git服务器的分支授权参照本书第5篇的Gitolite服务器架设的相关章节。

+
+
+

3.4.1.3. 卖主分支

+

有的项目要引用到第三方的代码模块并且需要对其进行定制,有的项目甚至整个就是基于某个开源项目进行的定制。如何有效地管理本地定制和第三方(上游)代码的变更就成为了一个难题。卖主分支(Vendor Branch)可以部分解决这个难题。

+

所谓卖主分支,就是在版本库中创建一个专门和上游代码进行同步的分支,一旦有上游代码发布就检入到卖主分支中。图18-5就是一个典型的卖主分支工作流程。

+
+../images/branch-vendor-branch.png +

图 18-5:卖主分支工作流程

+
+

说明:

+
    +
  • 在主线检入上游软件版本1.0的代码。在图中标记为v1.0的提交即是。
  • +
  • 然后在主线上进行定制开发,c1、c2分别代表历次定制提交。
  • +
  • 当上游有了新版本发布,例如2.0版本,就将上游新版本的源代码提交到卖主分支中。图中标记为v2.0的提交即是。
  • +
  • 然后在主线上合并卖主分支上的新提交,合并后的提交显示为M1
  • +
+

如果定制较少,使用卖主分支可以工作得很好,但是如果定制的内容非常多,在合并的时候就会遇到非常多的冲突。定制的代码越多,混杂的越厉害,冲突解决就越困难。

+

本章的内容尚不能针对复杂的定制开发给出满意的版本控制解决方案,本书第4篇的“第22章 Topgit协同模型”会介绍一个针对复杂定制开发的更好的解决方案。

+
+
+
+

3.4.2. 分支命令概述

+

在Git中分支管理使用命令git branch。该命令的主要用法如下:

+
用法1: git branch
+用法2: git branch <branchname>
+用法3: git branch <branchname> <start-point>
+用法4: git branch -d <branchname>
+用法5: git branch -D <branchname>
+用法6: git branch -m <oldbranch> <newbranch>
+用法7: git branch -M <oldbranch> <newbranch>
+
+
+

说明:

+
    +
  • 用法1用于显示本地分支列表。当前分支在输出中会显示为特别的颜色,并用星号 “*” 标识出来。

    +
  • +
  • 用法2和用法3用于创建分支。

    +

    用法2基于当前头指针(HEAD)指向的提交创建分支,新分支的分支名为<branchname>

    +

    用法3基于提交<start-point>创建新分支,新分支的分支名为<branchname>

    +
  • +
  • 用法4和用法5用于删除分支。

    +

    用法4在删除分支<branchname>时会检查所要删除的分支是否已经合并到其他分支中,否则拒绝删除。

    +

    用法5会强制删除分支<branchname>,即使该分支没有合并到任何一个分支中。

    +
  • +
  • 用法6和用法7用于重命名分支。

    +

    如果版本库中已经存在名为<newbranch>的分支,用法6拒绝执行重命名,而用法7会强制执行。

    +
  • +
+

下面就通过hello-world项目演示Git的分支管理。

+
+
+

3.4.3. Hello World开发计划

+

上一章从Github上检出的hello-world包含了一个C语言开发的应用,现在假设项目hello-world做产品发布,版本号定为1.0,则进行下面的里程碑操作。

+
    +
  • hello-world创建里程碑v1.0

    +
    $ cd /path/to/user1/workspace/hello-world/
    +$ git tag -m "Release 1.0" v1.0
    +
    +
    +
  • +
  • 将新建的里程碑推送到远程共享版本库。

    +
    $ git push origin refs/tags/v1.0
    +Counting objects: 1, done.
    +Writing objects: 100% (1/1), 158 bytes, done.
    +Total 1 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (1/1), done.
    +To file:///path/to/repos/hello-world.git
    + * [new tag]         v1.0 -> v1.0
    +
    +
    +
  • +
+

到现在为止还没有运行hello-world程序呢,现在就在开发者user1的工作区中运行一下。

+
    +
  • 进入src目录,编译程序。

    +
    $ cd src
    +$ make
    +version.h.in => version.h
    +cc    -c -o main.o main.c
    +cc -o hello main.o
    +
    +
    +
  • +
  • 使用参数--help运行hello程序,可以查看帮助信息。

    +

    说明:hello程序的帮助输出中有一个拼写错误,本应该是--help的地方写成了-help。这是有意为之。

    +
    $ ./hello --help
    +Hello world example v1.0
    +Copyright Jiang Xin <jiangxin AT ossxp DOT com>, 2009.
    +
    +Usage:
    +    hello
    +            say hello to the world.
    +
    +    hello <username>
    +            say hi to the user.
    +
    +    hello -h, -help
    +            this help screen.
    +
    +
    +
  • +
  • 不带参数运行,向全世界问候。

    +

    说明:最后一行显示版本为“v1.0”,这显然是来自于新建立的里程碑“v1.0”。

    +
    $ ./hello
    +Hello world.
    +(version: v1.0)
    +
    +
    +
  • +
  • 执行命令的时候,后面添加用户名作为参数,则向该用户问候。

    +

    说明:下面在运行hello的时候,显然出现了一个bug,即用户名中间如果出现了空格,输出的欢迎信息只包含了部分的用户名。这个bug也是有意为之。

    +
    $ ./hello Jiang Xin
    +Hi, Jiang.
    +(version: v1.0)
    +
    +
    +
  • +
+

新版本开发计划

+

既然1.0版本已经发布了,现在是时候制订下一个版本2.0的开发计划了。计划如下:

+
    +
  • 多语种支持。

    +

    hello-world添加多语种支持,使得软件运行的时候能够使用中文或其他本地化语言进行问候。

    +
  • +
  • 用getopt进行命令行解析。

    +

    对命令行参数解析框架进行改造,以便实现更灵活、更易扩展的命令行处理。在1.0版本中,程序内部解析命令行参数使用了简单的字符串比较,非常不灵活。从源文件src/main.c中可以看到当前实现的简陋和局限。

    +
    $ git grep -n argv
    +main.c:20:main(int argc, char **argv)
    +main.c:24:    } else if ( strcmp(argv[1],"-h") == 0 ||
    +main.c:25:                strcmp(argv[1],"--help") == 0 ) {
    +main.c:28:        printf ("Hi, %s.\n", argv[1]);
    +
    +
    +
  • +
+

最终决定由开发者user2负责多语种支持的功能,由开发者user1负责用getopt进行命令行解析的功能。

+
+
+

3.4.4. 基于特性分支的开发

+

有了前面“代码管理之殇”的铺垫,在领受任务之后,开发者user1和user2应该为自己负责的功能创建特性分支。

+
+

3.4.4.1. 创建分支user1/getopt

+

开发者user1负责用getopt进行命令行解析的功能,因为这个功能用到getopt函数,于是将这个分支命名为user1/getopt。开发者 user1 使用git branch命令创建该特性分支。

+
    +
  • 确保是在开发者user1的工作区中。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +
    +
    +
  • +
  • 开发者user1基于当前HEAD创建分支user1/getopt

    +
    $ git branch user1/getopt
    +
    +
    +
  • +
  • 使用git branch创建分支,并不会自动切换。查看当前分支可以看到仍然工作在master分支(用星号 “*” 标识)中。

    +
    $ git branch
    +* master
    +  user1/getopt
    +
    +
    +
  • +
  • 执行git checkout命令切换到新分支上。

    +
    $ git checkout user1/getopt
    +Switched to branch 'user1/getopt'
    +
    +
    +
  • +
  • 再次查看分支列表,当前工作分支的标记符(星号)已经落在user1/getopt分支上。

    +
    $ git branch
    +  master
    +* user1/getopt
    +
    +
    +
  • +
+

分支的奥秘

+

分支实际上是创建在目录.git/refs/heads下的引用,版本库初始时创建的master分支就是在该目录下。在第2篇“Git重置”的章节中,已经介绍过master分支的实现,实际上这也是所有分支的实现方式。

+
    +
  • 查看一下目录.git/refs/heads目录下的引用。

    +

    可以在该目录下看到master文件,和一个user1目录。而在user1目录下是文件getopt

    +
    $ ls -F .git/refs/heads/
    +master  user1/
    +$ ls -F .git/refs/heads/user1/
    +getopt
    +
    +
    +
  • +
  • 引用文件.git/refs/heads/user1/getopt记录的是一个提交ID。

    +
    $ cat .git/refs/heads/user1/getopt
    +ebcf6d6b06545331df156687ca2940800a3c599d
    +
    +
    +
  • +
  • 因为分支user1/getopt是基于头指针HEAD创建的,因此当前该分支和master分支指向是一致的。

    +
    $ cat .git/refs/heads/master
    +ebcf6d6b06545331df156687ca2940800a3c599d
    +
    +
    +
  • +
  • 当前的工作分支为user1/getopt,记录在头指针文件.git/HEAD中。

    +

    切换分支命令git checkout对文件.git/HEAD的内容进行更新。可以参照第2篇“第8章 Git检出”的相关章节。

    +
    $ cat .git/HEAD
    +ref: refs/heads/user1/getopt
    +
    +
    +
  • +
+
+
+

3.4.4.2. 创建分支user2/i18n

+

开发者user2要完成多语种支持的工作任务,于是决定将分支定名为user2/i18n。每一次创建分支通常都需要完成以下两个工作:

+
    +
  1. 创建分支:执行git branch <branchname>命令创建新分支。
  2. +
  3. 切换分支:执行git checkout <branchname>命令切换到新分支。
  4. +
+

有没有简单的操作,在创建分支后立即切换到新分支上呢?有的,Git提供了这样一个命令,能够将上述两条命令所执行的操作一次性完成。用法如下:

+
用法: git checkout -b <new_branch> [<start_point>]
+
+
+

即检出命令git checkout通过参数-b <new_branch>实现了创建分支和切换分支两个动作的合二为一。下面开发者user2就使用git checkout命令来创建分支。

+
    +
  • 进入到开发者user2的工作目录,并和上游同步一次。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git pull
    +remote: Counting objects: 1, done.
    +remote: Total 1 (delta 0), reused 0 (delta 0)
    +Unpacking objects: 100% (1/1), done.
    +From file:///path/to/repos/hello-world
    + * [new tag]         v1.0       -> v1.0
    +Already up-to-date.
    +
    +
    +
  • +
  • 执行git checkout -b命令,创建并切换到新分支user2/i18n上。

    +
    $ git checkout -b user2/i18n
    +Switched to a new branch 'user2/i18n'
    +
    +
    +
  • +
  • 查看本地分支列表,会看到已经切换到user2/i18n分支上了。

    +
    $ git branch
    +  master
    +* user2/i18n
    +
    +
    +
  • +
+
+
+

3.4.4.3. 开发者 user1 完成功能开发

+

开发者user1开始在user1/getopt分支中工作,重构hello-world中的命令行参数解析的代码。重构时采用getopt_long函数。

+

您可以试着更改,不过在hello-world中已经保存了一份改好的代码,可以直接检出。

+
    +
  • 确保是在user1的工作区中。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +
    +
    +
  • +
  • 执行下面的命令,用里程碑jx/v2.0标记的内容(已实现用getopt进行命令行解析的功能)替换暂存区和工作区。

    +

    下面的git checkout命令的最后是一个点“.”,因此检出只更改了暂存区和工作区,而没有修改头指针。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +$ git checkout jx/v2.0 -- .
    +
    +
    +
  • +
  • 查看状态,会看到分支仍保持为user1/getopt,但文件src/main.c被修改了。

    +
    $ git status
    +# On branch user1/getopt
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       modified:   src/main.c
    +#
    +
    +
    +
  • +
  • 比较暂存区和HEAD的文件差异,可以看到为实现用getopt进行命令行解析功能而对代码的改动。

    +
    $ git diff --cached
    +diff --git a/src/main.c b/src/main.c
    +index 6ee936f..fa5244a 100644
    +--- a/src/main.c
    ++++ b/src/main.c
    +@@ -1,4 +1,6 @@
    + #include <stdio.h>
    ++#include <getopt.h>
    ++
    + #include "version.h"
    +
    + int usage(int code)
    +@@ -19,15 +21,44 @@ int usage(int code)
    + int
    + main(int argc, char **argv)
    + {
    +-    if (argc == 1) {
    ++    int c;
    ++    char *uname = NULL;
    ++
    ++    while (1) {
    ++        int option_index = 0;
    ++        static struct option long_options[] = {
    ++            {"help", 0, 0, 'h'},
    ++            {0, 0, 0, 0}
    ++        };
    +...
    +
    +
    +
  • +
  • 开发者user1提交代码,完成开发任务。

    +
    $ git commit -m "Refactor: use getopt_long for arguments parsing."
    +[user1/getopt 0881ca3] Refactor: use getopt_long for arguments parsing.
    + 1 files changed, 36 insertions(+), 5 deletions(-)
    +
    +
    +
  • +
  • 提交完成之后,可以看到这时user1/getopt分支和master分支的指向不同了。

    +
    $ git rev-parse user1/getopt master
    +0881ca3f62ddadcddec08bd9f2f529a44d17cfbf
    +ebcf6d6b06545331df156687ca2940800a3c599d
    +
    +
    +
  • +
  • 编译运行hello-world

    +

    注意输出中的版本号显示。

    +
    $ cd src
    +$ make clean
    +rm -f hello main.o version.h
    +$ make
    +version.h.in => version.h
    +cc    -c -o main.o main.c
    +cc -o hello main.o
    +$ ./hello
    +Hello world.
    +(version: v1.0-1-g0881ca3)
    +
    +
    +
  • +
+
+
+

3.4.4.4. 将user1/getopt分支合并到主线

+

既然开发者user1负责的功能开发完成了,那就合并到开发主线master上吧,这样测试团队(如果有的话)就可以基于开发主线master进行软件集成和测试了。

+
    +
  • 为将分支合并到主线,首先user1将工作区切换到主线,即master分支。

    +
    $ git checkout master
    +Switched to branch 'master'
    +
    +
    +
  • +
  • 然后执行git merge命令以合并user1/getopt分支。

    +
    $ git merge user1/getopt
    +Updating ebcf6d6..0881ca3
    +Fast-forward
    + src/main.c |   41 ++++++++++++++++++++++++++++++++++++-----
    + 1 files changed, 36 insertions(+), 5 deletions(-)
    +
    +
    +
  • +
  • 本次合并非常的顺利,实际上合并后master分支和user1/getopt指向同一个提交。

    +

    这是因为合并前的master分支的提交就是usr1/getopt分支的父提交,所以此次合并相当于分支master重置到user1/getopt分支。

    +
    $ git rev-parse user1/getopt master
    +0881ca3f62ddadcddec08bd9f2f529a44d17cfbf
    +0881ca3f62ddadcddec08bd9f2f529a44d17cfbf
    +
    +
    +
  • +
  • 当前本地master分支比远程共享版本库的master分支领先一个提交。

    +

    可以从状态信息中看到本地分支和远程分支的跟踪关系。

    +
    $ git status
    +# On branch master
    +# Your branch is ahead of 'origin/master' by 1 commit.
    +#
    +nothing to commit (working directory clean)
    +
    +
    +
  • +
  • 执行推送操作,完成本地分支向远程分支的同步。

    +
    $ git push
    +Counting objects: 7, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (4/4), done.
    +Writing objects: 100% (4/4), 689 bytes, done.
    +Total 4 (delta 3), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +To file:///path/to/repos/hello-world.git
    +   ebcf6d6..0881ca3  master -> master
    +
    +
    +
  • +
  • 删除user1/getopt分支。

    +

    既然特性分支user1/getopt已经合并到主线上了,那么该分支已经完成了历史使命,可以放心地将其删除。

    +
    $ git branch -d user1/getopt
    +Deleted branch user1/getopt (was 0881ca3).
    +
    +
    +
  • +
+

开发者user2对多语种支持功能有些犯愁,需要多花些时间,那么就先不等他了。

+
+
+
+

3.4.5. 基于发布分支的开发

+

用户在使用1.0版的hello-word过程中发现了两个错误,报告给项目组。

+
    +
  • 第一个问题是:帮助信息中出现文字错误。本应该写为“–help”却写成了“-help”。

    +
  • +
  • 第二个问题是:当执行hello-world的程序,提供带空格的用户名时,问候语中显示的是不完整的用户名。

    +

    例如执行./hello Jiang Xin,本应该输出“Hi, Jiang Xin.”,却只输出了“Hi, Jiang.”。

    +
  • +
+

为了能够及时修正1.0版本中存在的这两个bug,将这两个bug的修正工作分别交给两个开发者user1和user2完成。

+
    +
  • 开发者user1负责修改文字错误的bug。
  • +
  • 开发者user2负责修改显示用户名不完整的bug。
  • +
+

现在版本库中master分支相比1.0发布时添加了新功能代码,即开发者user1推送的用getopt进行命令行解析相关代码。如果基于master分支对用户报告的两个bug进行修改,就会引入尚未经过测试、可能不稳定的新功能的代码。在之前“代码管理之殇”中介绍的发布分支,恰恰适用于此场景。

+
+

3.4.5.1. 创建发布分支

+

要想解决在1.0版本中发现的bug,就需要基于1.0发行版的代码创建发布分支。

+
    +
  • 软件hello-world的1.0发布版在版本库中有一个里程碑相对应。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +$ git tag -n1 -l v*
    +v1.0            Release 1.0
    +
    +
    +
  • +
  • 基于里程碑v1.0创建发布分支hello-1.x

    +

    注:使用了git checkout命令创建分支,最后一个参数v1.0是新分支hello-1.x创建的基准点。如果没有里程碑,使用提交ID也是一样。

    +
    $ git checkout -b hello-1.x v1.0
    +Switched to a new branch 'hello-1.x'
    +
    +
    +
  • +
  • git rev-parse命令可以看到hello-1.x分支对应的提交ID和里程碑v1.0指向的提交一致,但是和master不一样。

    +

    提示:因为里程碑v1.0是一个包含提交说明的里程碑,因此为了显示其对应的提交ID,使用了特别的记法“v1.0^{}”。

    +
    $ git rev-parse hello-1.x v1.0^{} master
    +ebcf6d6b06545331df156687ca2940800a3c599d
    +ebcf6d6b06545331df156687ca2940800a3c599d
    +0881ca3f62ddadcddec08bd9f2f529a44d17cfbf
    +
    +
    +
  • +
  • 开发者user1将分支hello-1.x推送到远程共享版本库,因为开发者user2修改bug时也要用到该分支。

    +
    $ git push origin hello-1.x
    +Total 0 (delta 0), reused 0 (delta 0)
    +To file:///path/to/repos/hello-world.git
    + * [new branch]      hello-1.x -> hello-1.x
    +
    +
    +
  • +
  • 开发者user2从远程共享版本库获取新的分支。

    +

    开发者user2执行git fetch命令,将远程共享版本库的新分支hello-1.x复制到本地引用origin/hello-1.x上。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git fetch
    +From file:///path/to/repos/hello-world
    + * [new branch]      hello-1.x  -> origin/hello-1.x
    +
    +
    +
  • +
  • 开发者user2切换到hello-1.x分支。

    +

    本地引用origin/hello-1.x称为远程分支,第19章将专题介绍。该远程分支不能直接检出,而是需要基于该远程分支创建本地分支。第19章会介绍一个更为简单的基于远程分支建立本地分支的方法,本例先用标准的方法建立分支。

    +
    $ git checkout -b hello-1.x origin/hello-1.x
    +Branch hello-1.x set up to track remote branch hello-1.x from origin.
    +Switched to a new branch 'hello-1.x'
    +
    +
    +
  • +
+
+
+

3.4.5.2. 开发者user1工作在发布分支

+

开发者user1修改帮助信息中的文字错误。

+
    +
  • 编辑文件src/main.c,将“-help”字符串修改为“–help”。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +$ vi src/main.c
    +...
    +
    +
    +
  • +
  • 开发者user1的改动可以从下面的差异比较中看到。

    +
    $ git diff
    +diff --git a/src/main.c b/src/main.c
    +index 6ee936f..e76f05e 100644
    +--- a/src/main.c
    ++++ b/src/main.c
    +@@ -11,7 +11,7 @@ int usage(int code)
    +            "            say hello to the world.\n\n"
    +            "    hello <username>\n"
    +            "            say hi to the user.\n\n"
    +-           "    hello -h, -help\n"
    ++           "    hello -h, --help\n"
    +            "            this help screen.\n\n", _VERSION);
    +     return code;
    + }
    +
    +
    +
  • +
  • 执行提交。

    +
    $ git add -u
    +$ git commit -m "Fix typo: -help to --help."
    +[hello-1.x b56bb51] Fix typo: -help to --help.
    + 1 files changed, 1 insertions(+), 1 deletions(-)
    +
    +
    +
  • +
  • 推送到远程共享版本库。

    +
    $ git push
    +Counting objects: 7, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (4/4), done.
    +Writing objects: 100% (4/4), 349 bytes, done.
    +Total 4 (delta 3), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +To file:///path/to/repos/hello-world.git
    +   ebcf6d6..b56bb51  hello-1.x -> hello-1.x
    +
    +
    +
  • +
+
+
+

3.4.5.3. 开发者user2工作在发布分支

+

开发者user2针对问候时用户名显示不全的bug进行更改。

+
    +
  • 进入开发者user2的工作区,并确保工作在hello-1.x分支中。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git checkout hello-1.x
    +
    +
    +
  • +
  • 编辑文件src/main.c,修改代码中的bug。

    +
    $ vi src/main.c
    +
    +
    +
  • +
  • 实际上在hello-world版本库中包含了我的一份修改,可以看看和您的更改是否一致。

    +

    下面的命令将我对此bug的修改保存为一个补丁文件。

    +
    $ git format-patch jx/v1.1..jx/v1.2
    +0001-Bugfix-allow-spaces-in-username.patch
    +
    +
    +
  • +
  • 应用我对此bug的改动补丁。

    +

    如果您已经自己完成了修改,可以先执行git stash保存自己的修改进度,然后执行下面的命令应用补丁文件。当应用完补丁后,再执行git stash pop将您的改动合并到工作区。如果我们的改动一致(英雄所见略同),将不会有冲突。

    +
    $ patch -p1 < 0001-Bugfix-allow-spaces-in-username.patch
    +patching file src/main.c
    +
    +
    +
  • +
  • 看看代码的改动吧。

    +
    $ git diff
    +diff --git a/src/main.c b/src/main.c
    +index 6ee936f..f0f404b 100644
    +--- a/src/main.c
    ++++ b/src/main.c
    +@@ -19,13 +19,20 @@ int usage(int code)
    + int
    + main(int argc, char **argv)
    + {
    ++    char **p = NULL;
    ++
    +     if (argc == 1) {
    +         printf ("Hello world.\n");
    +     } else if ( strcmp(argv[1],"-h") == 0 ||
    +                 strcmp(argv[1],"--help") == 0 ) {
    +                 return usage(0);
    +     } else {
    +-        printf ("Hi, %s.\n", argv[1]);
    ++        p = &argv[1];
    ++        printf ("Hi,");
    ++        do {
    ++            printf (" %s", *p);
    ++        } while (*(++p));
    ++        printf (".\n");
    +     }
    +
    +     printf( "(version: %s)\n", _VERSION );
    +
    +
    +
  • +
  • 本地测试一下改进后的软件,看看bug是否已经被改正。如果运行结果能显示出完整的用户名,则bug成功修正。

    +
    $ cd src/
    +$ make
    +version.h.in => version.h
    +cc    -c -o main.o main.c
    +cc -o hello main.o
    +$ ./hello Jiang Xin
    +Hi, Jiang Xin.
    +(version: v1.0-dirty)
    +
    +
    +
  • +
  • 提交代码。

    +
    $ git add -u
    +$ git commit -m "Bugfix: allow spaces in username."
    +[hello-1.x e64f3a2] Bugfix: allow spaces in username.
    + 1 files changed, 8 insertions(+), 1 deletions(-)
    +
    +
    +
  • +
+
+
+

3.4.5.4. 开发者user2合并推送

+

开发者user2在本地版本库完成提交后,不要忘记向远程共享版本库进行推送。但在推送分支hello-1.x时开发者user2没有开发者user1那么幸运,因为此时远程共享版本库的hello-1.x分支已经被开发者user1推送过一次,因此开发者user2在推送过程中会遇到非快进式推送问题。

+
$ git push
+To file:///path/to/repos/hello-world.git
+ ! [rejected]        hello-1.x -> hello-1.x (non-fast-forward)
+error: failed to push some refs to 'file:///path/to/repos/hello-world.git'
+To prevent you from losing history, non-fast-forward updates were rejected
+Merge the remote changes (e.g. 'git pull') before pushing again.  See the
+'Note about fast-forwards' section of 'git push --help' for details.
+
+
+

就像在“第15章 Git协议和工作协同”一章中介绍的那样,开发者user2需要执行一个拉回操作,将远程共享服务器的改动获取到本地并和本地提交进行合并。

+
$ git pull
+remote: Counting objects: 7, done.
+remote: Compressing objects: 100% (4/4), done.
+remote: Total 4 (delta 3), reused 0 (delta 0)
+Unpacking objects: 100% (4/4), done.
+From file:///path/to/repos/hello-world
+   ebcf6d6..b56bb51  hello-1.x  -> origin/hello-1.x
+Auto-merging src/main.c
+Merge made by recursive.
+ src/main.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+
+

通过显示分支图的方式查看日志,可以看到在执行git pull操作后发生了合并。

+
$ git log --graph --oneline
+*   8cffe5f Merge branch 'hello-1.x' of file:///path/to/repos/hello-world into hello-1.x
+|\
+| * b56bb51 Fix typo: -help to --help.
+* | e64f3a2 Bugfix: allow spaces in username.
+|/
+* ebcf6d6 blank commit for GnuPG-signed tag test.
+* 8a9f3d1 blank commit for annotated tag test.
+* 60a2f4f blank commit.
+* 3e6070e Show version.
+* 75346b3 Hello world initialized.
+
+
+

现在开发者user2可以将合并后的本地版本库中的提交推送给远程共享版本库了。

+
$ git push
+Counting objects: 14, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (8/8), done.
+Writing objects: 100% (8/8), 814 bytes, done.
+Total 8 (delta 6), reused 0 (delta 0)
+Unpacking objects: 100% (8/8), done.
+To file:///path/to/repos/hello-world.git
+   b56bb51..8cffe5f  hello-1.x -> hello-1.x
+
+
+
+
+

3.4.5.5. 发布分支的提交合并到主线

+

当开发者user1和user2都相继在hello-1.x分支将相应的bug修改完后,就可以从hello-1.x分支中编译新的软件产品交给客户使用了。接下来别忘了在主线master分支也做出同样的更改,因为在hello-1.x分支修改的bug同样也存在于主线master分支中。

+

使用Git提供的拣选命令,就可以直接将发布分支上进行的bug修正合并到主线上。下面就以开发者user2的身份进行操作。

+
    +
  • 进入user2工作区并切换到master分支。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git checkout master
    +
    +
    +
  • +
  • 从远程共享版本库同步master分支。

    +

    同步后本地master分支包含了开发者user1提交的命令行参数解析重构的代码。

    +
    $ git pull
    +remote: Counting objects: 7, done.
    +remote: Compressing objects: 100% (4/4), done.
    +remote: Total 4 (delta 3), reused 0 (delta 0)
    +Unpacking objects: 100% (4/4), done.
    +From file:///path/to/repos/hello-world
    +   ebcf6d6..0881ca3  master     -> origin/master
    +Updating ebcf6d6..0881ca3
    +Fast-forward
    + src/main.c |   41 ++++++++++++++++++++++++++++++++++++-----
    + 1 files changed, 36 insertions(+), 5 deletions(-)
    +
    +
    +
  • +
  • 查看分支hello-1.x的日志,确认要拣选的提交ID。

    +

    从下面的日志可以看出分支hello-1.x的最新提交是一个合并提交,而要拣选的提交分别是其第一个父提交和第二个父提交,可以分别用hello-1.x^1hello-1.x^2表示。

    +
    $ git log -3 --graph --oneline hello-1.x
    +*   8cffe5f Merge branch 'hello-1.x' of file:///path/to/repos/hello-world into hello-1.x
    +|\
    +| * b56bb51 Fix typo: -help to --help.
    +* | e64f3a2 Bugfix: allow spaces in username.
    +|/
    +
    +
    +
  • +
  • 执行拣选操作。先将开发者user2提交的修正代码拣选到当前分支(即主线)。

    +

    拣选操作遇到了冲突,见下面的命令输出。

    +
    $  git cherry-pick hello-1.x^1
    +Automatic cherry-pick failed.  After resolving the conflicts,
    +mark the corrected paths with 'git add <paths>' or 'git rm <paths>'
    +and commit the result with:
    +
    +        git commit -c e64f3a216d346669b85807ffcfb23a21f9c5c187
    +
    +
    +
  • +
  • 拣选操作发生冲突,通过查看状态可以看到是在文件src/main.c上发生了冲突。

    +
    $ git status
    +# On branch master
    +# Unmerged paths:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#   (use "git add/rm <file>..." as appropriate to mark resolution)
    +#
    +#       both modified:      src/main.c
    +#
    +no changes added to commit (use "git add" and/or "git commit -a")
    +
    +
    +
  • +
+

冲突发生的原因

+

为什么发生了冲突呢?这是因为拣选hello-1.x分支上的一个提交到master分支时,因为两个甚至多个提交在重叠的位置更改代码所致。通过下面的命令可以看到到底是哪些提交引起的冲突。

+
$ git log master...hello-1.x^1
+commit e64f3a216d346669b85807ffcfb23a21f9c5c187
+Author: user2 <user2@moon.ossxp.com>
+Date:   Sun Jan 9 13:11:19 2011 +0800
+
+    Bugfix: allow spaces in username.
+
+commit 0881ca3f62ddadcddec08bd9f2f529a44d17cfbf
+Author: user1 <user1@sun.ossxp.com>
+Date:   Mon Jan 3 22:44:52 2011 +0800
+
+    Refactor: use getopt_long for arguments parsing.
+
+
+

可以看出引发冲突的提交一个是当前工作分支master上的最新提交,即开发者user1的重构命令行参数解析的提交,而另外一个引发冲突的是要拣选的提交,即开发者user2针对用户名显示不全所做的错误修正提交。一定是因为这两个提交的更改发生了重叠导致了冲突的发生。下面就来解决冲突。

+

冲突解决

+

冲突解决可以使用图形界面工具,不过对于本例直接编辑冲突文件,手工进行冲突解决也很方便。打开文件src/main.c就可以看到发生冲突的区域都用特有的标记符标识出来,参见表18-1中左侧一列中的内容。

+

表 18-1:冲突解决前后对照

+ ++++ + + + + + + + + + + +
冲突文件 src/main.c 标识出的冲突内容冲突解决后的内容对照
21 int
+22 main(int argc, char **argv)
+23 {
+24 <<<<<<< HEAD
+25     int c;
+26     char *uname = NULL;
+27
+28     while (1) {
+29         int option_index = 0;
+30         static struct option long_options[] = {
+31             {"help", 0, 0, 'h'},
+32             {0, 0, 0, 0}
+33         };
+34
+35         c = getopt_long(argc, argv, "h",
+36                         long_options, &option_index);
+37         if (c == -1)
+38            break;
+39
+40         switch (c) {
+41         case 'h':
+42             return usage(0);
+43         default:
+44             return usage(1);
+45         }
+46     }
+47
+48     if (optind < argc) {
+49         uname = argv[optind];
+50     }
+51
+52     if (uname == NULL) {
+53 =======
+54     char **p = NULL;
+55
+56     if (argc == 1) {
+57 >>>>>>> e64f3a2... Bugfix: allow spaces in username.
+58         printf ("Hello world.\n");
+59     } else {
+60 <<<<<<< HEAD
+61         printf ("Hi, %s.\n", uname);
+62 =======
+63         p = &argv[1];
+64         printf ("Hi,");
+65         do {
+66             printf (" %s", *p);
+67         } while (*(++p));
+68         printf (".\n");
+69 >>>>>>> e64f3a2... Bugfix: allow spaces in username.
+70     }
+71
+72     printf( "(version: %s)\n", _VERSION );
+73     return 0;
+74 }
+
+
+
21 int
+22 main(int argc, char **argv)
+23 {
+
+24     int c;
+25     char **p = NULL;
+26
+27     while (1) {
+28         int option_index = 0;
+29         static struct option long_options[] = {
+30             {"help", 0, 0, 'h'},
+31             {0, 0, 0, 0}
+32         };
+33
+34         c = getopt_long(argc, argv, "h",
+35                         long_options, &option_index);
+36         if (c == -1)
+37            break;
+38
+39         switch (c) {
+40         case 'h':
+41             return usage(0);
+42         default:
+43             return usage(1);
+44         }
+45     }
+46
+47     if (optind < argc) {
+48         p = &argv[optind];
+49     }
+50
+51     if (p == NULL || *p == NULL) {
+
+
+
+
+
+52         printf ("Hello world.\n");
+53     } else {
+
+
+
+
+54         printf ("Hi,");
+55         do {
+56             printf (" %s", *p);
+57         } while (*(++p));
+58         printf (".\n");
+
+59     }
+60
+61     printf( "(version: %s)\n", _VERSION );
+62     return 0;
+63 }
+
+
+
+

在文件src/main.c冲突内容中,第25-52行及第61行是master分支中由开发者user1重构命令行解析时提交的内容,而第54-56行及第63-68行则是分支hello-1.x中由开发者user2提交的修正用户名显示不全的bug的相应代码。

+

表18-1右侧的一列则是冲突解决后的内容。为了和冲突前的内容相对照,重新进行了排版,并对差异内容进行加粗显示。您可以参照完成冲突解决。

+

将手动编辑完成的文件src/main.c添加到暂存区才真正地完成了冲突解决。

+
$ git add src/main.c
+
+
+

因为是拣选操作,提交时最好重用所拣选提交的提交说明和作者信息,而且也省下了自己写提交说明的麻烦。使用下面的命令完成提交操作。

+
$ git commit -C hello-1.x^1
+[master 10765a7] Bugfix: allow spaces in username.
+ 1 files changed, 8 insertions(+), 4 deletions(-)
+
+
+

接下来再将开发者 user1 在分支hello-1.x中的提交也拣选到当前分支。所拣选的提交非常简单,不过是修改了提交说明中的文字错误而已,拣选操作也不会引发异常,直接完成。

+
$ git cherry-pick hello-1.x^2
+Finished one cherry-pick.
+[master d81896e] Fix typo: -help to --help.
+ Author: user1 <user1@sun.ossxp.com>
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+
+

现在通过日志可以看到master分支已经完成了对已知bug的修复。

+
$ git log -3 --graph --oneline
+* d81896e Fix typo: -help to --help.
+* 10765a7 Bugfix: allow spaces in username.
+* 0881ca3 Refactor: use getopt_long for arguments parsing.
+
+
+

查看状态可以看到当前的工作分支相对于远程服务器有两个新提交。

+
$ git status
+# On branch master
+# Your branch is ahead of 'origin/master' by 2 commits.
+#
+nothing to commit (working directory clean)
+
+
+

执行推送命令将本地master分支同步到远程共享版本库。

+
$ git push
+Counting objects: 11, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (8/8), done.
+Writing objects: 100% (8/8), 802 bytes, done.
+Total 8 (delta 6), reused 0 (delta 0)
+Unpacking objects: 100% (8/8), done.
+To file:///path/to/repos/hello-world.git
+   0881ca3..d81896e  master -> master
+
+
+
+
+
+

3.4.6. 分支变基

+
+

3.4.6.1. 完成user2/i18n特性分支的开发

+

开发者user2针对多语种开发的工作任务还没有介绍呢,在最后就借着“实现”这个稍微复杂的功能来学习一下Git分支的变基操作。

+
    +
  • 进入user2的工作区,并切换到user2/i18n分支。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git checkout user2/i18n
    +Switched to branch 'user2/i18n'
    +
    +
    +
  • +
  • 使用gettext为软件添加多语言支持。您可以尝试实现该功能。不过在hello-world中已经保存了一份实现该功能的代码(见里程碑jx/v1.0-i18n),可以直接拿过来用。

    +
  • +
  • 里程碑jx/v1.0-i18n最后的两个提交实现了多语言支持功能。

    +
    $ git log --oneline -2 --stat jx/v1.0-i18n
    +ade873c Translate for Chinese.
    + src/locale/zh_CN/LC_MESSAGES/helloworld.po |   30 +++++++++++++++++++++------
    + 1 files changed, 23 insertions(+), 7 deletions(-)
    +0831248 Add I18N support.
    + src/Makefile                               |   21 +++++++++++-
    + src/locale/helloworld.pot                  |   46 ++++++++++++++++++++++++++++
    + src/locale/zh_CN/LC_MESSAGES/helloworld.po |   46 ++++++++++++++++++++++++++++
    + src/main.c                                 |   18 ++++++++--
    + 4 files changed, 125 insertions(+), 6 deletions(-)
    +
    +
    +
  • +
  • 可以通过拣选命令将这两个提交拣选到user2/i18n分支中,相当于在分支user2/i18n中实现了多语言支持的开发。

    +
    $ git cherry-pick jx/v1.0-i18n~1
    +...
    +$ git cherry-pick jx/v1.0-i18n
    +...
    +
    +
    +
  • +
  • 看看当前分拣选后的日志。

    +
    $ git log --oneline -2
    +7acb3e8 Translate for Chinese.
    +90d873b Add I18N support.
    +
    +
    +
  • +
  • 为了测试刚刚“开发”完成的多语言支持功能,先对源码执行编译。

    +
    $ cd src
    +$ make
    +version.h.in => version.h
    +cc    -c -o main.o main.c
    +msgfmt -o locale/zh_CN/LC_MESSAGES/helloworld.mo locale/zh_CN/LC_MESSAGES/helloworld.po
    +cc -o hello main.o
    +
    +
    +
  • +
  • 查看帮助信息,会发现帮助信息已经本地化。

    +

    注意:帮助信息中仍然有文字错误,--help误写为-help

    +
    $ ./hello --help
    +Hello world 示例 v1.0-2-g7acb3e8
    +版权所有 蒋鑫 <jiangxin AT ossxp DOT com>, 2009
    +
    +用法:
    +    hello
    +            世界你好。
    +
    +    hello <username>
    +            向用户问您好。
    +
    +    hello -h, -help
    +            显示本帮助页。
    +
    +
    +
  • +
  • 不带用户名运行hello,也会输出中文。

    +
    $ ./hello
    +世界你好。
    +(version: v1.0-2-g7acb3e8)
    +
    +
    +
  • +
  • 带用户名运行hello,会向用户问候。

    +

    注意:程序仍然存在只显示部分用户名的问题。

    +
    $ ./hello Jiang Xin
    +您好, Jiang.
    +(version: v1.0-2-g7acb3e8)
    +
    +
    +
  • +
  • 推送分支user2/i18n到远程共享服务器。

    +

    推送该特性分支的目的并非是与他人在此分支上协同工作,主要只是为了进行数据备份。

    +
    $ git push origin user2/i18n
    +Counting objects: 21, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (13/13), done.
    +Writing objects: 100% (17/17), 2.91 KiB, done.
    +Total 17 (delta 6), reused 1 (delta 0)
    +Unpacking objects: 100% (17/17), done.
    +To file:///path/to/repos/hello-world.git
    + * [new branch]      user2/i18n -> user2/i18n
    +
    +
    +
  • +
+
+
+

3.4.6.2. 分支user2/i18n变基

+

在测试刚刚完成的具有多语种支持功能的hello-world时,之前改正的两个bug又重现了。这并不奇怪,因为分支user2/i18n基于master分支创建的时候,这两个bug还没有发现呢,更不要说改正了。

+

在最早刚刚创建user2/i18n分支时,版本库的结构非常简单,如图18-6所示。

+
+../images/branch-i18n-initial.png +

图 18-6:分支 user2/i18n 创建初始版本库分支状态

+
+

但是当前master分支中不但包含了对两个bug的修正,还包含了开发者user1调用getopt对命令行参数解析进行的代码重构。图18-7显示的是当前版本库master分支和user2/i18n分支的关系图。

+
+../images/branch-i18n-complete.png +

图 18-7:当前版本库分支示意图

+
+

开发者user2要将分支user2/i18n中的提交合并到主线master中,可以采用上一节介绍的分支合并操作。如果执行分支合并操作,版本库的状态将会如图18-8所示:

+
+../images/branch-i18n-merge.png +

图 18-8:使用分支合并时版本库分支状态

+
+

这样操作有利有弊。有利的一面是开发者在user2/i18n分支中的提交不会发生改变,这一点对于提交已经被他人共享时很重要。再有因为user2/i18n分支是基于v1.0创建的,这样可以很容易将多语言支持功能添加到1.0版本的hello-world中。不过这些对于本项目来说都不重要。至于不利的一面,就是这样的合并操作会产生三个提交(包括一个合并提交),对于要对提交进行审核的项目团队来说增加了代码审核的负担。因此很多项目在特性分支合并到开发主线的时候,都不推荐使用合并操作,而是使用变基操作。如果执行变基操作,版本库相关分支的关系图如图18-9所示。

+
+../images/branch-i18n-rebase-complete.png +

图 18-9:使用变基操作版本库分支状态

+
+

很显然,采用变基操作的分支关系图要比采用合并操作的简单多了,看起来更像是集中式版本控制系统特有的顺序提交。因为减少了一个提交,也会减轻代码审核的负担。

+

下面开发者user2就通过变基操作将特性分支user2/i18n合并到主线。

+
    +
  • 首先确保开发者user2的工作区位于分支user2/i18n上。

    +
    $ cd /path/to/user2/workspace/hello-world/
    +$ git checkout user2/i18n
    +
    +
    +
  • +
  • 执行变基操作。

    +
    $ git rebase master
    +First, rewinding head to replay your work on top of it...
    +Applying: Add I18N support.
    +Using index info to reconstruct a base tree...
    +Falling back to patching base and 3-way merge...
    +Auto-merging src/main.c
    +CONFLICT (content): Merge conflict in src/main.c
    +Failed to merge in the changes.
    +Patch failed at 0001 Add I18N support.
    +
    +When you have resolved this problem run "git rebase --continue".
    +If you would prefer to skip this patch, instead run "git rebase --skip".
    +To restore the original branch and stop rebasing run "git rebase --abort".
    +
    +
    +
  • +
+

变基遇到了冲突,看来这回的麻烦可不小。冲突是在合并user2/i18n分支中的提交“Add I18N support”时遇到的。首先回顾一下变基的原理,参见第2篇“第12章 改变历史”相关章节。对于本例,在进行变基操作时会先切换到user2/i18n分支,并强制重置到master分支所指向的提交。然后再将原user2/i18n分支的提交一一拣选到新的user2/i18n分支上。运行下面的命令可以查看可能导致冲突的提交列表。

+
$ git rev-list --pretty=oneline user2/i18n^...master
+d81896e60673771ef1873b27a33f52df75f70515 Fix typo: -help to --help.
+10765a7ef46981a73d578466669f6e17b73ac7e3 Bugfix: allow spaces in username.
+90d873bb93cd7577b7638f1f391bd2ece3141b7a Add I18N support.
+0881ca3f62ddadcddec08bd9f2f529a44d17cfbf Refactor: use getopt_long for arguments parsing
+
+
+

刚刚发生的冲突是在拣选提交“Add I18N suppport”时出现的,所以在冲突文件中标识为他人版本的是user2添加多语种支持功能的提交,而冲突文件中标识为自己版本的是修正两个bug的提交及开发者user1提交的重构命令行参数解析的提交。下面的两个表格(表18-2和表18-3)是文件src/main.c发生冲突的两个主要区域,表格的左侧一列是冲突文件中的内容,右侧一列则是冲突解决后的内容。为了方便参照进行了适当排版。

+

表 18-2:变基冲突区域一解决前后对照

+ ++++ + + + + + + + + + + +
变基冲突区域一内容(文件 src/main.c)冲突解决后的内容对照
12 int usage(int code)
+13 {
+14     printf(_("Hello world example %s\n"
+15            "Copyright Jiang Xin <jiangxin AT ossxp ...\n"
+16            "\n"
+17            "Usage:\n"
+18            "    hello\n"
+19            "            say hello to the world.\n\n"
+20            "    hello <username>\n"
+21            "            say hi to the user.\n\n"
+22 <<<<<<< HEAD
+23            "    hello -h, --help\n"
+24            "            this help screen.\n\n", _VERSION);
+25 ||||||| merged common ancestors
+26            "    hello -h, -help\n"
+27            "            this help screen.\n\n", _VERSION);
+28 =======
+29            "    hello -h, -help\n"
+30            "            this help screen.\n\n"), _VERSION);
+31 >>>>>>> Add I18N support.
+32     return code;
+33 }
+
+
+
12 int usage(int code)
+13 {
+14     printf(_("Hello world example %s\n"
+15            "Copyright Jiang Xin <jiangxin AT ossxp ...\n"
+16            "\n"
+17            "Usage:\n"
+18            "    hello\n"
+19            "            say hello to the world.\n\n"
+20            "    hello <username>\n"
+21            "            say hi to the user.\n\n"
+
+22            "    hello -h, --help\n"
+23            "            this help screen.\n\n"), _VERSION);
+
+
+
+
+
+
+
+24     return code;
+25 }
+
+
+
+

表 18-3:变基冲突区域二解决前后对照

+ ++++ + + + + + + + + + + +
变基冲突区域二内容(文件 src/main.c)冲突解决后的内容对照
38 <<<<<<< HEAD
+39     int c;
+40     char **p = NULL;
+41
+
+
+
+
+42     while (1) {
+43         int option_index = 0;
+44         static struct option long_options[] = {
+45             {"help", 0, 0, 'h'},
+46             {0, 0, 0, 0}
+47         };
+48
+49         c = getopt_long(argc, argv, "h",
+50                         long_options, &option_index);
+51         if (c == -1)
+52            break;
+53
+54         switch (c) {
+55         case 'h':
+56             return usage(0);
+57         default:
+58             return usage(1);
+59         }
+60     }
+61
+62     if (optind < argc) {
+63         p = &argv[optind];
+64     }
+65
+66     if (p == NULL || *p == NULL) {
+67         printf ("Hello world.\n");
+68 ||||||| merged common ancestors
+69     if (argc == 1) {
+70         printf ("Hello world.\n");
+71     } else if ( strcmp(argv[1],"-h") == 0 ||
+72                 strcmp(argv[1],"--help") == 0 ) {
+73                 return usage(0);
+74 =======
+75     setlocale( LC_ALL, "" );
+76     bindtextdomain("helloworld","locale");
+77     textdomain("helloworld");
+78
+79     if (argc == 1) {
+80         printf ( _("Hello world.\n") );
+81     } else if ( strcmp(argv[1],"-h") == 0 ||
+82                 strcmp(argv[1],"--help") == 0 ) {
+83                 return usage(0);
+84 >>>>>>> Add I18N support.
+85     } else {
+86 <<<<<<< HEAD
+87         printf ("Hi,");
+88         do {
+89             printf (" %s", *p);
+90         } while (*(++p));
+91         printf (".\n");
+92 ||||||| merged common ancestors
+93         printf ("Hi, %s.\n", argv[1]);
+94 =======
+95         printf (_("Hi, %s.\n"), argv[1]);
+96 >>>>>>> Add I18N support.
+97     }
+
+
+
30     int c;
+31     char **p = NULL;
+32
+33     setlocale( LC_ALL, "" );
+34     bindtextdomain("helloworld","locale");
+35     textdomain("helloworld");
+36
+37     while (1) {
+38         int option_index = 0;
+39         static struct option long_options[] = {
+40             {"help", 0, 0, 'h'},
+41             {0, 0, 0, 0}
+42         };
+43
+44         c = getopt_long(argc, argv, "h",
+45                         long_options, &option_index);
+46         if (c == -1)
+47            break;
+48
+49         switch (c) {
+50         case 'h':
+51             return usage(0);
+52         default:
+53             return usage(1);
+54         }
+55     }
+56
+57     if (optind < argc) {
+58         p = &argv[optind];
+59     }
+60
+61     if (p == NULL || *p == NULL) {
+62         printf ( _("Hello world.\n") );
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+63     } else {
+64         printf (_("Hi,"));
+65         do {
+66             printf (" %s", *p);
+67         } while (*(++p));
+68         printf (".\n");
+
+
+
+
+
+69     }
+
+
+
+

将完成冲突解决的文件src/main.c加入暂存区。

+
$ git add -u
+
+
+

查看工作区状态。

+
$ git status
+# Not currently on any branch.
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       modified:   src/Makefile
+#       new file:   src/locale/helloworld.pot
+#       new file:   src/locale/zh_CN/LC_MESSAGES/helloworld.po
+#       modified:   src/main.c
+#
+
+
+

现在不要执行提交,而是继续变基操作。变基操作会自动完成对冲突解决的提交,并对分支中的其他提交继续执行变基,直至全部完成。

+
$ git rebase --continue
+Applying: Add I18N support.
+Applying: Translate for Chinese.
+
+
+

图18-10显示了版本库执行完变基后的状态。

+
+../images/branch-i18n-rebase.png +

图 18-10:变基操作完成后版本库分支状态

+
+

现在需要将user2/i18n分支的提交合并到主线master中。实际上不需要在master分支上再执行繁琐的合并操作,而是可以直接用推送操作——用本地的user2/i18n分支直接更新远程版本库的master分支。

+
$ git push origin user2/i18n:master
+Counting objects: 21, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (13/13), done.
+Writing objects: 100% (17/17), 2.91 KiB, done.
+Total 17 (delta 6), reused 1 (delta 0)
+Unpacking objects: 100% (17/17), done.
+To file:///path/to/repos/hello-world.git
+
+
+

仔细看看上面运行的git push命令,终于看到了引用表达式中引号前后使用了不同名字的引用。含义是用本地的user2/i18n引用的内容(提交ID)更新远程共享版本库的master引用内容(提交ID)。

+

执行拉回操作,可以发现远程共享版本库的master分支的确被更新了。通过拉回操作本地的master分支也随之更新。

+
    +
  • 切换到master分支,会从提示信息中看到本地master分支落后远程共享版本库master分支两个提交。

    +
    $ git checkout master
    +Switched to branch 'master'
    +Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
    +
    +
    +
  • +
  • 执行拉回操作,将本地master分支同步到和远程共享版本库相同的状态。

    +
    $ git pull
    +Updating d81896e..c4acab2
    +Fast-forward
    + src/Makefile                               |   21 ++++++++-
    + src/locale/helloworld.pot                  |   46 ++++++++++++++++++++
    + src/locale/zh_CN/LC_MESSAGES/helloworld.po |   62 ++++++++++++++++++++++++++++
    + src/main.c                                 |   18 ++++++--
    + 4 files changed, 141 insertions(+), 6 deletions(-)
    + create mode 100644 src/locale/helloworld.pot
    + create mode 100644 src/locale/zh_CN/LC_MESSAGES/helloworld.po
    +
    +
    +
  • +
+

特性分支user2/i18n也完成了历史使命,可以删除了。因为之前user2/i18n已经推送到远程共享版本库,如果想要删除分支不要忘了也将远程分支同时删除。

+
    +
  • 删除本地版本库的user2/i18n分支。

    +
    $ git branch -d user2/i18n
    +Deleted branch user2/i18n (was c4acab2).
    +
    +
    +
  • +
  • 删除远程共享版本库的user2/i18n分支。

    +
    $ git push origin :user2/i18n
    +To file:///path/to/repos/hello-world.git
    + - [deleted]         user2/i18n
    +
    +
    +
  • +
+
+

补充:实际上变基之后user2/i18n分支的本地化模板文件(helloworld.pot)和汉化文件(helloworld.po)都需要做出相应更新,否则hello-world的一些输出不能进行本地化。

+
    +
  • 更新模板需要删除文件helloworld.pot,再执行命令make po
  • +
  • 重新翻译中文本地化文件,可以使用工具lokalize或者kbabel
  • +
+

具体的操作过程就不再赘述了。

+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/050-git-remote.html b/03-git-harmony/050-git-remote.html new file mode 100644 index 000000000..f2bb2191a --- /dev/null +++ b/03-git-harmony/050-git-remote.html @@ -0,0 +1,585 @@ + + + + + + + + + 3.5. 远程版本库 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

3.4. Git分支

+

下一个主题

+

3.6. 补丁文件交互

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

3.5. 远程版本库

+

Git作为分布式版本库控制系统,每个人都是本地版本库的主人,可以在本地的版本库中随心所欲地创建分支和里程碑。当需要多人协作时,问题就出现了:

+
    +
  • 如何避免因为用户把所有的本地分支都推送到共享版本库,从而造成共享版本库上分支的混乱?
  • +
  • 如何避免不同用户针对不同特性开发创建了相同名字的分支而造成分支名称的冲突?
  • +
  • 如何避免用户随意在共享版本库中创建里程碑而导致里程碑名称上的混乱和冲突?
  • +
  • 当用户向共享版本库及其他版本库推送时,每次都需要输入长长的版本库URL,太不方便了。
  • +
  • 当用户需要经常从多个不同的他人版本库中获取提交时,有没有办法不要总是输入长长的版本库URL?
  • +
  • 如果不带任何其他参数执行git fetchgit pullgit push到底是和哪个远程版本库及哪个分支进行交互?
  • +
+

本章介绍的git remote命令就是用于实现远程版本库的便捷访问,建立远程分支和本地分支的对应,使得git fetchgit pullgit push能够更为便捷地进行操作。

+
+

3.5.1. 远程分支

+

上一章介绍Git分支的时候,每一个版本库最多只和一个上游版本库(远程共享版本库)进行交互,实际上Git允许一个版本库和任意多的版本库进行交互。首先执行下面的命令,基于hello-world.git版本库再创建几个新的版本库。

+
$ cd /path/to/repos/
+$ git clone --bare hello-world.git hello-user1.git
+Cloning into bare repository hello-user1.git...
+done.
+$ git clone --bare hello-world.git hello-user2.git
+Cloning into bare repository hello-user2.git...
+done.
+
+
+

现在有了三个共享版本库:hello-world.githello-user1.githello-user2.git。现在有一个疑问,如果一个本地版本库需要和上面三个版本库进行互操作,三个共享版本库都存在一个master分支,会不会互相干扰、冲突或覆盖呢?

+

先来看看hello-world远程共享版本库中包含的分支有哪些:

+
$ git ls-remote --heads file:///path/to/repos/hello-world.git
+8cffe5f135821e716117ee59bdd53139473bd1d8        refs/heads/hello-1.x
+bb4fef88fee435bfac04b8389cf193d9c04105a6        refs/heads/helper/master
+cf71ae3515e36a59c7f98b9db825fd0f2a318350        refs/heads/helper/v1.x
+c4acab26ff1c1125f5e585ffa8284d27f8ceea55        refs/heads/master
+
+
+

原来远程共享版本库中有四个分支,其中hello-1.x分支是开发者user1创建的。现在重新克隆该版本库,如下:

+
$ cd /path/to/my/workspace/
+$ git clone file:///path/to/repos/hello-world.git
+...
+$ cd /path/to/my/workspace/hello-world
+
+
+

执行git branch命令检查分支,会吃惊地看到只有一个分支master

+
$ git branch
+* master
+
+
+

那么远程版本库中的其他分支哪里去了?为什么本地只有一个分支呢?执行git show-ref命令可以看到全部的本地引用。

+
$ git show-ref
+c4acab26ff1c1125f5e585ffa8284d27f8ceea55 refs/heads/master
+c4acab26ff1c1125f5e585ffa8284d27f8ceea55 refs/remotes/origin/HEAD
+8cffe5f135821e716117ee59bdd53139473bd1d8 refs/remotes/origin/hello-1.x
+bb4fef88fee435bfac04b8389cf193d9c04105a6 refs/remotes/origin/helper/master
+cf71ae3515e36a59c7f98b9db825fd0f2a318350 refs/remotes/origin/helper/v1.x
+c4acab26ff1c1125f5e585ffa8284d27f8ceea55 refs/remotes/origin/master
+3171561b2c9c57024f7d748a1a5cfd755a26054a refs/tags/jx/v1.0
+aaff5676a7c3ae7712af61dfb9ba05618c74bbab refs/tags/jx/v1.0-i18n
+e153f83ee75d25408f7e2fd8236ab18c0abf0ec4 refs/tags/jx/v1.1
+83f59c7a88c04ceb703e490a86dde9af41de8bcb refs/tags/jx/v1.2
+1581768ec71166d540e662d90290cb6f82a43bb0 refs/tags/jx/v1.3
+ccca267c98380ea7fffb241f103d1e6f34d8bc01 refs/tags/jx/v2.0
+8a5b9934aacdebb72341dcadbb2650cf626d83da refs/tags/jx/v2.1
+89b74222363e8cbdf91aab30d005e697196bd964 refs/tags/jx/v2.2
+0b4ec63aea44b96d498528dcf3e72e1255d79440 refs/tags/jx/v2.3
+60a2f4f31e5dddd777c6ad37388fe6e5520734cb refs/tags/mytag
+5dc2fc52f2dcb84987f511481cc6b71ec1b381f7 refs/tags/mytag3
+51713af444266d56821fe3302ab44352b8c3eb71 refs/tags/v1.0
+
+
+

git show-ref的输出中发现了几个不寻常的引用,这些引用以refs/remotes/origin/为前缀,并且名称和远程版本库的分支名一一对应。这些引用实际上就是从远程版本库的分支拷贝过来的,称为远程分支。

+

Git 的git branch命令也能够查看这些远程分支,不过要加上-r参数:

+
$ git branch -r
+  origin/HEAD -> origin/master
+  origin/hello-1.x
+  origin/helper/master
+  origin/helper/v1.x
+  origin/master
+
+
+

Git这样的设计是非常巧妙的,在向远程版本库执行获取操作时,不是把远程版本库的分支原封不动地复制到本地版本库的分支中,而是复制到另外的命名空间。如在克隆一个版本库时,会将远程分支都复制到目录.git/refs/remotes/origin/下。这样向不同的远程版本库执行获取操作,因为远程分支相互隔离,所以就避免了相互的覆盖。

+

那么克隆操作产生的远程分支为什么都有一个名为“origin/”的前缀呢?奥秘就在配置文件.git/config中。下面的几行内容出自该配置文件,为了说明方便显示了行号。

+
6 [remote "origin"]
+7   fetch = +refs/heads/*:refs/remotes/origin/*
+8   url = file:///path/to/repos/hello-world.git
+
+
+

这个小节可以称为[remote]小节,该小节以origin为名注册了一个远程版本库。该版本库的URL地址由第8行给出,会发现这个URL地址就是执行git clone命令时所用的地址。最具魔法的配置是第7行,这一行设置了执行git fetch origin操作时使用的默认引用表达式。

+
    +
  • 该引用表达式以加号(+)开头,含义是强制进行引用的替换,即使即将进行的替换是非快进式的。
  • +
  • 引用表达式中使用了通配符,冒号前面的含有通配符的引用指的是远程版本库的所有分支,冒号后面的引用含义是复制到本地的远程分支目录中。
  • +
+

正因为有了上面的[remote]配置小节,当执行git fetch origin操作时,就相当于执行了下面的命令,将远程版本库的所有分支复制为本地的远程分支。

+
git fetch origin +refs/heads/*:refs/remotes/origin/*
+
+
+

远程分支不是真正意义上的分支,是类似于里程碑一样的引用。如果针对远程分支执行检出命令,会看到大段的错误警告。

+
$ git checkout origin/hello-1.x
+Note: checking out 'origin/hello-1.x'.
+
+You are in 'detached HEAD' state. You can look around, make experimental
+changes and commit them, and you can discard any commits you make in this
+state without impacting any branches by performing another checkout.
+
+If you want to create a new branch to retain commits you create, you may
+do so (now or later) by using -b with the checkout command again. Example:
+
+  git checkout -b new_branch_name
+
+HEAD is now at 8cffe5f... Merge branch 'hello-1.x' of file:///path/to/repos/hello-world into hello-1.x
+
+
+

上面的大段的错误信息实际上告诉我们一件事,远程分支类似于里程碑,如果检出就会使得头指针HEAD处于分离头指针状态。实际上除了以refs/heads为前缀的引用之外,如果检出任何其他引用,都将使工作区处于分离头指针状态。如果对远程分支进行修改就需要创建新的本地分支。

+
+
+

3.5.2. 分支追踪

+

为了能够在远程分支refs/remotes/origin/hello-1.x上进行工作,需要基于该远程分支创建本地分支。远程分支可以使用简写origin/hello-1.x。如果Git的版本是1.6.6或者更新的版本,可以使用下面的命令同时完成分支的创建和切换。

+
$ git checkout hello-1.x
+Branch hello-1.x set up to track remote branch hello-1.x from origin.
+Switched to a new branch 'hello-1.x'
+
+
+

如果Git的版本比较老,或注册了多个远程版本库,因此存在多个名为hello-1.x的远程分支,就不能使用上面简洁的分支创建和切换命令,而需要使用在上一章中学习到的分支创建命令,显式地从远程分支中创建本地分支。

+
$ git checkout -b hello-1.x origin/hello-1.x
+Branch hello-1.x set up to track remote branch hello-1.x from origin.
+Switched to a new branch 'hello-1.x'
+
+
+

在上面基于远程分支创建本地分支的过程中,命令输出的第一行说的是建立了本地分支和远程分支的跟踪。和远程分支建立跟踪后,本地分支就具有下列特征:

+
    +
  • 检查工作区状态时,会显示本地分支和被跟踪远程分支提交之间的关系。
  • +
  • 当执行git pull命令时,会和被跟踪的远程分支进行合并(或者变基),如果两者出现版本偏离的话。
  • +
  • 当执行git push命令时,会推送到远程版本库的同名分支中。
  • +
+

下面就在基于远程分支创建的本地跟踪分支中进行操作,看看本地分支是如何与远程分支建立关联的。

+
    +
  • 先将本地hello-1.x分支向后重置两个版本。

    +
    $ git reset --hard HEAD^^
    +HEAD is now at ebcf6d6 blank commit for GnuPG-signed tag test.
    +
    +
    +
  • +
  • 然后查看状态,显示当前分支相比跟踪分支落后了3个版本。

    +

    之所以落后三个版本而非两个版本是因为hello-1.x的最新提交是一个合并提交,包含两个父提交,因此上面的重置命令丢弃掉三个提交。

    +
    $ git status
    +# On branch hello-1.x
    +# Your branch is behind 'origin/hello-1.x' by 3 commits, and can be fast-forwarded.
    +#
    +nothing to commit (working directory clean)
    +
    +
    +
  • +
  • 执行git pull命令,会自动与跟踪的远程分支进行合并,相当于找回最新的3个提交。

    +
    $ git pull
    +Updating ebcf6d6..8cffe5f
    +Fast-forward
    + src/main.c |   11 +++++++++--
    + 1 files changed, 9 insertions(+), 2 deletions(-)
    +
    +
    +
  • +
+

但是如果基于本地分支创建另外一个本地分支则没有分支跟踪的功能。下面就从本地的hello-1.x分支中创建hello-jx分支。

+
    +
  • hello-1.x分支中创建新的本地分支hello-jx

    +

    下面的创建分支操作只有一行输出,看不到分支间建立跟踪的提示。

    +
    $ git checkout -b hello-jx hello-1.x
    +Switched to a new branch 'hello-jx'
    +
    +
    +
  • +
  • hello-jx分支重置。

    +
    $ git reset --hard HEAD^^
    +HEAD is now at ebcf6d6 blank commit for GnuPG-signed tag test.
    +
    +
    +
  • +
  • 检查状态看不到分支间的跟踪信息。

    +
    $ git status
    +# On branch hello-jx
    +nothing to commit (working directory clean)
    +
    +
    +
  • +
  • 执行git pull命令会报错。

    +
    $ git pull
    +You asked me to pull without telling me which branch you
    +want to merge with, and 'branch.hello-jx.merge' in
    +your configuration file does not tell me, either. Please
    +specify which branch you want to use on the command line and
    +try again (e.g. 'git pull <repository> <refspec>').
    +See git-pull(1) for details.
    +
    +If you often merge with the same branch, you may want to
    +use something like the following in your configuration file:
    +
    +    [branch "hello-jx"]
    +    remote = <nickname>
    +    merge = <remote-ref>
    +
    +    [remote "<nickname>"]
    +    url = <url>
    +    fetch = <refspec>
    +
    +See git-config(1) for details.
    +
    +
    +
  • +
  • 将上面命令执行中的错误信息翻译过来,就是:

    +
    $ git pull
    +您让我执行拉回操作,但是没有告诉我您希望与哪个远程分支进行合并,
    +而且也没有通过配置 'branch.hello-jx.merge' 来告诉我。
    +
    +请在命令行提供足够的参数,如 'git pull <repository> <refspec>' 。
    +或者如果您经常与同一个分支进行合并,可以和该分支建立跟踪。在配置
    +中添加如下配置信息:
    +
    +    [branch "hello-jx"]
    +    remote = <nickname>
    +    merge = <remote-ref>
    +
    +    [remote "<nickname>"]
    +    url = <url>
    +    fetch = <refspec>
    +
    +
    +
  • +
+

为什么用同样方法建立的分支hello-1.xhello-jx,差距咋就那么大呢?奥秘就在于从远程分支创建本地分支,自动建立了分支间的跟踪,而从一个本地分支创建另外一个本地分支则没有。看看配置文件.git/config中是不是专门为分支hello-1.x创建了相应的配置信息?

+
 9 [branch "master"]
+10   remote = origin
+11   merge = refs/heads/master
+12 [branch "hello-1.x"]
+13   remote = origin
+14   merge = refs/heads/hello-1.x
+
+
+

其中第9-11行是针对master分支设置的分支间跟踪,是在版本库克隆的时候自动建立的。而第12-14行是前面基于远程分支创建本地分支时建立的。至于分支hello-jx则没有建立相关配置。

+

如果希望在基于一个本地分支创建另外一个本地分支时也能够使用分支间的跟踪功能,就要在创建分支时提供--track参数。下面实践一下。

+
    +
  • 删除之前创建的hello-jx分支。

    +
    $ git checkout master
    +Switched to branch 'master'
    +$ git branch -d hello-jx
    +Deleted branch hello-jx (was ebcf6d6).
    +
    +
    +
  • +
  • 使用参数--track重新基于hello-1.x创建hello-jx分支。

    +
    $ git checkout --track -b hello-jx hello-1.x
    +Branch hello-jx set up to track local branch hello-1.x.
    +Switched to a new branch 'hello-jx'
    +
    +
    +
  • +
  • 从Git库的配置文件中会看到为hello-jx分支设置的跟踪。

    +

    因为跟踪的是本版本库的本地分支,所以第16行设置的远程版本库的名字为一个点。

    +
    15 [branch "hello-jx"]
    +16   remote = .
    +17   merge = refs/heads/hello-1.x
    +
    +
    +
  • +
+
+
+

3.5.3. 远程版本库

+

名为origin的远程版本库是在版本库克隆时注册的,那么如何注册新的远程版本库呢?下面将版本库file:///path/to/repos/hello-user1.gitnew-remote为名进行注册。

+
$ git remote add new-remote file:///path/to/repos/hello-user1.git
+
+
+

如果再打开版本库的配置文件.git/config会看到新的配置。

+
12 [remote "new-remote"]
+13   url = file:///path/to/repos/hello-user1.git
+14   fetch = +refs/heads/*:refs/remotes/new-remote/*
+
+
+

执行git remote命令,可以更为方便地显示已经注册的远程版本库。

+
$ git remote -v
+new-remote      file:///path/to/repos/hello-user1.git (fetch)
+new-remote      file:///path/to/repos/hello-user1.git (push)
+origin  file:///path/to/repos/hello-world.git (fetch)
+origin  file:///path/to/repos/hello-world.git (push)
+
+
+

现在执行git fetch并不会从新注册的 new-remote 远程版本库获取,因为当前分支设置的默认远程版本库为 origin。要想从 new-remote 远程版本库中获取,需要为git fetch命令增加一个参数new-remote

+
$ git fetch new-remote
+From file:///path/to/repos/hello-user1
+ * [new branch]      hello-1.x  -> new-remote/hello-1.x
+ * [new branch]      helper/master -> new-remote/helper/master
+ * [new branch]      helper/v1.x -> new-remote/helper/v1.x
+ * [new branch]      master     -> new-remote/master
+
+
+

从上面的命令输出中可以看出,远程版本库的分支复制到本地版本库前缀为new-remote的远程分支中去了。用git branch -r命令可以看到新增了几个远程分支。

+
$ git branch -r
+  new-remote/hello-1.x
+  new-remote/helper/master
+  new-remote/helper/v1.x
+  new-remote/master
+  origin/HEAD -> origin/master
+  origin/hello-1.x
+  origin/helper/master
+  origin/helper/v1.x
+  origin/master
+
+
+

更改远程版本库的地址

+

如果远程版本库的URL地址改变,需要更换,该如何处理呢?手工修改.git/config文件是一种方法,用git config命令进行更改是第二种方法,还有一种方法是用git remote命令,如下:

+
$ git remote set-url new-remote file:///path/to/repos/hello-user2.git
+
+
+

可以看到注册的远程版本库的URL地址已经更改。

+
$ git remote -v
+new-remote      file:///path/to/repos/hello-user2.git (fetch)
+new-remote      file:///path/to/repos/hello-user2.git (push)
+origin  file:///path/to/repos/hello-world.git (fetch)
+origin  file:///path/to/repos/hello-world.git (push)
+
+
+

从上面的输出中可以发现每一个远程版本库都有两个URL地址,分别是执行git fetchgit push命令时用到的URL地址。既然有两个地址,就意味着这两个地址可以不同,用下面的命令可以为推送操作设置单独的URL地址。

+
$ git remote set-url --push new-remote /path/to/repos/hello-user2.git
+$ git remote -v
+new-remote      file:///path/to/repos/hello-user2.git (fetch)
+new-remote      /path/to/repos/hello-user2.git (push)
+origin  file:///path/to/repos/hello-world.git (fetch)
+origin  file:///path/to/repos/hello-world.git (push)
+
+
+

当单独为推送设置了URL后,配置文件.git/config的对应[remote]小节也会增加一条新的名为pushurl的配置。如下:

+
12 [remote "new-remote"]
+13   url = file:///path/to/repos/hello-user2.git
+14   fetch = +refs/heads/*:refs/remotes/new-remote/*
+15   pushurl = /path/to/repos/hello-user2.git
+
+
+

更改远程版本库的名称

+

如果对远程版本库的注册名称不满意,也可以进行修改。例如将new-remote名称修改为user2,使用下面的命令:

+
$ git remote rename new-remote user2
+
+
+

完成改名后,不但远程版本库的注册名称更改过来了,就连远程分支名称都会自动进行相应的更改。可以通过执行git remotegit branch -r命令查看。

+
$ git remote
+origin
+user2
+$ git branch -r
+  origin/HEAD -> origin/master
+  origin/hello-1.x
+  origin/helper/master
+  origin/helper/v1.x
+  origin/master
+  user2/hello-1.x
+  user2/helper/master
+  user2/helper/v1.x
+  user2/master
+
+
+

远程版本库更新

+

当注册了多个远程版本库并希望获取所有远程版本库的更新时,Git提供了一个简单的命令。

+
$ git remote update
+Fetching origin
+Fetching user2
+
+
+

如果某个远程版本库不想在执行git remote update时获得更新,可以通过参数关闭自动更新。例如下面的命令关闭远程版本库user2的自动更新。

+
$ git config remote.user2.skipDefaultUpdate true
+$ git remote update
+Fetching origin
+
+
+

删除远程版本库

+

如果想要删除注册的远程版本库,用git remoterm子命令可以实现。例如删除注册的user2版本库。

+
$ git remote rm user2
+
+
+
+
+

3.5.4. PUSH和PULL操作与远程版本库

+

在Git分支一章,已经介绍过对于新建立的本地分支(没有建立和远程分支的追踪),执行git push命令是不会被推送到远程版本库中,这样的设置是非常安全的,避免了因为误操作将本地分支创建到远程版本库中。当不带任何参数执行git push命令,实际的执行过程是:

+
    +
  • 如果为当前分支设置了<remote>,即由配置branch.<branchname>.remote给出了远程版本库代号,则不带参数执行git push相当于执行了git push <remote>

    +
  • +
  • 如果没有为当前分支设置<remote>,则不带参数执行git push相当于执行了git push origin

    +
  • +
  • 要推送的远程版本库的URL地址由remote.<remote>.pushurl给出。如果没有配置,则使用remote.<remote>.url配置的URL地址。

    +
  • +
  • 如果为注册的远程版本库设置了push参数,即通过remote.<remote>.push配置了一个引用表达式,则使用该引用表达式执行推送。

    +
  • +
  • 否则使用“:”作为引用表达式。该表达式的含义是同名分支推送,即对所有在远程版本库有同名分支的本地分支执行推送。

    +

    这也就是为什么在一个本地新建分支中执行git push推送操作不会推送也不会报错的原因,因为远程不存在同名分支,所以根本就没有对该分支执行推送,而推送的是其他分支(如果远程版本库有同名分支的话)。

    +
  • +
+

在Git分支一章中就已经知道,如果需要在远程版本库中创建分支,则执行命令:git push <remote> <new_branch>。即通过将本地分支推送到远程版本库的方式在远程版本库中创建分支。但是在接下来的使用中会遇到麻烦:不能执行git pull操作(不带参数)将远程版本库中其他人推送的提交获取到本地。这是因为没有建立本地分支和远程分支的追踪,即没有设置branch.<branchname>.remote的值和branch.<branchname>.merge的值。

+

关于不带参数执行git pull命令解释如下:

+
    +
  • 如果为当前分支设置了<remote>,即由配置branch.<branchname>.remote给出了远程版本库代号,则不带参数执行git pull相当于执行了git pull <remote>
  • +
  • 如果没有为当前分支设置<remote>,则不带参数执行git pull相当于执行了git pull origin
  • +
  • 要获取的远程版本库的URL地址由remote.<remote>.url给出。
  • +
  • 如果为注册的远程版本库设置了fetch参数,即通过remote.<remote>.fetch配置了一个引用表达式,则使用该引用表达式执行获取操作。
  • +
  • 接下来要确定合并的分支。如果设定了branch.<branchname>.merge,则对其设定的分支执行合并,否则报错退出。
  • +
+

在执行git pull操作的时候可以通过参数--rebase设置使用变基而非合并操作,将本地分支的改动变基到跟踪分支上。为了避免因为忘记使用--rebase参数导致分支的合并,可以执行如下命令进行设置。注意将<branchname>替换为对应的分支名称。

+
$ git config branch.<branchname>.rebase true
+
+
+

有了这个设置之后,如果是在<branchname>工作分支中执行git pull命令,在遇到冲突(本地和远程分支出现偏离)的情况下,会采用变基操作,而不是默认的合并操作。

+

如果为本地版本库设置参数branch.autosetuprebase,值为true,则在基于远程分支建立本地追踪分支时,会自动配置branch.<branchname>.rebase参数,在执行git pull命令时使用变基操作取代默认的合并操作。

+
+
+

3.5.5. 里程碑和远程版本库

+

远程版本库中的里程碑同步到本地版本库,会使用同样的名称,而不会像分支那样移动到另外的命名空间(远程分支)中,这可能会给本地版本库中的里程碑带来混乱。当和多个远程版本库交互时,这个问题就更为严重。

+

前面的Git里程碑一章已经介绍了当执行git push命令推送时,默认不会将本地创建的里程碑带入远程版本库,这样可以避免远程版本库上里程碑的泛滥。但是执行git fetch命令从远程版本库获取分支的最新提交时,如果获取的提交上建有里程碑,这些里程碑会被获取到本地版本库。当删除注册的远程版本库时,远程分支会被删除,但是该远程版本库引入的里程碑不会被删除,日积月累本地版本库中的里程碑可能会变得愈加混乱。

+

可以在执行git fetch命令的时候,设置不获取里程碑只获取分支及提交。通过提供-n--no-tags参数可以实现。示例如下:

+
$ git fetch --no-tags file:///path/to/repos/hello-world.git \
+      refs/heads/*:refs/remotes/hello-world/*
+
+
+

在注册远程版本库的时候,也可以使用--no-tags参数,避免将远程版本库的里程碑引入本地版本库。例如:

+
$ git remote add --no-tags hell-world \
+      file:///path/to/repos/hello-world.git
+
+
+
+
+

3.5.6. 分支和里程碑的安全性

+

通过前面章节的探讨,会感觉到Git的使用真的是太方便、太灵活了,但是需要掌握的知识点和窍门也太多了。为了避免没有经验的用户在团队共享的Git版本库中误操作,就需要对版本库进行一些安全上的设置。本书第5篇Git服务器搭建的相关章节会具体介绍如何配置用户授权等版本库安全性设置。

+

实际上Git版本库本身也提供了一些安全机制避免对版本库的破坏。

+
    +
  • 用reflog记录对分支的操作历史。

    +

    默认创建的带工作区的版本库都会包含core.logallrefupdatestrue的配置,这样在版本库中建立的每个分支都会创建对应的 reflog。但是创建的裸版本库默认不包含这个设置,也就不会为每个分支设置 reflog。如果团队的规模较小,可能因为分支误操作导致数据丢失,可以考虑为裸版本库添加core.logallrefupdates的相关配置。

    +
  • +
  • 关闭非快进式提交。

    +

    如果将配置receive.denyNonFastForwards设置为true,则禁止一切非快进式推送。但这个配置有些矫枉过正,更好的方法是搭建基于SSH协议的Git服务器,通过钩子脚本更灵活的进行配置。例如:允许来自某些用户的强制提交,而其他用户不能执行非快进式推送。

    +
  • +
  • 关闭分支删除功能。

    +

    如果将配置receive.denyDeletes设置为true,则禁止删除分支。同样更好的方法是通过架设基于SSH协议的Git服务器,配置分支删除的用户权限。

    +
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/060-git-offline.html b/03-git-harmony/060-git-offline.html new file mode 100644 index 000000000..8bf839893 --- /dev/null +++ b/03-git-harmony/060-git-offline.html @@ -0,0 +1,571 @@ + + + + + + + + + 3.6. 补丁文件交互 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

3.5. 远程版本库

+

下一个主题

+

4. Git协同模型

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

3.6. 补丁文件交互

+

之前各个章节版本库间的交互都是通过git push和/或git pull命令实现的,这是Git最主要的交互模式,但并不是全部。使用补丁文件是另外一种交互方式,适用于参与者众多的大型项目进行分布式开发。例如Git项目本身的代码提交就主要由贡献者通过邮件传递补丁文件实现的。作者在写书过程中发现了Git的两个bug,就是以补丁形式通过邮件贡献给Git项目的,下面两个链接就是相关邮件的存档。

+ +

这种使用补丁文件进行提交的方式可以提高项目的参与度。因为任何人都可以参与项目的开发,只要会将提交转化为补丁,会发邮件即可。

+
+

3.6.1. 创建补丁

+

Git提供了将提交批量转换为补丁文件的命令:git format-patch。该命令后面的参数是一个版本范围列表,会将包含在此列表中的提交一一转换为补丁文件,每个补丁文件包含一个序号并从提交说明中提取字符串作为文件名。

+

下面演示一下在user1工作区中,如何将master分支的最近3个提交转换为补丁文件。

+
    +
  • 进入user1工作区,切换到master分支。

    +
    $ cd /path/to/user1/workspace/hello-world/
    +$ git checkout master
    +$ git pull
    +
    +
    +
  • +
  • 执行下面的命令将最近三个提交转换为补丁文件。

    +
    $ git format-patch -s HEAD~3..HEAD
    +0001-Fix-typo-help-to-help.patch
    +0002-Add-I18N-support.patch
    +0003-Translate-for-Chinese.patch
    +
    +
    +
  • +
+

在上面的git format-patch命令中使用了-s参数,会在导出的补丁文件中添加当前用户的签名。这个签名并非GnuPG式的数字签名,不过是将作者姓名添加到提交说明中而已,和在本书第2篇开头介绍的git commit -s命令的效果相同。虽然签名很不起眼,但是对于以补丁方式提交数据却非常重要,因为以补丁方式提交可能因为合并冲突或其他原因使得最终提交的作者显示为管理员(提交者)的ID,在提交说明中加入原始作者的署名信息大概是作者唯一露脸的机会。如果在提交时忘了使用-s参数添加签名,可以在用git format-path命令创建补丁文件的时候补救。

+

看一下补丁文件的文件头,在下面代码中的第7行可以看到新增的签名。

+
 1 From d81896e60673771ef1873b27a33f52df75f70515 Mon Sep 17 00:00:00 2001
+ 2 From: user1 <user1@sun.ossxp.com>
+ 3 Date: Mon, 3 Jan 2011 23:48:56 +0800
+ 4 Subject: [PATCH 1/3] Fix typo: -help to --help.
+ 5
+ 6
+ 7 Signed-off-by: user1 <user1@sun.ossxp.com>
+ 8 ---
+ 9  src/main.c |    2 +-
+10  1 files changed, 1 insertions(+), 1 deletions(-)
+
+
+

补丁文件有一个类似邮件一样的文件头(第1-4行),提交日志的第一行作为邮件标题(Subject),其余提交说明作为邮件内容(如果有的话),文件补丁用三个横线和提交说明分开。

+

实际上这些补丁文件可以直接拿来作为邮件发送给项目的负责人。Git提供了一个辅助邮件发送的命令git send-email。下面用该命令将这三个补丁文件以邮件形式发送出去。

+
$ git send-email *.patch
+0001-Fix-typo-help-to-help.patch
+0002-Add-I18N-support.patch
+0003-Translate-for-Chinese.patch
+The following files are 8bit, but do not declare a Content-Transfer-Encoding.
+    0002-Add-I18N-support.patch
+    0003-Translate-for-Chinese.patch
+Which 8bit encoding should I declare [UTF-8]?
+Who should the emails appear to be from? [user1 <user1@sun.ossxp.com>]
+
+Emails will be sent from: user1 <user1@sun.ossxp.com>
+Who should the emails be sent to? jiangxin
+Message-ID to be used as In-Reply-To for the first email?
+...
+Send this email? ([y]es|[n]o|[q]uit|[a]ll): a
+...
+
+
+

命令git send-email提供交互式字符界面,输入正确的收件人地址,邮件就批量地发送出去了。

+
+
+

3.6.2. 应用补丁

+

在前面通过git send-email命令发送邮件给jiangxin用户。现在使用 Linux 上的mail命令检查一下邮件。

+
$ mail
+Mail version 8.1.2 01/15/2001.  Type ? for help.
+"/var/mail/jiangxin": 3 messages 3 unread
+>N  1 user1@sun.ossxp.c  Thu Jan 13 18:02   38/1120  [PATCH 1/3] Fix typo: -help to --help.
+ N  2 user1@sun.ossxp.c  Thu Jan 13 18:02  227/6207  =?UTF-8?q?=5BPATCH=202/3=5D=20Add=20I18N=20support=2E?=
+ N  3 user1@sun.ossxp.c  Thu Jan 13 18:02   95/2893  =?UTF-8?q?=5BPATCH=203/3=5D=20Translate=20for=20Chinese=2E?=
+&
+
+
+

如果邮件不止这三封,需要将三个包含补丁的邮件挑选出来保存到另外的文件中。 +在 mail 命令的提示符(&)下输入命令。

+
& s 1-3 user1-mail-archive
+"user1-mail-archive" [New file]
+& q
+
+
+

上面的操作在本地创建了一个由开发者user1的补丁邮件组成的归档文件user1-mail-archive,这个文件是mbox格式的,可以用mail命令打开。

+
$ mail -f user1-mail-archive
+Mail version 8.1.2 01/15/2001.  Type ? for help.
+"user1-mail-archive": 3 messages
+>   1 user1@sun.ossxp.c  Thu Jan 13 18:02   38/1121  [PATCH 1/3] Fix typo: -help to --help.
+    2 user1@sun.ossxp.c  Thu Jan 13 18:02  227/6208  =?UTF-8?q?=5BPATCH=202/3=5D=20Add=20I18N=20support=2E?=
+    3 user1@sun.ossxp.c  Thu Jan 13 18:02   95/2894  =?UTF-8?q?=5BPATCH=203/3=5D=20Translate=20for=20Chinese=2E?=
+& q
+
+
+

保存在mbox中的邮件可以批量的应用在版本库中,使用git am命令。amapply email的缩写。下面就演示一下如何应用补丁。

+
    +
  • 基于HEAD~3版本创建一个本地分支,以便在该分支下应用补丁。

    +
    $ git checkout -b user1 HEAD~3
    +Switched to a new branch 'user1'
    +
    +
    +
  • +
  • 将mbox文件user1-mail-archive中的补丁全部应用在当前分支上。

    +
    $ git am user1-mail-archive
    +Applying: Fix typo: -help to --help.
    +Applying: Add I18N support.
    +Applying: Translate for Chinese.
    +
    +
    +
  • +
  • 补丁成功应用上了,看看提交日志。

    +
    $ git log -3 --pretty=fuller
    +commit 2d9276af9df1a2fdb71d1e7c9ac6dff88b2920a1
    +Author:     Jiang Xin <jiangxin@ossxp.com>
    +AuthorDate: Thu Jan 13 18:02:03 2011 +0800
    +Commit:     user1 <user1@sun.ossxp.com>
    +CommitDate: Thu Jan 13 18:21:16 2011 +0800
    +
    +    Translate for Chinese.
    +
    +    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +    Signed-off-by: user1 <user1@sun.ossxp.com>
    +
    +commit 41227f492ad37cdd99444a5f5cc0c27288f2bca4
    +Author:     Jiang Xin <jiangxin@ossxp.com>
    +AuthorDate: Thu Jan 13 18:02:02 2011 +0800
    +Commit:     user1 <user1@sun.ossxp.com>
    +CommitDate: Thu Jan 13 18:21:15 2011 +0800
    +
    +    Add I18N support.
    +
    +    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +    Signed-off-by: user1 <user1@sun.ossxp.com>
    +
    +commit 4a3380fb7ae90039633dec84acc2aab85398efad
    +Author:     user1 <user1@sun.ossxp.com>
    +AuthorDate: Thu Jan 13 18:02:01 2011 +0800
    +Commit:     user1 <user1@sun.ossxp.com>
    +CommitDate: Thu Jan 13 18:21:15 2011 +0800
    +
    +    Fix typo: -help to --help.
    +
    +    Signed-off-by: user1 <user1@sun.ossxp.com>
    +
    +
    +
  • +
+

从提交信息上可以看出:

+
    +
  • 提交的时间信息使用了邮件发送的时间。
  • +
  • 作者(Author)的信息被保留,和补丁文件中的一致。
  • +
  • 提交者(Commit)全都设置为user1,因为提交是在user1的工作区完成的。
  • +
  • 提交说明中的签名信息被保留。实际上git am命令也可以提供-s参数,在提交说明中附加执行命令用户的签名。
  • +
+

对于不习惯在控制台用mail命令接收邮件的用户,可以通过邮件附件,U盘或其他方式获取git format-patch生成的补丁文件,将补丁文件保存在本地,通过管道符调用git am命令应用补丁。

+
$ ls *.patch
+0001-Fix-typo-help-to-help.patch  0002-Add-I18N-support.patch  0003-Translate-for-Chinese.patch
+$ cat *.patch | git am
+Applying: Fix typo: -help to --help.
+Applying: Add I18N support.
+Applying: Translate for Chinese.
+
+
+

Git还提供一个命令git apply,可以应用一般格式的补丁文件,但是不能执行提交,也不能保持补丁中的作者信息。实际上git apply命令和 GNUpatch命令类似,细微差别在本书第7篇第38章“补丁中的二进制文件”予以介绍。

+
+
+

3.6.3. StGit和Quilt

+

一个复杂功能的开发一定是由多个提交来完成的,对于在以接收和应用补丁文件为开发模式的项目中,复杂的功能需要通过多个补丁文件来完成。补丁文件因为要经过审核才能被接受,因此针对一个功能的多个补丁文件一定要保证各个都是精品:补丁1用来完成一个功能点,补丁2用来完成第二个功能点,等等。一定不能出现这样的情况:补丁3用于修正补丁1的错误,补丁10改正了补丁7中的文字错误,等等。这样就带来补丁管理的难题。

+

实际上基于特性分支的开发又何尝不是如此?在将特性分支归并到开发主线前,要接受团队的评审,特性分支的开发者一定想将特性分支上的提交进行重整,把一些提交合并或者拆分。使用变基命令可以实现提交的重整,但是操作起来会比较困难,有什么好办法呢?

+
+

3.6.3.1. StGit

+

Stacked Git(http://www.procode.org/stgit/)简称StGit就是解决上述两个难题的答案。实际上StGit在设计上参考了一个著名的补丁管理工具Quilt,并且可以输出Quilt兼容的补丁列表。在本节的后半部分会介绍Quilt。

+

StGit是一个Python项目,安装起来还是很方便的。在Debian/Ubuntu下,可以直接通过包管理器安装:

+
$ sudo aptitude install stgit stgit-contrib
+
+
+

下面还是用hello-world版本库,进行StGit的实践。

+
    +
  • 首先检出hello-world版本库。

    +
    $ cd /path/to/my/workspace/
    +$ git clone file:///path/to/repos/hello-world.git stgit-demo
    +$ cd stgit-demo
    +
    +
    +
  • +
  • 在当前工作区初始化StGit。

    +
    $ stg init
    +
    +
    +
  • +
  • 现在补丁列表为空。

    +
    $ stg series
    +
    +
    +
  • +
  • 将最新的三个提交转换为StGit补丁。

    +
    $ stg uncommit -n 3
    +Uncommitting 3 patches ...
    +  Now at patch "translate-for-chinese"
    +done
    +
    +
    +
  • +
  • 现在补丁列表中有三个文件了。

    +

    第一列是补丁的状态符号。加号(+)代表该补丁已经应用在版本库中,大于号(>)用于标识当前的补丁。

    +
    $ stg ser
    ++ fix-typo-help-to-help
    ++ add-i18n-support
    +> translate-for-chinese
    +
    +
    +
  • +
  • 现在查看master分支的日志,发现和之前没有两样。

    +
    $ git log -3 --oneline
    +c4acab2 Translate for Chinese.
    +683448a Add I18N support.
    +d81896e Fix typo: -help to --help.
    +
    +
    +
  • +
  • 执行StGit补丁出栈的命令,会将补丁撤出应用。使用-a参数会将所有补丁撤出应用。

    +
    $ stg pop
    +Popped translate-for-chinese
    +Now at patch "add-i18n-support"
    +$ stg pop -a
    +Popped add-i18n-support -- fix-typo-help-to-help
    +No patch applied
    +
    +
    +
  • +
  • 再来看版本库的日志,会发现最新的三个提交都不见了。

    +
    $ git log -3 --oneline
    +10765a7 Bugfix: allow spaces in username.
    +0881ca3 Refactor: use getopt_long for arguments parsing.
    +ebcf6d6 blank commit for GnuPG-signed tag test.
    +
    +
    +
  • +
  • 查看补丁列表的状态,会看到每个补丁前都用减号(-)标识。

    +
    $ stg ser
    +- fix-typo-help-to-help
    +- add-i18n-support
    +- translate-for-chinese
    +
    +
    +
  • +
  • 执行补丁入栈,即应用补丁,使用命令stg push或者stg goto命令,注意stg push命令和git push命令风马牛不相及。

    +
    $ stg push
    +Pushing patch "fix-typo-help-to-help" ... done (unmodified)
    +Now at patch "fix-typo-help-to-help"
    +$ stg goto add-i18n-support
    +Pushing patch "add-i18n-support" ... done (unmodified)
    +Now at patch "add-i18n-support"
    +
    +
    +
  • +
  • 现在处于应用add-i18n-support补丁的状态。这个补丁有些问题,本地化语言模板有错误,我们来修改一下。

    +
    $ cd src/
    +$ rm locale/helloworld.pot
    +$ make po
    +xgettext -s -k_ -o locale/helloworld.pot main.c
    +msgmerge locale/zh_CN/LC_MESSAGES/helloworld.po locale/helloworld.pot -o locale/temp.po
    +. 完成。
    +mv locale/temp.po locale/zh_CN/LC_MESSAGES/helloworld.po
    +
    +
    +
  • +
  • 现在查看工作区,发现工作区有改动。

    +
    $ git status -s
    + M locale/helloworld.pot
    + M locale/zh_CN/LC_MESSAGES/helloworld.po
    +
    +
    +
  • +
  • 不要将改动添加暂存区,也不要提交,而是执行stg refresh命令,更新补丁。

    +
    $ stg refresh
    +Now at patch "add-i18n-support"
    +
    +
    +
  • +
  • 这时再查看工作区,发现本地修改不见了。

    +
    $ git status -s
    +
    +
    +
  • +
  • 执行stg show会看到当前的补丁add-i18n-support已经更新。

    +
    $ stg show
    +...
    +
    +
    +
  • +
  • 将最后一个补丁应用到版本库,遇到冲突。这是因为最后一个补丁是对中文本地化文件的翻译,因为翻译前的模板文件被更改了所以造成了冲突。

    +
    $ stg push
    +Pushing patch "translate-for-chinese" ... done (conflict)
    +Error: 1 merge conflict(s)
    +       CONFLICT (content): Merge conflict in
    +       src/locale/zh_CN/LC_MESSAGES/helloworld.po
    +Now at patch "translate-for-chinese"
    +
    +
    +
  • +
  • 这个冲突文件很好解决,直接编辑冲突文件helloworld.po即可。编辑好之后,注意一下第50行和第62行是否像下面写的一样。

    +
    50 "    hello -h, --help\n"
    +51 "            显示本帮助页。\n"
    +...
    +61 msgid "Hi,"
    +62 msgstr "您好,"
    +
    +
    +
  • +
  • 执行git add命令完成冲突解决。

    +
    $ git add locale/zh_CN/LC_MESSAGES/helloworld.po
    +
    +
    +
  • +
  • 不要提交,而是使用stg refresh命令更新补丁,同时更新提交。

    +
    $ stg refresh
    +Now at patch "translate-for-chinese"
    +$ git status -s
    +
    +
    +
  • +
  • 看看修改后的程序,是不是都能显示中文了。

    +
    $ ./hello
    +世界你好。
    +(version: v1.0-5-g733c6ea)
    +$ ./hello Jiang Xin
    +您好, Jiang Xin.
    +(version: v1.0-5-g733c6ea)
    +$ ./hello -h
    +...
    +
    +
    +
  • +
  • 导出补丁,使用命令stg export。导出的是Quilt格式的补丁集。

    +
    $ cd /path/to/my/workspace/stgit-demo/
    +$ stg export -d patches
    +Checking for changes in the working directory ... done
    +
    +
    +
  • +
  • 看看导出补丁的目标目录。

    +
    $ ls patches/
    +add-i18n-support  fix-typo-help-to-help  series  translate-for-chinese
    +
    +
    +
  • +
  • 其中文件series是补丁文件的列表,列在前面的补丁先被应用。

    +
    $ cat patches/series
    +# This series applies on GIT commit d81896e60673771ef1873b27a33f52df75f70515
    +fix-typo-help-to-help
    +add-i18n-support
    +translate-for-chinese
    +
    +
    +
  • +
+

通过上面的演示可以看出StGit可以非常方便的对提交进行整理,整理提交时无需使用复杂的变基命令,而是采用:提交StGit化,修改文件,执行stg refresh的工作流程即可更新补丁和提交。StGit还可以将补丁导出为补丁文件,虽然导出的补丁文件没有像git format-patch那样加上代表顺序的数字前缀,但是用文件series标注了补丁文件的先后顺序。实际上可以在执行stg export时添加-n参数为补丁文件添加数字前缀。

+

StGit还有一些功能,如合并补丁/提交,插入新补丁/提交等,请参照StGit帮助,恕不一一举例。

+
+
+

3.6.3.2. Quilt

+

Quilt是一款补丁列表管理软件,用Shell语言开发,安装也很简单,在Debian/Ubuntu上直接用下面的命令即可安装:

+
$ sudo aptitude install quilt
+
+
+

Quilt约定俗成将补丁集放在项目根目录下的子目录patches中,否则需要通过环境变量QUILT_PATCHES对路径进行设置。为了减少麻烦,在上面用stg export导出补丁的时候就导出到了patches目录下。

+

简单说一下Quilt的使用,会发现真的和StGit很像,实际上是先有的Quilt,后有的StGit。

+
    +
  • 重置到三个提交前的版本,否则应用补丁的时候会失败。还不要忘了删除src/locale目录。

    +
    $ git reset --hard HEAD~3
    +$ rm -rf src/locale/
    +
    +
    +
  • +
  • 显示补丁列表

    +
    $ quilt series
    +01-fix-typo-help-to-help
    +02-add-i18n-support
    +03-translate-for-chinese
    +
    +
    +
  • +
  • 应用一个补丁。

    +
    $ quilt push
    +Applying patch 01-fix-typo-help-to-help
    +patching file src/main.c
    +
    +Now at patch 01-fix-typo-help-to-help
    +
    +
    +
  • +
  • 下一个补丁是什么?

    +
    $ quilt next
    +02-add-i18n-support
    +
    +
    +
  • +
  • 应用全部补丁。

    +
    $ quilt push -a
    +Applying patch 02-add-i18n-support
    +patching file src/Makefile
    +patching file src/locale/helloworld.pot
    +patching file src/locale/zh_CN/LC_MESSAGES/helloworld.po
    +patching file src/main.c
    +
    +Applying patch 03-translate-for-chinese
    +patching file src/locale/zh_CN/LC_MESSAGES/helloworld.po
    +
    +Now at patch 03-translate-for-chinese
    +
    +
    +
  • +
+

Quilt的功能还有很多,请参照Quilt的联机帮助,恕不一一举例。

+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/03-git-harmony/index.html b/03-git-harmony/index.html new file mode 100644 index 000000000..fa3dce671 --- /dev/null +++ b/03-git-harmony/index.html @@ -0,0 +1,252 @@ + + + + + + + + + 3. Git和声 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

2.11. Git库管理

+

下一个主题

+

3.1. Git协议与工作协同

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

3. Git和声

+

上一篇的各个章节是从个人的视角研究和使用Git,通过连续的实践不但学习了Git的基本用法,还深入地了解了Git的奥秘,这些都将成为学习本篇内容的基础。从本章开始,不再是一个人的独奏,而是多人的和声,我们将从团队的视角对Git进行研究,要知道Git作为版本控制系统,其主要工作就是团队协作。

+

团队协作和个人之间有何不同?关键就在于团队成员之间存在着数据交换:

+
    +
  • 数据交换需要协议,就是本章要介绍的内容。
  • +
  • 数据交换可能会因为冲突造成中断,第16章将专题介绍如何解决冲突。
  • +
  • 里程碑为数据建立标识,是数据交换的参照点,这将在第17章中介绍。
  • +
  • 分支会为数据交换开辟不同的通道,从而减少冲突和混乱的发生,第18章会系统地介绍不同的分支应用模式。
  • +
  • 与远程版本库进行数据交换,是Git协同的主要手段,这将在第19章中介绍。
  • +
  • 本篇的最后(第20章)会介绍在不能直接进行版本库交互的情况下,如何使用补丁文件的方式进行数据交换。
  • +
+

目录:

+
+ +
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/010-central-model.html b/04-git-model/010-central-model.html new file mode 100644 index 000000000..e87171724 --- /dev/null +++ b/04-git-model/010-central-model.html @@ -0,0 +1,210 @@ + + + + + + + + + 4.1. 经典Git协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

4. Git协同模型

+

下一个主题

+

4.2. 金字塔式协同模型

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

4.1. 经典Git协同模型

+
+

4.1.1. 集中式协同模型

+

可以像集中式版本控制系统那样使用Git,在一个大家都可以访问到的服务器上架设Git服务器,每个人从该服务器克隆代码,本地提交推送到服务器上。如图21-1所示。

+
+
+../images/central-model.png +

图21-1:集中式协同模型

+
+
+

回忆一下在使用Subversion等集中式版本控制系统时,对服务器管理上的要求:

+
    +
  • 只允许拥有帐号的用户访问版本库。
  • +
  • 甚至只允许用户访问版本库中的某些路径,其他路径不能访问。
  • +
  • 特定目录只允许特定用户执行写操作。
  • +
  • 服务器可以通过钩子实现特殊功能,如对提交说明(commit log)的检查,数据镜像等。
  • +
+

对于这些需求,Git大部分都能支持,甚至能够做到更多:

+
    +
  • 能够设置谁能够访问版本库,谁不能访问版本库。
  • +
  • 具有更为丰富的写操作授权。可以限制哪些分支不允许写,哪些路径不允许写。
  • +
  • 可以设置谁可以创建新的分支。
  • +
  • 可以设置谁可以创建新的版本库。
  • +
  • 可以设置谁可以强制更新。
  • +
  • 服务器端同样支持钩子脚本。
  • +
+

但是也要承认,在“读授权”上Git做不到很精细,这是分布式版本控制系统的机制使然。按模块分解Git版本库,并结合后面介绍的多版本库协同解决方案可以克服Git读授权的局限。

+
    +
  • Git不支持对版本库读取的精确授权,只能是非零即壹的授权。即或者能够读取一个版本库的全部,或者什么也读不到。
  • +
  • 因为Git的提交是一个整体,提交中包含了完整目录树(tree)的哈希,因此完整性不容破坏。
  • +
  • Git是分布式版本控制系统,如果允许不完整的克隆,那么本地就是截然不同的版本库,在向服务器推送的时候,会被拒绝或者产生新的分支。
  • +
+

用Gitolite架设集中式的Git服务器

+

对于集中式的工作模型的核心就是架设集中式的Git服务器,而且尽量能够满足前面提到的对授权和版本库管理上的需求。在本书第5篇介绍服务器部署的时候,会介绍用Gitolite架设Git服务器,可以实现集中式协同模型对版本库授权和管理上的要求。

+
+

4.1.1.1. 使用集中协同模型

+

对于简单的代码修改,可以像传统集中式版本控制系统(Subversion)中那样工作,参照图21-2所示的工作流程图。

+
+../images/central-model-workflow-1.png +

图21-2:集中式协同模型工作流1

+
+

但是对于复杂的修改(代码重构/增加复杂功能),这个工作模式就有些不合适了。

+

第一个问题是:很容易将不成熟代码带入共享的版本库,破坏共享版本库相应分支的代码稳定性。例如破坏编译、破坏每日集成。这是因为开发者克隆版本库后,直接工作在缺省的跟踪分支上,当不小心执行git push命令,就会将自己的提交推送到服务器上。

+

为了避免上面的问题,开发者可能会延迟推送,例如在新功能定制的整个过程(一个月)只在本地提交,而不向服务器推送,这样产生更严重的问题:数据丢失。开发者可能因为操作系统感染病毒,或者不小心的目录删除,或者硬盘故障导致工作成果的彻底丢失,这对个人和团队来说都是灾难。

+

解决这个问题的方法也很简单,就是在本地创建本地分支(功能分支),并且同时在服务器端(共享版本库)也创建自己独享的功能分支。本地提交推送到共享版本库的自己独享的分支上。当开发完成之后,将功能分支合并到主线上,推送到共享版本库,完成开发。当然如果该特性分支不再需要时需要作些清理工作。参见图21-3所示的工作流程图。

+
+../images/central-model-workflow-2.png +

图21-3:集中式协同模型工作流2

+
+
+
+

4.1.1.2. Gerrit特殊的集中协同模型

+

传统集中式协同模型的缺点

+

传统集中式协同模型的主要问题是在管理上:谁能够向版本库推送?可以信赖某人向版本库推送么?

+

对于在一个相对固定的团队内部使用集中式协同模型没有问题,因为大家彼此信赖,都熟悉项目相关领域。但是对于公开的项目(开源项目)来说,采用集中式的协同模型,必然只能有部分核心人员具有“写”权限,很多有能力的参与者被拒之门外,这不利于项目的发展。因此集中式协同模型主要应用在公司范围内和商业软件开发中,而不会成为开源项目的首选。

+

强制代码审核的集中式协同模型

+

Android项目采用了独树一帜的集中式管理模型——通过Gerrit架设的审核服务器对提交进行强制审核。Android是由大约近200个Git版本库组成的庞大的项目,为了对庞大的版本库进行管理,Android项目开发了两个工具repoGerrit进行版本库的管理。其中Gerrit服务器为Android项目引入了特别的集中式协同模型。

+

Gerrit服务器通过SSH协议管理Git版本库,并实现了一个Web界面的评审工作流。任何注册用户都可以参与到项目中来,都可以推送Git提交到Gerrit管理下的Git版本库(通过Gerrit启动的特殊SSH端口)。Git推送不能直接推送到分支,而是推送到特殊的引用refs/for/<branch-name>,此提交会自动转换为形如refs/changes/<nn>/<review-id>/<patch-set>的补丁集,此补丁集在Gerrit的Web界面中显示为对应的评审任务。评审任务进入审核流程,当通过相关负责人的审核后,才被接受,被合并到正式的版本库中。

+

在本书的第5篇第32章“Gerrit代码审核服务器”中会详细介绍Gerrit代码审核服务器的部署和使用。

+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/020-distribute-model.html b/04-git-model/020-distribute-model.html new file mode 100644 index 000000000..3ac21cd4c --- /dev/null +++ b/04-git-model/020-distribute-model.html @@ -0,0 +1,197 @@ + + + + + + + + + 4.2. 金字塔式协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

4.1. 经典Git协同模型

+

下一个主题

+

4.3. Topgit协同模型

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

4.2. 金字塔式协同模型

+

自从分布式版本库控制系统(Mercurial/Hg、Bazaar、Git等)诞生之后,有越来越多的开源项目迁移了版本控制系统,例如从Subversion或CVS迁移到分布式版本控制系统。因为众多的开源项目逐渐认识到,集中式的版本控制管理方式阻止了更多的人参与项目的开发,对项目的发展不利。

+

集中式版本控制系统的最大问题是,如果没有在服务器端授权,就无法提交,也就无法保存自己的更改。开源项目虽然允许所有人访问代码库,但是不可能开放“写操作”授权给所有的人,否则代码质量无法控制(Gerrit审核服务器是例外)。于此相对照的是,在使用了分布式版本控制系统之后,任何人都可以在本地克隆一个和远程版本库一模一样的版本库,本地的版本库允许任何操作,这就极大的调动了开发者投入项目研究的积极性。

+

分布式的开发必然带来协同的问题,如何能够让一个素不相识的开发者将他的贡献提交到项目中?如何能够最大化的发动和汇聚全球智慧?开源社区逐渐发展出金字塔模型,而这也是必然之选。

+
+
+../images/distrabute-model.png +

图:金字塔式协同模型

+
+
+

金字塔模型的含义是,虽然理论上每个开发者的版本库都是平等的,但是会有一个公认的权威的版本库,这个版本库由一个或者多个核心开发者负责维护(具有推送的权限)。核心的开发人员负责审核其他贡献者的提交,审核可以通过邮件传递的补丁或者访问(PULL)贡献者开放的代码库进行。由此构成了由核心开发团队为顶层的所有贡献者共同参与的开发者金字塔。

+

Linux社区就是典型的金字塔结构。Linus Torvalds的版本库被公认为是官方的版本库,允许核心成员的提交。其他贡献者的提交必须经过一个或多个核心成员的审核后,才能经由核心成员代为推送的到官方版本库。

+

采用这种金字塔式协同模型不需要复杂的Git服务器设置,只需要项目管理者提供一个让其他人只读访问的版本库。当然管理者要能够通过某种方法向该版本库推送,以便其他人能够通过该版本库获得更新。

+
+

4.2.1. 贡献者开放只读版本库

+

因为不能直接向项目只读共享的版本库提交,为了能让项目的管理者获取自己的提交,贡献者需要提供项目管理者访问自己版本库的方法。建立一个自己所有的只读共享版本库是一个简单易行的方法。在第5篇搭建Git服务器的相关章节,会介绍几种快速搭建只读Git版本库的方法,包括:用HTTP智能协议搭建Git服务器,用Git协议搭建Git服务器。

+

贡献者在自己的只读共享版本库建立后,需要对自己贡献的提交进行一下检查和整理。

+
    +
  • 贡献的提交要处于一个单独的特性分支中,并且要为该特性分支取一个有意义的名字。

    +

    使用贡献者的名字以及简单的概括性文字是非常好的特性分支名。例如为自己的特性分支命名为jiangxin/fix-bug-xxx

    +
  • +
  • 贡献的提交是否是基于上游对应分支的最新提交?如果不是需要变基到上游最新提交,以免产生合并。

    +

    项目的管理者会尽量避免不必要的合并,因此会要求贡献者的提交尽量基于项目的最新提交。使用下面的方式建立跟踪远程分支的本地分支,可以很简单的实现在执行git pull操作时使用变基操作取代合并操作。

    +
    $ git checkout -b jiangxin/fix-bug-xxx origin/master
    +$ git config branch.jiangxin/fix-bug-xxx.rebase true
    +hack, hack, hack
    +$ git pull
    +
    +
    +
  • +
+

然后贡献者就可以向项目管理者发送通知邮件,告诉项目管理者有贡献的代码等待他/她的审核。邮件中大致包括以下内容:

+
    +
  • 为什么要修改项目的代码。
  • +
  • 相应的修改是否经过了测试,或者提交中是否包含了单元测试。
  • +
  • 自己版本库的访问地址。
  • +
  • 特性分支名称。
  • +
+
+
+

4.2.2. 以补丁方式贡献代码

+

使用补丁文件方式贡献代码也是开源项目常用的协同方式。Git项目本身就是采用该方式运作的。

+
    +
  • 每个用户先在本地版本库修改代码。
  • +
  • 修改完成后,通过执行git format-patch命令将提交转换为补丁。
  • +
  • 如果提交很多且比较杂乱,可以考虑使用StGit对提交进行重整。
  • +
  • 调用git send-email命令或者通过图形界面的邮件客户端软件将补丁发到邮件列表以及项目维护者。
  • +
  • 项目维护者认可贡献者提交的补丁后,执行git am命令应用补丁。
  • +
+

在第3篇第20章“补丁文件交互”已经详细介绍了该模式的工作流程,请参考相关章节。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/030-topgit-model.html b/04-git-model/030-topgit-model.html new file mode 100644 index 000000000..7844ba67d --- /dev/null +++ b/04-git-model/030-topgit-model.html @@ -0,0 +1,935 @@ + + + + + + + + + 4.3. Topgit协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

4.3. Topgit协同模型

+

如果没有Topgit,就不会有此书。因为发现了Topgit,才让作者下定决心在公司大范围推广Git;因为Topgit,激发了作者对Git的好奇之心。

+
+

4.3.1. 作者版本控制系统三个里程碑

+

从2005年开始作者专心于开源软件的研究、定制开发和整合,在这之后的几年,一直使用Subversion做版本控制。对于定制开发工作,Subversion有一种称为卖主分支(Vendor Branch)的模式。

+
+../images/topgit-branch-vendor-branch.png +

图22-1:卖主分支工作模式图

+
+

卖主分支的工作模式如图22-1所示:

+
    +
  • 图22-1由左至右,提交随着时间而递增。
  • +
  • 主线trunk用于对定制开发的过程进行跟踪。
  • +
  • 主线的第一个提交v1.0是导入上游(该开源软件官方版本库)发布的版本。
  • +
  • 之后在v1.0提交之处建立分支,是为卖主分支(vendor branch)。
  • +
  • 主线上依次进行了c1、c2两次提交,是基于v1.0进行的定制开发。
  • +
  • 当上游有了新版本,提交到卖主分支上,即v2.0提交。和v1.0相比除了大量的文件更改外,还可能有文件增加和删除。
  • +
  • 然后在主线上执行从卖主分支到主线的合并,即提交M1。因为此时主线上的改动相对少,合并v2.0并不太费事。
  • +
  • 主线继续开发。可能同时有针对不同需求的定制开发,在主线上会有越来越多的提交,如上图从c3到c99近百次提交。
  • +
  • 如果在卖主分支上导入上游的新版本v3.0,合并将会非常痛苦。因为主线上针对不同需求的定制开发已经混在在一起!
  • +
+

实践证明,Subversion的卖主分支对于大规模的定制开发非常不适合。向上游新版本的迁移随着定制功能和提交的增多越来越困难。

+

在2008年,我们的版本库迁移到Mercurial(水银,又称为Hg),并工作在“Hg+MQ”模式下,我自以为找到了定制开发版本控制的终极解决方案,那时我们已被Subversion的卖主分支折磨的太久了。

+

Hg和Git一样也是一种分布式版本控制系统,MQ是Hg的一个扩展,可以实现提交和补丁两种模式之间的转换。Hg版本库上的提交可以通过hg qimport命令转化为补丁列表,也可以通过hg qpushhg qpop等命令在补丁列表上游移(出栈和入栈),入栈的补丁转化为Hg版本库的提交,补丁出栈会从Hg版本库移走最新的提交。

+

使用“Hg+MQ”相比Subversion的卖主分支的好处在于:

+
    +
  • 针对不同需求的定制开发,其提交被限定在各自独立的补丁文件之中。

    +

    针对同一个需求的定制开发,无论多少次的更改都体现为补丁文件的变化,而补丁文件本身也是被版本控制的。

    +
  • +
  • 各个补丁之间是顺序依赖关系,形成一个Quilt格式的补丁列表。

    +
  • +
  • 迁移至上游新版本的过程是:先将所有补丁“出栈”,再将上游新版本提交到主线,然后依次将补丁“入栈”。

    +

    因为上游新版本的代码上下文改变等原因,补丁入栈可能会遇到冲突,只要在解决冲突完毕后,执行hg qref即可。

    +
  • +
  • 向上游新版本迁移过程的工作量降低了,是因为提交都按照定制的需求分类了 +(不同的补丁),每个补丁都可以视为一个功能分支。

    +
  • +
+

但是当需要在定制开发上进行多人协作的时候,“Hg+MQ”弊病就显现了。因为“Hg+MQ”工作模式下,定制开发的成果是一个补丁库,在补丁库上进行协作难度非常大,当发生冲突的时候,补丁文件本身的冲突解决难度相当大。这就引发了我们第三次版本控制系统大迁移。

+

2009年,目光锁定在Topgit上。TopGit的项目名称是来自于Topic Git的简写,是基于Git用脚本语言开发的辅助工具,是用于管理多个Git的特性分支的工具。Topgit可以非常简单的实现“变基”——迁移至上游新版本。

+

Topgit的主要特点有:

+
    +
  • 上游代码库位于开发主线(如:master分支),每一个定制开发都对应于一条Git分支(refs/heads/t/feature_name)。
  • +
  • 特性分支之间的依赖关系不像“Hg+MQ”简单的逐一依赖模式,而是可以任意设定分支之间的依赖。
  • +
  • 特性分支和其依赖的分支可以转出为Quilt格式的补丁列表。
  • +
  • 因为针对某一需求的定制开发在特定的分支中,可以多人协同参与,和正常的Git开发别无二致。
  • +
+
+
+

4.3.2. Topgit原理

+

图22-2是一个近似的Topgit实现图(略去了重要的top-bases分支)。

+
+../images/topgit-topic-branch.png +

图22-2:Topgit特性分支关系图

+
+

在图22-2中,主线上的v1.0是上游的版本的一次提交。特性分支A和C都直接依赖主线master,而特性分支B则依赖特性分支A。提交M1是特定分支B因为特性分支A更新而做的一次迁移。提交M2和M4,则分别是特性分支A和C因为上游出现了新版本v2.0而做的迁移。当然特性分支B也要做相应的迁移,是为M3。

+

上述的描述非常粗糙,因为这样的设计很难实现特性分支导出为补丁文件。例如特性分支B的补丁,实际上应该是M3和M2之间的差异,而绝不是M3到a2之间的差异。Topgit为了能够实现分支导出为补丁,又为每个特性的开发引入了一个特殊的引用(refs/top-bases/*),用于追踪分支依赖的“变基”。这些特性分支的基准分支也形成了复杂的分支关系图,如图22-3所示。

+
+../images/topgit-topic-base-branch.png +

图22-3:Topgit特性分支的基准分支关系图

+
+

把图22-2和图22-3两张分支图重合,就可以获得各个特性分支在任一点的特性补丁文件。

+

上面的特性分支B还只是依赖一个分支,如果出现一个分支依赖多个特性分支的话,情况就会更加的复杂,更会体现出这种设计方案的精妙。

+

Topgit还在每个特性分支工作区的根目录引入两个文件,用以记录分支的依赖以及关于此分支的说明。

+
    +
  • 文件.topdeps记录该分支所依赖的分支列表。

    +

    该文件通过tg create命令在创建特性分支时自动创建,或者通过tg depend add命令来添加新依赖。

    +
  • +
  • 文件.topmsg记录该分支的描述信息。

    +

    该文件通过tg create命令在创建特性分支时创建,也可以手动编辑。

    +
  • +
+
+
+

4.3.3. Topgit的安装

+

Topgit的可执行命令只有一个tg。其官方参考手册见:http://repo.or.cz/w/topgit.git?a=blob;f=README

+

安装官方的Topgit版本,直接克隆官方的版本库,执行make即可。

+
$ git clone git://repo.or.cz/topgit.git
+$ cd topgit
+$ make
+$ make install
+
+
+

缺省会把可执行文件tg安装在$HOME/bin(用户主目录下的bin目录)下,如果没有将~/bin加入环境变量$PATH中,可能无法执行tg。如果具有root权限,也可以将tg安装在系统目录中。

+
$ prefix=/usr make
+$ sudo prefix=/usr make install
+
+
+

作者对Topgit做了一些增强和改进,在后面的章节予以介绍。如果想安装改进的版本,需要预先安装quilt补丁管理工具。然后进行如下操作。

+
$ git clone git://github.com/ossxp-com/topgit.git
+$ cd topgit
+$ QUILT_PATCHES=debian/patches quilt push -a
+$ prefix=/usr make
+$ sudo prefix=/usr make install
+
+
+

如果用的是Ubuntu或者Debian Linux操作系统,还可以这么安装。

+
    +
  • 先安装Debian/Ubuntu打包依赖的相关工具软件。

    +
    $ sudo aptitude install quilt debhelper build-essential fakeroot dpkg-dev
    +
    +
    +
  • +
  • 再调用dpkg-buildpackage命令,编译出DEB包,再安装。

    +
    $ git clone git://github.com/ossxp-com/topgit.git
    +$ cd topgit
    +$ dpkg-buildpackage -b -rfakeroot
    +$ sudo dpkg -i ../topgit_*.deb
    +
    +
    +
  • +
  • 安装完毕后,重新加载命令行补齐,可以更方便的使用tg命令。

    +
    $ . /etc/bash_completion
    +
    +
    +
  • +
+
+
+

4.3.4. Topgit的使用

+

通过前面的原理部分,可以发现Topgit为管理特性分支,所引入的配置文件和基准分支都是和Git兼容的。

+
    +
  • refs/top-bases/命名空间下的引用,用于记录分支的变基历史。
  • +
  • 在特性分支的工作区根目录引入两个文件.topdeps.topmsg,用于记录分支依赖和说明。
  • +
  • 引入新的钩子脚本hooks/pre-commit,用于在提交时检查分支依赖有没有发生循环等。
  • +
+

Topgit的命令行的一般格式为:

+
tg [global_option] <subcmd> [command_options...] [arguments...]
+
+
+
    +
  • 在子命令前为全局选项,目前可用全局选项只有-r <remote>

    +

    -r <remote>可选项,用于设定分支跟踪的远程服务器。默认为origin

    +
  • +
  • 子命令后可以跟命令相关的可选选项,和参数。

    +
  • +
+
+

4.3.4.1. tg help命令

+

tg help命令显示帮助信息。当在tg help后面提供子命令名称,可以获得该子命令详细的帮助信息。

+
+
+

4.3.4.2. tg create命令

+

tg create命令用于创建新的特性分支。用法:

+
tg [...] create NAME [DEPS...|-r RNAME]
+
+
+

其中:

+
    +
  • NAME是新的特性分支的分支名,必须提供。一般约定俗成,NAMEt/前缀开头,以标明此分支是一个Topgit特性分支。
  • +
  • DEPS...是可选的一个或多个依赖分支名。如果不提供依赖分支名,则使用当前分支作为新的特性分支的依赖分支。
  • +
  • -r RNAME选项,将远程分支作为依赖分支。不常用。
  • +
+

tg create命令会创建新的特性分支refs/heads/NAME,跟踪变基分支refs/top-bases/NAME,并且在项目根目录下创建文件.topdeps.topmsg。会提示用户编辑.topmsg文件,输入详细的特性分支描述信息。

+

例如在一个示例版本库,分支master下输入命令:

+
$ tg create t/feature1
+tg: Automatically marking dependency on master
+tg: Creating t/feature1 base from master...
+Switched to a new branch 't/feature1'
+tg: Topic branch t/feature1 set up. Please fill .topmsg now and make initial commit.
+tg: To abort: git rm -f .top* && git checkout master && tg delete t/feature1
+
+
+

提示信息中以“tg:”开头的是Topgit产生的说明。其中提示用户编辑.topmsg文件,然后执行一次提交完成Topgit特性分支的创建。

+

如果想撤销此次操作,删除项目根目录下的.top*文件,切换到master分支,然后执行tg delete t/feature1命令删除t/feature1分支以及变基跟踪分支refs/top-bases/t/feature1

+

输入git status可以看到当前已经切换到t/feature1分支,并且Topgit已经创建了.topdeps.topmsg文件,并已将这两个文件加入到暂存区。

+
$ git status
+# On branch t/feature1
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   .topdeps
+#       new file:   .topmsg
+#
+$ cat .topdeps
+master
+
+
+

打开.topmsg文件,会看到下面内容(前面增加了行号):

+
1   From: Jiang Xin <jiangxin@ossxp.com>
+2   Subject: [PATCH] t/feature1
+3
+4   <patch description>
+5
+6   Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
+
+
+

其中第2行是关于该特性分支的简短描述,第4行是详细描述,可以写多行。

+

编辑完成,别忘了提交,提交之后才完成Topgit分支的创建。

+
$ git add -u
+$ git commit -m "create tg branch t/feature1"
+
+
+

创建时指定依赖分支

+

如果这时想创建一个新的特性分支t/feature2,并且也是要依赖master,注意需要在命令行中提供master作为第二个参数,以设定依赖分支。因为当前所处的分支为t/feature1,如果不提供指定的依赖分支会自动依赖当前分子。

+
$ tg create t/feature2 master
+$ git commit -m "create tg branch t/feature2"
+
+
+

下面的命令将创建t/feature3分支,该分支依赖t/feature1t/feature2

+
$ tg create t/feature3 t/feature1 t/feature2
+$ git commit -m "create tg branch t/feature3"
+
+
+
+
+

4.3.4.3. tg info命令

+

tg info命令用于显示当前分支或指定的Topgit分支的信息。用法:

+
tg [...] info [NAME]
+
+
+

其中NAME是可选的Topgit分支名。例如执行下面的命令会显示分支t/feature3的信息:

+
$ tg info
+Topic Branch: t/feature3 (1/1 commit)
+Subject: [PATCH] t/feature3
+Base: 0fa79a5
+Depends: t/feature1
+         t/feature2
+Up-to-date.
+
+
+

切换到t/feature1分支,做一些修改,并提交。

+
$ git checkout t/feature1
+hack...
+$ git commit -m "hacks in t/feature1."
+
+
+

然后再来看t/feature3的状态:

+
$ tg info t/feature3
+Topic Branch: t/feature3 (1/1 commit)
+Subject: [PATCH] t/feature3
+Base: 0fa79a5
+Depends: t/feature1
+         t/feature2
+Needs update from:
+        t/feature1 (1/1 commit)
+
+
+

状态信息显示t/feature3不再是最新的状态(Up-to-date),因为依赖的分支包含新的提交,而需要从t/feature1获取更新。

+
+
+

4.3.4.4. tg update命令

+

tg update命令用于更新分支,即从依赖的分支或上游跟踪的分支获取最新的提交合并到当前分支。同时也更新在refs/top-bases/命名空间下的跟踪变基分支。

+
tg [...] update [NAME]
+
+
+

其中NAME是可选的Topgit分支名。下面就对需要更新的t/feature3分支执行tg update命令。

+
$ git checkout t/feature3
+$ tg update
+tg: Updating base with t/feature1 changes...
+Merge made by recursive.
+ feature1 |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 feature1
+tg: Updating t/feature3 against new base...
+Merge made by recursive.
+ feature1 |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 feature1
+
+
+

从上面的输出信息可以看出执行了两次分支合并操作,一次是针对refs/top-bases/t/feature3引用指向的跟踪变基分支,另外一次针对的是refs/heads/t/feature3特性分支。

+

执行tg update命令因为要涉及到分支的合并,因此并非每次都会成功。例如在t/feature3t/feature1同时对同一个文件(如feature1)进行修改。然后在t/feature3中再执行tg update可能就会报错,进入冲突解决状态。

+
$ tg update t/feature3
+tg: Updating base with t/feature1 changes...
+Merge made by recursive.
+ feature1 |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+tg: Updating t/feature3 against new base...
+Auto-merging feature1
+CONFLICT (content): Merge conflict in feature1
+Automatic merge failed; fix conflicts and then commit the result.
+tg: Please commit merge resolution. No need to do anything else
+tg: You can abort this operation using `git reset --hard` now
+tg: and retry this merge later using `tg update`.
+
+
+

可以看出第一次对refs/top-bases/t/feature3引用指向的跟踪变基分支成功合并,但在对t/feature3特性分支进行合并是出错。

+
$ tg info
+Topic Branch: t/feature3 (3/2 commits)
+Subject: [PATCH] t/feature3
+Base: 37dcb62
+* Base is newer than head! Please run `tg update`.
+Depends: t/feature1
+         t/feature2
+Up-to-date.
+
+$ tg summary
+        t/feature1                      [PATCH] t/feature1
+ 0      t/feature2                      [PATCH] t/feature2
+>     B t/feature3                      [PATCH] t/feature3
+
+$ git status
+# On branch t/feature3
+# Unmerged paths:
+#   (use "git add/rm <file>..." as appropriate to mark resolution)
+#
+#       both modified:      feature1
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+
+

通过tg info命令可以看出当前分支状态是Up-to-date,但是之前有提示:分支的基(Base)要比头(Head)新,请执行tg update命令。这时如果执行tg summary命令的话,可以看到t/feature3处于B(Break)状态。用git status命令,可以看出因为两个分支同时修改了文件feature1导致冲突。

+

可以编辑feature1文件,或者调用冲突解决工具解决冲突,之后再提交,才真正完成此次tg update

+
$ git mergetool
+$ git commit -m "resolved conflict with t/feature1."
+
+$ tg info
+Topic Branch: t/feature3 (4/2 commits)
+Subject: [PATCH] t/feature3
+Base: 37dcb62
+Depends: t/feature1
+         t/feature2
+Up-to-date.
+
+
+
+
+

4.3.4.5. tg summary命令

+

tg summary命令用于显示Topgit管理的特性分支的列表及各个分支的状态。用法:

+
tg [...] summary [-t | --sort | --deps | --graphviz]
+
+
+

不带任何参数执行tg summary是最常用的Topgit命令。在介绍无参数的tg summary命令之前,先看看其他简单的用法。

+

使用-t参数只显示特性分支列表。

+
$ tg summary -t
+t/feature1
+t/feature2
+t/feature3
+
+
+

使用--deps参数会显示Topgit特性分支,及其依赖的分支。

+
$ tg summary  --deps
+t/feature1 master
+t/feature2 master
+t/feature3 t/feature1
+t/feature3 t/feature2
+
+
+

使用--sort参数按照分支依赖的顺序显示分支列表,除了Topgit分支外,依赖的非Topgit分支也会显示:

+
$ tg summary  --sort
+t/feature3
+t/feature2
+t/feature1
+master
+
+
+

使用--graphviz会输出GraphViz格式文件,可以用于显示特性分支之间的关系。

+
$ tg summary --graphviz | dot -T png -o topgit.png
+
+
+

生成的特性分支关系图如图22-4所示。

+
+../images/topgit-graphviz.png +

图22-4:Topgit特性分支依赖关系图

+
+

不带任何参数执行tg summary会显示分支列表及状态。这是最常用的Topgit命令之一。

+
$ tg summary
+        t/feature1                      [PATCH] t/feature1
+ 0      t/feature2                      [PATCH] t/feature2
+>       t/feature3                      [PATCH] t/feature3
+
+
+

其中:

+
    +
  • 标记“>”:(t/feature3分支之前的大于号)用于标记当前所处的特性分支。
  • +
  • 标记“0”:(t/feature2分支前的数字0)含义是该分支中没有提交,这一个建立后尚未使用或废弃的分支。
  • +
  • 标记“D”:表明该分支处于过时(out-of-date)状态。可能是一个或多个依赖的分支包含了新的提交,尚未合并到此特性分支。可以用tg info命令看出到底是由于哪个依赖分支的改动导致该特性分支处于过时状态。
  • +
  • 标记“B”:之前演示中出现过,表明该分支处于Break状态,即可能由于冲突未解决或者其他原因导致该特性分支的基(base)相对该分支的头(head)不匹配。refs/top-bases下的跟踪变基分支迁移了,但是特性分支未完成迁移。
  • +
  • 标记“!”:表明该特性分支所依赖的分支不存在。
  • +
  • 标记“l”:表明该特性分支只存在于本地,不存在于远程跟踪服务器。
  • +
  • 标记“r”:表明该特性分支既存在于本地,又存在于远程跟踪服务器,并且两者匹配。
  • +
  • 标记“L”:表明该特性分支,本地的要被远程跟踪服务器要新。
  • +
  • 标记“R”:表明该特性分支,远程跟踪服务器的要被本地的新。
  • +
  • 如果没有出现“l/r/L/R”:表明该版本库尚未设置远程跟踪版本库(没有remote)。
  • +
  • 一般带有标记“r”的是最常见的,也是最正常的。
  • +
+

下面通过tg remote为测试版本库建立一个对应的远程跟踪版本库,然后就能在tg summary的输出中看到标识符“l/r”等。

+
+
+

4.3.4.6. tg remote命令

+

tg remote命令用于为远程跟踪版本库设置Topgit的特性分支的关联,在和该远程版本库进行fetchpull等操作时能够同步Topgit相关分支。

+
tg [...] remote [--populate] [REMOTE]
+
+
+

其中REMOTE为远程跟踪版本库的名称,如“origin”,会自动在该远程源的配置中增加refs/top-bases下引用的同步。下面的示例中前面用加号标记的行就是当执行tg remote origin后增加的设置。

+
 [remote "origin"]
+        url = /path/to/repos/tgtest.git
+        fetch = +refs/heads/*:refs/remotes/origin/*
++       fetch = +refs/top-bases/*:refs/remotes/origin/top-bases/*
+
+
+

如果使用--populate参数,除了会向上面那样设置缺省的Topgit远程版本库外,会自动执行git fetch命令,然后还会为新的Topgit特性分支在本地创建新的分支,以及其对应的跟踪分支。

+

当执行tg命令时,如果不用-r remote全局参数,默认使用缺省的Topgit远程版本库。

+

下面为前面测试的版本库设置一个远程的跟踪版本库。

+

先创建一个裸版本库tgtest.git

+
$ git init --bare /path/to/repos/tgtest.git
+Initialized empty Git repository in /path/to/repos/tgtest.git/
+
+
+

然后在测试版本库中注册名为origin的远程版本库为刚刚创建的版本库。

+
$ git remote add origin /path/to/repos/tgtest.git
+
+
+

执行git push,将主线同步到远程的版本库。

+
$ git push origin master
+Counting objects: 7, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (3/3), done.
+Writing objects: 100% (7/7), 585 bytes, done.
+Total 7 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (7/7), done.
+To /path/to/repos/tgtest.git
+ * [new branch]      master -> master
+
+
+

之后通过tg remote命令告诉Git这个远程版本库需要跟踪Topgit分支。

+
$ tg remote --populate origin
+
+
+

会在当前的版本库的.git/config文件中添加设置(以加号开头的行):

+
 [remote "origin"]
+        url = /path/to/repos/tgtest.git
+        fetch = +refs/heads/*:refs/remotes/origin/*
++       fetch = +refs/top-bases/*:refs/remotes/origin/top-bases/*
++[topgit]
++       remote = origin
+
+
+

这时再执行tg summary会看到分支前面都有标记“l”,即本地提交比远程版本库要新。

+
$ tg summary
+  l     t/feature1                      [PATCH] t/feature1
+ 0l     t/feature2                      [PATCH] t/feature2
+> l     t/feature3                      [PATCH] t/feature3
+
+
+

t/feature2的特性分支推送到远程版本库。

+
$ tg push t/feature2
+Counting objects: 5, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (3/3), done.
+Writing objects: 100% (4/4), 457 bytes, done.
+Total 4 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (4/4), done.
+To /path/to/repos/tgtest.git
+ * [new branch]      t/feature2 -> t/feature2
+ * [new branch]      refs/top-bases/t/feature2 -> refs/top-bases/t/feature2
+
+
+

再来看看tg summary的输出,会看到t/feature2的标识变为“r”,即远程和本地相同步。

+
$ tg summary
+  l     t/feature1                      [PATCH] t/feature1
+ 0r     t/feature2                      [PATCH] t/feature2
+> l     t/feature3                      [PATCH] t/feature3
+
+
+

使用tg push –all(改进过的Topgit),会将所有的topgit分支推送到远程版本库。之后再来看tg summary的输出。

+
$ tg summary
+  r     t/feature1                      [PATCH] t/feature1
+ 0r     t/feature2                      [PATCH] t/feature2
+> r     t/feature3                      [PATCH] t/feature3
+
+
+

如果版本库设置了多个远程版本库,要针对每一个远程版本库执行tg remote <REMOTE>,但只能有一个远程的源用--populate参数调用tg remote将其设置为缺省的远程版本库。

+
+
+

4.3.4.7. tg push命令

+

在前面tg remote的介绍中,已经看到了tg push命令。tg push命令用于将Topgit特性分支及对应的变基跟踪分支推送到远程版本库。用法:

+
tg [...] push [--dry-run] [--no-deps] [--tgish-only] [--all|branch*]
+
+
+

tg push命令后面的参数指定要推送给远程服务器的分支列表,如果省略则推送当前分支。改进的tg push可以不提供任何分支,只提供--all参数就可以将所有Topgit特性分支推送到远程版本库。

+

参数--dry-run是测试执行效果,不真正执行。参数--no-deps的含义是不推送依赖的分支,缺省推送。参数--tgish-only的含义是只推送Topgit特性分支,缺省指定的所有分支都进行推送。

+
+
+

4.3.4.8. tg depend命令

+

tg depend命令目前仅实现了为当前的Topgit特性分支增加新的依赖。用法:

+
tg [...] depend add NAME
+
+
+

会将NAME加入到文件.topdeps中,并将NAME分支向该特性分支以及变基跟踪分支进行合并操作。虽然Topgit可以检查到分支的循环依赖,但还是要注意合理的设置分支的依赖,合并重复的依赖。

+
+
+

4.3.4.9. tg base命令

+

tg base命令用于显示特性分支的基(base)当前的commit-id。

+
+
+

4.3.4.10. tg delete命令

+

tg delete命令用于删除Topgit特性分支以及其对应的变基跟踪分支。用法:

+
tg [...] delete [-f] NAME
+
+
+

缺省只删除没有改动的分支,即标记为“0”的分支,除非使用-f参数。

+

目前此命令尚不能自动清除其分支中对删除分支的依赖,还需要手工调整.topdeps文件,删除不存在分支的依赖。

+
+
+

4.3.4.11. tg patch命令

+

tg patch命令通过比较特性分支及其变基跟踪分支的差异,显示该特性分支的补丁。用法:

+
tg [...] patch [-i | -w] [NAME]
+
+
+

其中参数-i显示暂存区和变基跟踪分支的差异。参数-w显示工作区和变基跟踪分支的差异。

+

tg patch命令存在的一个问题是只有在工作区的根执行才能够正确显示。这个缺陷已经在我改进的Topgit中被改正。

+
+
+

4.3.4.12. tg export命令

+

tg export命令用于导出特性分支及其依赖,便于向上游贡献。可以导出Quilt格式的补丁列表,或者顺序提交到另外的分支中。用法:

+
tg [...] export ([--collapse] NEWBRANCH | [--all | -b BRANCH1,BRANCH2...] --quilt DIRECTORY | --linearize NEWBRANCH)
+
+
+

这个命令有三种导出方法。

+
    +
  • 将所有的Topgit特性分支压缩为一个提交到新的分支。

    +
    tg [...] export --collapse NEWBRAQNCH
    +
    +
    +
  • +
  • 将所有的Topgit特性分支按照线性顺序提交到一个新的分支中。

    +
    tg [...] export --linearize NEWBRANCH
    +
    +
    +
  • +
  • 将指定的Topgit分支(一个或多个)及其依赖分支转换为Quilt格式的补丁,保存到指定目录中。

    +
    tg [...] export -b BRANCH1,BRANCH2... --quilt DIRECTORY
    +
    +
    +
  • +
+

在导出为Quilt格式补丁的时候,如果想将所有的分支导出,必须用-b参数将分支全部罗列(或者分支的依赖关系将所有分支囊括),这对于需要导出所有分支非常不方便。我改进的Topgit通过--all参数,实现导出所有分支。

+
+
+

4.3.4.13. tg import命令

+

tg import命令将分支的提交转换为Topgit特性分支,每个分支称为一个特性分支,各个特性分支线性依赖。用法:

+
tg [...] import [-d BASE_BRANCH] {[-p PREFIX] RANGE...|-s NAME COMMIT}
+
+
+

如果不使用-d参数,特性分支以当前分支为依赖。特性分支名称自动生成,使用约定俗成的t/作为前缀,也可以通过-p参数指定其他前缀。可以通过-s参数设定特性分支的名称。

+
+
+

4.3.4.14. tg log命令

+

tg log命令显示特性分支的提交历史,并忽略合并引入的提交。

+
tg [...] log [NAME] [-- GIT LOG OPTIONS...]
+
+
+

tg log命令实际是对:command`git log`命令的封装。这个命令通过--no-merges--first-parent参数调用git log,虽然屏蔽了大量因和依赖分支合并而引入的依赖分支的提交日志,但是同时也屏蔽了合并到该特性分支的其他贡献者的提交。

+
+
+

4.3.4.15. tg mail命令

+

tg mail命令将当前分支或指定特性分支的补丁以邮件型式外发。用法:

+
tg [...] mail [-s SEND_EMAIL_ARGS] [-r REFERENCE_MSGID] [NAME]
+
+
+

tg mail调用git send-email发送邮件,参数-s用于向该命令传递参数(需要用双引号括起来)。邮件中的目的地址从patch文件头中的ToCcBcc等字段获取。参数-r引用回复邮件的id以便正确生成in-reply-to邮件头。

+

注意:此命令可能会发送多封邮件,可以通过如下设置在调用git send-email命令发送邮件时进行确认。

+
git config sendemail.confirm always
+
+
+
+
+

4.3.4.16. tg graph命令

+

tg graph命令并非官方提供的命令,而是源自一个补丁,实现文本方式的Topgit分支图。当然这个文本分支图没有tg summary –graphviz生成的那么漂亮。

+
+
+
+

4.3.5. Topgit hacks

+

在Topgit的使用中陆续发现一些不合用的地方,于是便使用Topgit特性分支的方式来改进Topgit自身的代码。在群英汇博客上,介绍了这几个改进,参见:http://blog.ossxp.com/tag/topgit/

+

下面就以此为例,介绍如何参与一个Topgit管理下的项目的开发。改进的Topgit版本库地址为:git://github.com/ossxp-com/topgit.git。

+

首先克隆该版本库。

+
$ git clone git://github.com/ossxp-com/topgit.git
+$ cd topgit
+
+
+

查看远程分支。

+
$ git branch -r
+origin/HEAD -> origin/master
+origin/master
+origin/t/debian_locations
+origin/t/export_quilt_all
+origin/t/fast_tg_summary
+origin/t/graphviz_layout
+origin/t/tg_completion_bugfix
+origin/t/tg_graph_ascii_output
+origin/t/tg_patch_cdup
+origin/t/tg_push_all
+origin/tgmaster
+
+
+

看到远程分支中出现了熟悉的以t/为前缀的Topgit分支,说明这个版本库是一个Topgit管理的定制开发版本库。那么为了能够获取Topgit的变基跟踪分支,需要用tg remote命令对缺省的origin远程版本库注册一下。

+
$ tg remote --populate origin
+tg: Remote origin can now follow TopGit topic branches.
+tg: Populating local topic branches from remote 'origin'...
+From git://github.com/ossxp-com/topgit
+ * [new branch]      refs/top-bases/t/debian_locations -> origin/top-bases/t/debian_locations
+ * [new branch]      refs/top-bases/t/export_quilt_all -> origin/top-bases/t/export_quilt_all
+ * [new branch]      refs/top-bases/t/fast_tg_summary -> origin/top-bases/t/fast_tg_summary
+ * [new branch]      refs/top-bases/t/graphviz_layout -> origin/top-bases/t/graphviz_layout
+ * [new branch]      refs/top-bases/t/tg_completion_bugfix -> origin/top-bases/t/tg_completion_bugfix
+ * [new branch]      refs/top-bases/t/tg_graph_ascii_output -> origin/top-bases/t/tg_graph_ascii_output
+ * [new branch]      refs/top-bases/t/tg_patch_cdup -> origin/top-bases/t/tg_patch_cdup
+ * [new branch]      refs/top-bases/t/tg_push_all -> origin/top-bases/t/tg_push_all
+tg: Adding branch t/debian_locations...
+tg: Adding branch t/export_quilt_all...
+tg: Adding branch t/fast_tg_summary...
+tg: Adding branch t/graphviz_layout...
+tg: Adding branch t/tg_completion_bugfix...
+tg: Adding branch t/tg_graph_ascii_output...
+tg: Adding branch t/tg_patch_cdup...
+tg: Adding branch t/tg_push_all...
+tg: The remote 'origin' is now the default source of topic branches.
+
+
+

执行tg summary看一下本地Topgit特性分支状态。

+
$ tg summary
+  r  !  t/debian_locations              [PATCH] make file locations Debian-compatible
+  r  !  t/export_quilt_all              [PATCH] t/export_quilt_all
+  r  !  t/fast_tg_summary               [PATCH] t/fast_tg_summary
+  r  !  t/graphviz_layout               [PATCH] t/graphviz_layout
+  r  !  t/tg_completion_bugfix          [PATCH] t/tg_completion_bugfix
+  r     t/tg_graph_ascii_output         [PATCH] t/tg_graph_ascii_output
+  r  !  t/tg_patch_cdup                 [PATCH] t/tg_patch_cdup
+  r  !  t/tg_push_all                   [PATCH] t/tg_push_all
+
+
+

怎么?出现了感叹号?记得前面在介绍tg summary命令的章节中提到过,感叹号的出现说明该特性分支依赖的分支丢失。用tg info查看一下某个特性分支。

+
$ tg info t/export_quilt_all
+Topic Branch: t/export_quilt_all (6/4 commits)
+Subject: [PATCH] t/export_quilt_all
+Base: 8b0f1f9
+Remote Mate: origin/t/export_quilt_all
+Depends: tgmaster
+MISSING: tgmaster
+Up-to-date.
+
+
+

原来该特性分支依赖tgmaster分支,而不是master分支。远程存在tgmaster分支而本地尚不存在。于是在本地建立tgmaster跟踪分支。

+
$ git checkout tgmaster
+Branch tgmaster set up to track remote branch tgmaster from origin.
+Switched to a new branch 'tgmaster'
+
+
+

这回tg summary的输出正常了。

+
$ tg summary
+  r     t/debian_locations              [PATCH] make file locations Debian-compatible
+  r     t/export_quilt_all              [PATCH] t/export_quilt_all
+  r     t/fast_tg_summary               [PATCH] t/fast_tg_summary
+  r     t/graphviz_layout               [PATCH] t/graphviz_layout
+  r     t/tg_completion_bugfix          [PATCH] t/tg_completion_bugfix
+  r     t/tg_graph_ascii_output         [PATCH] t/tg_graph_ascii_output
+  r     t/tg_patch_cdup                 [PATCH] t/tg_patch_cdup
+  r     t/tg_push_all                   [PATCH] t/tg_push_all
+
+
+

通过下面命令创建图形化的分支图。

+
$ tg summary --graphviz | dot -T png -o topgit.png
+
+
+

生成的特性分支关系图如图22-5所示。

+
+../images/topgit-hacks.png +

图22-5:Topgit改进项目的特性分支依赖关系图

+
+

其中:

+
    +
  • 特性分支t/export_quilt_all,为tg export –quilt命令增加--all选项,以便导出所有特性分支。
  • +
  • 特性分支t/fast_tg_summary,主要是改进tg命令补齐时分支的显示速度,当特性分支接近上百个时差异非常明显。
  • +
  • 特性分支t/graphviz_layout,改进了分支的图形输出格式。
  • +
  • 特性分支t/tg_completion_bugfix,解决了命令补齐的一个 Bug。
  • +
  • 特性分支t/tg_graph_ascii_output,源自Bert Wesarg的贡献,非常巧妙地实现了文本化的分支图显示,展示了gvpr命令的强大功能。
  • +
  • 特性分支t/tg_patch_cdup,解决了在项目的子目录下无法执行tg patch的问题。
  • +
  • 特性分支t/tg_push_all,通过为tg push增加--all选项,解决了当tg从0.7升级到0.8后,无法批量向上游推送特性分支的问题。
  • +
+

下面展示一下如何跟踪上游的最新改动,并迁移到新的上游版本。分支tgmaster用于跟踪上游的Topgit分支,以t/开头的分支是对Topgit改进的特性分支,而master分支实际上是导出Topgit补丁文件并负责编译特定Linux平台发行包的分支。

+

把官方的Topgit分支以upstream的名称加入为新的远程版本库。

+
$ git remote add upstream git://repo.or.cz/topgit.git
+
+
+

然后将upstream远程版本的master分支合并到本地的tgmaster分支。

+
$ git pull upstream master:tgmaster
+From git://repo.or.cz/topgit
+   29ab4cf..8b0f1f9  master     -> tgmaster
+
+
+

此时再执行tg summary会发现所有的Topgit分支都多了一个标记“D”,表明因为依赖分支的更新导致Topgit特性分支过时了。

+
$ tg summary
+  r D   t/debian_locations              [PATCH] make file locations Debian-compatible
+  r D   t/export_quilt_all              [PATCH] t/export_quilt_all
+  r D   t/fast_tg_summary               [PATCH] t/fast_tg_summary
+  r D   t/graphviz_layout               [PATCH] t/graphviz_layout
+  r D   t/tg_completion_bugfix          [PATCH] t/tg_completion_bugfix
+  r D   t/tg_graph_ascii_output         [PATCH] t/tg_graph_ascii_output
+  r D   t/tg_patch_cdup                 [PATCH] t/tg_patch_cdup
+  r D   t/tg_push_all                   [PATCH] t/tg_push_all
+
+
+

依次对各个分支执行tg update,完成对更新的依赖分支的合并。

+
$ tg update t/export_quilt_all
+...
+
+
+

对各个分支完成更新后,会发现tg summary的输出中,标识过时的“D”标记变为“L”,即本地比远程服务器分支要新。

+
$ tg summary
+  rL    t/debian_locations              [PATCH] make file locations Debian-compatible
+  rL    t/export_quilt_all              [PATCH] t/export_quilt_all
+  rL    t/fast_tg_summary               [PATCH] t/fast_tg_summary
+  rL    t/graphviz_layout               [PATCH] t/graphviz_layout
+  rL    t/tg_completion_bugfix          [PATCH] t/tg_completion_bugfix
+  rL    t/tg_graph_ascii_output         [PATCH] t/tg_graph_ascii_output
+  rL    t/tg_patch_cdup                 [PATCH] t/tg_patch_cdup
+  rL    t/tg_push_all                   [PATCH] t/tg_push_all
+
+
+

执行tg push –all就可以实现将所有Topgit特性分支推送到远程服务器上。当然需要具有提交权限才可以。

+
+
+

4.3.6. Topgit使用中的注意事项

+

经常运行:command:`tg remote –populate`获取他人创建的特性分支

+

运行命令git fetch origin和远程版本库(origin)同步,只能将他人创建的Topgit特性分支在本地以refs/remotes/origin/t/<branch-name>的名称保存,而不能自动在本地建立分支。

+

当版本库是使用Topgit维护的话,应该在和远程版本库同步的时候使用执行tg remote –populate origin。这条命令会做两件事情:

+
    +
  • 自动调用git fetch origin获取远程origin版本库的新的提交和引用。
  • +
  • 检查refs/remotes/origin/top-bases/下的所有引用,如果是新的、在本地(refs/top-bases/)尚不存在,说明有其他人创建了新的特性分支。Topgit会据此自动的在本地创建新的特性分支。
  • +
+

适时的调整特性分支的依赖关系

+

例如前面示例的Topgit库的依赖关系,各个分支可能的依赖文件内容如下。

+
    +
  • 分支t/feature1.topdeps文件

    +
    master
    +
    +
    +
  • +
  • 分支t/feature2.topdeps文件

    +
    master
    +
    +
    +
  • +
  • 分支t/feature3.topdeps文件

    +
    t/feature1
    +t/feature2
    +
    +
    +
  • +
+

如果分支t/feature3.topdeps文件是这样的,可能就会存在问题。

+
+
master
+t/feature1
+t/feature2
+
+
+
+

问题出在t/feature3依赖的其他分支已经依赖了master分支。虽然不会造成致命的影响,但是在特定情况下这种重复会造成不便。例如在master分支更新后,可能由于代码重构的比较厉害,在特性分支迁移时会造成冲突,如在t/feature1分支执行tg update会遇到冲突,当辛苦完成冲突解决并提交后,在t/feature3执行tg update时因为先依赖的是master分支,会先在master分支上对t/feature3分支进行变基,肯定会遇到和t/feature1相同的冲突,还要再重复地解决一次。

+

如果在.topdeps文件中将对master分支的重复的依赖删除,就不会出现上面的重复进行冲突解决的问题了。

+

同样的道理,如果t/feature3.topdeps文件写成这样,效果也将不同:

+
+
t/feature2
+t/feature1
+
+
+
+

依赖的顺序不同会造成变基的顺序也不同,同样也会产生重复的冲突解决。因此当发现重复的冲突时,可以取消变基操作,修改特性分支的.topdeps文件,调整文件内容(删除重复分支,调整分支顺序)并提交,然后在执行tg update继续变基操作。

+

Topgit特性分支的里程碑和分支管理

+

Topgit本身就是对特性分支进行管理的软件。Topgit的某个时刻的开发状态是所有Topgit管理下的分支(包括跟踪分支)整体的状态。如果需要对Topgit所有相关的分支进行跟踪管理该如何实现呢?

+

例如master主线由于提交了上游的新版本而改动,在对各个Topgit特性分支执行tg update时,搞的一团糟,而又不小心执行了tg push –all,这下无论本地和远程都处于混乱的状态。

+

使用里程碑(tags)来管理是不可能的,因为tag只能针对一个分支做标记而不能标记所有的分支。

+

使用克隆是唯一的方法。即针对不同的上游建立不同的Git库,通过不同的克隆实现针对不同上游版本特性分支开发的管理。例如一旦上游出现新版本,就从当前版本库建立一个克隆,或者用于保存当前上游版本的特性开发状态,或者用于新的上游版本的特性开发。

+

也许还可以通过其他方法实现,例如将Topgit所有相关分支都复制到一个特定的引用目录中,如refs/top-tags/v1.0/用于实现特性分支的里程碑记录。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/040-submodule-model.html b/04-git-model/040-submodule-model.html new file mode 100644 index 000000000..91bd6f1c3 --- /dev/null +++ b/04-git-model/040-submodule-model.html @@ -0,0 +1,636 @@ + + + + + + + + + 4.4. 子模组协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

4.3. Topgit协同模型

+

下一个主题

+

4.5. 子树合并

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

4.4. 子模组协同模型

+

项目的版本库某些情况下需要引用其他版本库中的文件,例如公司积累了一套常用的函数库,被多个项目调用,显然这个函数库的代码不能直接放到某个项目的代码中,而是要独立为一个代码库,那么其他项目要调用公共的函数库,该如何处理呢?分别把公共函数库的文件拷贝到各自的项目中,会造成冗余,丢弃了公共函数库的维护历史,显然不是好的方法。本节要讨论的子模组协同模型,就是解决这个问题的一个方案。

+

熟悉Subversion的用户马上会想起svn:externals属性,可以实现对外部代码库的引用。Git的子模组(submodule)是类似的一种实现。不过因为Git的特殊性,二者的区别还是满大的。参见表23-1。

+
+

表23-1:SVN和Git相似功能对照表

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
 svn:externalsgit submodule
如何记录外部版本库地址?目录的svn:externals属性项目根目录下的.gitmodules文件
缺省是否自动检出外部版本库?是。在使用svn checkout检出时若使用参数--ignore-externals可以忽略对外部版本库引用不检出。否。缺省不克隆外部版本库。 +克隆要用git submodule initgit submodule update命令。
是否能部分引用外部版本库内容?是。因为SVN支持部分检出。否。必须克隆整个外部版本库。
是否可以指向分支而随之改变?是。否。固定于外部版本库某个提交。
+
+
+

4.4.1. 创建子模组

+

在演示子模组的创建和使用之前,先作些准备工作。先尝试建立两个公共函数库(libA.gitlibB.git)以及一个引用函数库的主版本库(super.git)。

+
$ git --git-dir=/path/to/repos/libA.git init --bare
+$ git --git-dir=/path/to/repos/libB.git init --bare
+$ git --git-dir=/path/to/repos/super.git init --bare
+
+
+

向两个公共的函数库中填充些数据。这就需要在工作区克隆两个函数库,提交数据,并推送。

+
    +
  • 克隆libA.git版本库,添加一些数据,然后提交并推送。

    +

    说明:示例中显示为hack...的地方,做一些改动(如创建新文件等),并将改动添加到暂存区。

    +
    $ git clone /path/to/repos/libA.git /path/to/my/workspace/libA
    +$ cd /path/to/my/workspace/libA
    +hack ...
    +$ git commit -m "add data for libA"
    +$ git push origin master
    +
    +
    +
  • +
  • 克隆libB.git版本库,添加一些数据,然后提交并推送。

    +
    $ git clone /path/to/repos/libB.git /path/to/my/workspace/libB
    +$ cd /path/to/my/workspace/libB
    +hack ...
    +$ git commit -m "add data for libB"
    +$ git push origin master
    +
    +
    +
  • +
+

版本库super是准备在其中创建子模组的。super版本库刚刚初始化还未包含提交,master分支尚未有正确的引用。需要在super版本中至少创建一个提交。下面就克隆super版本库,在其中完成一个提交(空提交即可),并推送。

+
$ git clone /path/to/repos/super.git /path/to/my/workspace/super
+$ cd /path/to/my/workspace/super
+$ git commit --allow-empty -m "initialized."
+$ git push origin master
+
+
+

现在就可以在super版本库中使用git submodule add命令添加子模组了。

+
$ git submodule add /path/to/repos/libA.git lib/lib_a
+$ git submodule add /path/to/repos/libB.git lib/lib_b
+
+
+

至此看一下super版本库工作区的目录结构。在根目录下多了一个.gitmodules文件,并且两个函数库分别克隆到lib/lib_a目录和lib/lib_b目录下。

+
$ ls -aF
+./  ../  .git/  .gitmodules  lib/
+
+
+

看看.gitmodules的内容:

+
$ cat .gitmodules
+[submodule "lib/lib_a"]
+        path = lib/lib_a
+        url = /path/to/repos/libA.git
+[submodule "lib/lib_b"]
+        path = lib/lib_b
+        url = /path/to/repos/libB.git
+
+
+

此时super的工作区尚未提交。

+
$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   .gitmodules
+#       new file:   lib/lib_a
+#       new file:   lib/lib_b
+#
+
+
+

完成提交之后,子模组才算正式在super版本库中创立。运行git push把建立了新模组的本地库推送到远程的版本库。

+
$ git commit -m "add modules in lib/lib_a and lib/lib_b."
+$ git push
+
+
+

在提交过程中,发现作为子模组方式添加的版本库实际上并没有添加版本库的内容。实际上只是以gitlink方式[1]添加了一个链接。至于子模组的实际地址,是由文件.gitmodules中指定的。

+

可以通过查看补丁的方式,看到lib/lib_alib/lib_b子模组的存在方式(即gitlink)。

+
$ git show HEAD
+
+commit 19bb54239dd7c11151e0dcb8b9389e146f055ba9
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Fri Oct 29 10:16:59 2010 +0800
+
+    add modules in lib/lib_a and lib/lib_b.
+
+diff --git a/.gitmodules b/.gitmodules
+new file mode 100644
+index 0000000..60c7d1f
+--- /dev/null
++++ b/.gitmodules
+@@ -0,0 +1,6 @@
++[submodule "lib/lib_a"]
++       path = lib/lib_a
++       url = /path/to/repos/libA.git
++[submodule "lib/lib_b"]
++       path = lib/lib_b
++       url = /path/to/repos/libB.git
+diff --git a/lib/lib_a b/lib/lib_a
+new file mode 160000
+index 0000000..126b181
+--- /dev/null
++++ b/lib/lib_a
+@@ -0,0 +1 @@
++Subproject commit 126b18153583d9bee4562f9af6b9706d2e104016
+diff --git a/lib/lib_b b/lib/lib_b
+new file mode 160000
+index 0000000..3b52a71
+--- /dev/null
++++ b/lib/lib_b
+@@ -0,0 +1 @@
++Subproject commit 3b52a710068edc070e3a386a6efcbdf28bf1bed5
+
+
+
+
+

4.4.2. 克隆带子模组的版本库

+

之前的表23-1在对比Subversion的svn:externals子模组实现差异时,提到过克隆带子模组的Git库,并不能自动将子模组的版本库克隆出来。对于只关心项目本身数据,对项目引用的外部项目数据并不关心的用户,这个功能非常好,数据也没有冗余而且克隆的速度也更块。

+

下面在另外的位置克隆super版本库,会发现lib/lib_alib/lib_b并未克隆。

+
$ git clone /path/to/repos/super.git /path/to/my/workspace/super-clone
+$ cd /path/to/my/workspace/super-clone
+$ ls -aF
+./  ../  .git/  .gitmodules  lib/
+$ find lib
+lib
+lib/lib_a
+lib/lib_b
+
+
+

这时如果运行git submodule status可以查看到子模组状态。

+
$ git submodule status
+-126b18153583d9bee4562f9af6b9706d2e104016 lib/lib_a
+-3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b
+
+
+

看到每个子模组的目录前面是40位的提交ID,在最前面是一个减号。减号的含义是该子模组尚为检出。

+

如果需要克隆出子模组型式引用的外部库,首先需要先执行git submodule init

+
$ git submodule init
+Submodule 'lib/lib_a' (/path/to/repos/libA.git) registered for path 'lib/lib_a'
+Submodule 'lib/lib_b' (/path/to/repos/libB.git) registered for path 'lib/lib_b'
+
+
+

执行git submodule init实际上修改了.git/config文件,对子模组进行了注册。文件.git/config的修改示例如下(以加号开始的行代表新增的行)。

+
 [core]
+         repositoryformatversion = 0
+         filemode = true
+         bare = false
+         logallrefupdates = true
+ [remote "origin"]
+         fetch = +refs/heads/*:refs/remotes/origin/*
+         url = /path/to/repos/super.git
+ [branch "master"]
+         remote = origin
+         merge = refs/heads/master
++[submodule "lib/lib_a"]
++       url = /path/to/repos/libA.git
++[submodule "lib/lib_b"]
++       url = /path/to/repos/libB.git
+
+
+

然后执行git submodule update才完成子模组版本库的克隆。

+
$ git submodule update
+Initialized empty Git repository in /path/to/my/workspace/super-clone/lib/lib_a/.git/
+Submodule path 'lib/lib_a': checked out '126b18153583d9bee4562f9af6b9706d2e104016'
+Initialized empty Git repository in /path/to/my/workspace/super-clone/lib/lib_b/.git/
+Submodule path 'lib/lib_b': checked out '3b52a710068edc070e3a386a6efcbdf28bf1bed5'
+
+
+
+
+

4.4.3. 在子模组中修改和子模组的更新

+

执行git submodule update更新出来的子模组,都以某个具体的提交版本进行检出。进入某个子模组目录,会发现其处于非跟踪状态(分离头指针状态)。

+
$ cd /path/to/my/workspace/super-clone/lib/lib_a
+$ git branch
+* (no branch)
+  master
+
+
+

显然这种情况下,如果修改lib/lib_a下的文件,提交会丢失。下面介绍一下如何在检出的子模组中修改,以及更新子模组。

+

在子模组中切换到master分支(或其他想要修改的分支)后,再进行修改。

+
    +
  • 切换到master分支,然后在工作区做一些改动。

    +
    $ cd /path/to/my/workspace/super-clone/lib/lib_a
    +$ git checkout master
    +hack ...
    +
    +
    +
  • +
  • 执行提交。

    +
    $ git commit
    +
    +
    +
  • +
  • 查看状态,会看到相对于远程分支领先一个提交。

    +
    $ git status
    +# On branch master
    +# Your branch is ahead of 'origin/master' by 1 commit.
    +#
    +nothing to commit (working directory clean)
    +
    +
    +
  • +
+

git status的状态输出中,可以看出新提交尚未推送到远程版本库。现在暂时不推送,看看在super版本库中执行git submodule update对子模组的影响。

+
    +
  • 先到super-clone版本库查看一下状态,可以看到子模组已修改,包含更新的提交。

    +
    $ cd /path/to/my/workspace/super-clone/
    +$ git status
    +# On branch master
    +# Changed but not updated:
    +#   (use "git add <file>..." to update what will be committed)
    +#   (use "git checkout -- <file>..." to discard changes in working directory)
    +#
    +#       modified:   lib/lib_a (new commits)
    +#
    +no changes added to commit (use "git add" and/or "git commit -a")
    +
    +
    +
  • +
  • 通过git submodule stauts命令可以看出lib/lib_a子模组指向了新的提交ID(前面有一个加号),而lib/lib_b模组状态正常(提交ID前是一个空格,不是加号也不是减号)。

    +
    $ git submodule status
    ++5dea2693e5574a6e3b3a59c6b0c68cb08b2c07e9 lib/lib_a (heads/master)
    + 3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b (heads/master)
    +
    +
    +
  • +
  • 这时如果不小心执行了一次git submodule update命令,会将lib/lib_a重新切换到旧的指向。

    +
    $ git submodule update
    +Submodule path 'lib/lib_a': checked out '126b18153583d9bee4562f9af6b9706d2e104016'
    +
    +
    +
  • +
  • 执行git submodule status命令查看子模组状态,看到lib/lib_a子模组被重置了。

    +
    $ git submodule status
    + 126b18153583d9bee4562f9af6b9706d2e104016 lib/lib_a (remotes/origin/HEAD)
    + 3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b (heads/master)
    +
    +
    +
  • +
+

那么刚才在lib/lib_a中的提交丢失了么?实际上因为已经提交到了master主线,因此提交没有丢失,但是如果有数据没有提交,就会造成未提交数据的丢失。

+
    +
  • 进到lib/lib_a目录,看到工作区再一次进入分离头指针状态。

    +
    $ cd lib/lib_a
    +$ git branch
    +* (no branch)
    +  master
    +
    +
    +
  • +
  • 重新检出master分支找回之前的提交。

    +
    $ git checkout master
    +Previous HEAD position was 126b181... add data for libA
    +Switched to branch 'master'
    +Your branch is ahead of 'origin/master' by 1 commit.
    +
    +
    +
  • +
+

现在如果要将lib/lib_a目录下子模组的改动记录到父项目(super版本库)中,就需要在父项目中进行一次提交才能实现。

+
    +
  • 进入父项目根目录,查看状态。因为lib/lib_a的提交已经恢复,因此再次显示为有改动。

    +
    $ cd /path/to/my/workspace/super-clone/
    +$ git status -s
    + M lib/lib_a
    +
    +
    +
  • +
  • 查看差异比较,会看到指向子模组的gitlink有改动。

    +
    $ git diff
    +diff --git a/lib/lib_a b/lib/lib_a
    +index 126b181..5dea269 160000
    +--- a/lib/lib_a
    ++++ b/lib/lib_a
    +@@ -1 +1 @@
    +-Subproject commit 126b18153583d9bee4562f9af6b9706d2e104016
    ++Subproject commit 5dea2693e5574a6e3b3a59c6b0c68cb08b2c07e9
    +
    +
    +
  • +
  • 将gitlink的改动添加到暂存区,然后提交。

    +
    $ git add -u
    +$ git commit -m "submodule lib/lib_a upgrade to new version."
    +
    +
    +
  • +
+

此时先不要忙着推送,因为如果此时执行git pushsuper版本库推送到远程版本库,会引发一个问题。即推送后的远程super版本库的子模组lib/lib_a指向了一个新的提交,而该提交还在本地的lib/lib_a版本库(尚未向上游推送),这会导致其他人克隆super版本库、更新模组时因为找不到该子模组版本库相应的提交而导致出错。下面就是这类错误的错误信息:

+
fatal: reference is not a tree: 5dea2693e5574a6e3b3a59c6b0c68cb08b2c07e9
+Unable to checkout '5dea2693e5574a6e3b3a59c6b0c68cb08b2c07e9' in submodule path 'lib/lib_a'
+
+
+

为了避免这种可能性的发生,最好先对lib/lib_a中的新提交进行推送,然后再对super的子模组更新的提交进行推送。即:

+
    +
  • 先推送子模组。

    +
    $ cd /path/to/my/workspace/super-clone/lib/lib_a
    +$ git push
    +
    +
    +
  • +
  • 再推送父版本库。

    +
    $ cd /path/to/my/workspace/super-clone/
    +$ git push
    +
    +
    +
  • +
+
+
+

4.4.4. 隐性子模组

+

我在开发备份工具Gistore时遇到一个棘手的问题就是隐性子模组的问题。Gistore备份工具的原理是将要备份的目录都挂载(mount)在工作区中,然后执行git add。但是如果有某个目录已经被Git化了,就只会以子模组方式将该目录添加进来,而不会添加该目录下的文件。对于一个备份工具来说,意味着备份没有成功。

+

例如当前super版本库下有两个子模组:

+
$ cd /path/to/my/workspace/super-clone/
+$ git submodule status
+ 126b18153583d9bee4562f9af6b9706d2e104016 lib/lib_a (remotes/origin/HEAD)
+ 3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b (heads/master)
+
+
+

然后创建一个新目录others,并把该目录用git初始化并做一次空的提交。

+
$ mkdir others
+$ cd others
+$ git init
+$ git commit --allow-empty -m initial
+[master (root-commit) 90364e1] initial
+
+
+

others目录下创建一个文件newfile

+
$ date > newfile
+
+
+

回到上一级目录,执行git status,看到有一个others目录没有加入版本库控制,这很自然。

+
$ cd ..
+$ git status
+# On branch master
+# Untracked files:
+#   (use "git add <file>..." to include in what will be committed)
+#
+#       others/
+nothing added to commit but untracked files present (use "git add" to track)
+
+
+

但是如果对others目录执行git add后,会发现奇怪的状态。

+
$ git add others
+$ git status
+# On branch master
+# Changes to be committed:
+#   (use "git reset HEAD <file>..." to unstage)
+#
+#       new file:   others
+#
+# Changed but not updated:
+#   (use "git add <file>..." to update what will be committed)
+#   (use "git checkout -- <file>..." to discard changes in working directory)
+#   (commit or discard the untracked or modified content in submodules)
+#
+#       modified:   others (untracked content)
+#
+
+
+

看看others目录的添加方式,就会发现others目录以gitlink方式添加到版本库中,而没有把该目录下的文件添加到版本库。

+
$ git diff --cached
+diff --git a/others b/others
+new file mode 160000
+index 0000000..90364e1
+--- /dev/null
++++ b/others
+@@ -0,0 +1 @@
++Subproject commit 90364e1331abc29cc63e994b4d2cfbf7c485e4ad
+
+
+

之所以git status的显示中others出现两次,就是因为目录others被当做子模组添加到父版本库中。因为others版本库本身“不干净”,存在尚未加入版本控制的文件,所以又在状态输出中显示子模组包含改动的提示信息。

+

执行提交,将others目录提交到版本库中。

+
$ git commit -m "add others as submodule."
+
+
+

执行git submoudle status命令,会报错。因为others作为子模组,没有在.gitmodules文件中注册。

+
$ git submodule status
+ 126b18153583d9bee4562f9af6b9706d2e104016 lib/lib_a (remotes/origin/HEAD)
+ 3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b (heads/master)
+No submodule mapping found in .gitmodules for path 'others'
+
+
+

那么如何在不破坏others版本库的前提下,把others目录下的文件加入版本库呢?即避免others以子模组形式添加入库。

+
    +
  • 先删除以gitlink形式入库的others子模组。

    +
    $ git rm --cached others
    +rm 'others'
    +
    +
    +
  • +
  • 查看当前状态。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       deleted:    others
    +#
    +# Untracked files:
    +#   (use "git add <file>..." to include in what will be committed)
    +#
    +#       others/
    +
    +
    +
  • +
  • 重新添加others目录,注意目录后面的斜线(即路径分隔符)非常重要。

    +
    $ git add others/
    +
    +
    +
  • +
  • 再次查看状态,看到others下的文件被添加到super版本库中。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       deleted:    others
    +#       new file:   others/newfile
    +#
    +
    +
    +
  • +
  • 执行提交。

    +
    $ git commit -m "add contents in others/."
    +[master 1e0c418] add contents in others/.
    + 2 files changed, 1 insertions(+), 1 deletions(-)
    + delete mode 160000 others
    + create mode 100644 others/newfile
    +
    +
    +
  • +
+

在上面的操作过程中,首先先删除了在库中的others子模组(使用--cached参数执行删除);然后为了添加others目录下的文件,使用了others/(注意others后面的路径分割符“/”)。现在查看一下子模组的状态,会看到只有之前的两个子模组显示出来。

+
$ git submodule status
+ 126b18153583d9bee4562f9af6b9706d2e104016 lib/lib_a (remotes/origin/HEAD)
+ 3b52a710068edc070e3a386a6efcbdf28bf1bed5 lib/lib_b (heads/master)
+
+
+
+
+

4.4.5. 子模组的管理问题

+

子模组最主要的一个问题是不能基于外部版本库的某一个分支进行创建,使得更新后,子模组处于非跟踪状态,不便于在子模组中进行对外部版本库进行改动。尤其对于授权或其他原因将一个版本库拆分为子模组后,使用和管理非常不方便。在第25章“Android式多版本库协同”可以看到管理多版本库的另外一个可行方案。

+

如果在局域网内维护的版本库所引用的子模组版本库在另外的服务器,甚至在互联网上,克隆子版本库就要浪费很多时间。而且如果子模组指向的版本库不在我们的掌控之内,一旦需要对其进行定制会因为提交无法向远程服务器推送而无法实现。在下一章即第24章“子树合并”中,会给出针对这个问题的解决方案。

+
+ + + + + +
[1]gitlink:
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/050-subtree-model.html b/04-git-model/050-subtree-model.html new file mode 100644 index 000000000..983fe066e --- /dev/null +++ b/04-git-model/050-subtree-model.html @@ -0,0 +1,509 @@ + + + + + + + + + 4.5. 子树合并 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

4.5. 子树合并

+

使用子树合并,同样可以实现在一个项目中引用其他项目的数据。但是和子模组方式不同的是,使用子树合并模式,外部的版本库整个复制到本版本库中并建立跟踪关联。使用子树合并模型,使得对源自外部版本库的数据的访问和本版本库数据的访问没有区别,也可以对其进行本地修改,并且能够以子树合并的方式将源自外部版本库的改动和本地的修改相合并。

+
+

4.5.1. 引入外部版本库

+

为演示子树合并,需要至少准备两个版本库,一个是将被作为子目录引入的版本库util.git,另外一个是主版本库main.git

+
$ git --git-dir=/path/to/repos/util.git init --bare
+$ git --git-dir=/path/to/repos/main.git init --bare
+
+
+

在本地检出这两个版本库:

+
$ git clone /path/to/repos/util.git
+$ git clone /path/to/repos/main.git
+
+
+

需要为这两个空版本库添加些数据。非常简单,每个版本库下只创建两个文件:Makefileversion。当执行make命令时显示 version 文件的内容。对version文件多次提交以建立多个提交历史。别忘记在最后使用git push origin master将版本库推送到远程版本库中。

+

Makefile文件示例如下。注意第二行前面的空白是<TAB>字符,而非空格。

+
all:
+        @cat version
+
+
+

在之前尝试的git fetch命令都是获取同一项目的版本库的内容。其实命令git fetch从哪个项目获取数据并没有什么限制,因为Git的版本库不像Subversion那样用一个唯一的UUID标识让Subversion的版本库之间势同水火。当然也可以用git pull来获取其他版本库中的提交,但是那样将把两个项目的文件彻底混杂在一起。对于这个示例来说,因为两个项目具有同样的文件Makefileversion,使用git pull将导致冲突。所以为了将不同项目的版本库引入,并在稍候以子树合并方式添加到一个子目录中,需要用git fetch命令从其他版本库获取数据。

+
    +
  • 为了便于以后对外部版本库的跟踪,在使用git fetch前,先在main版本库中注册远程版本库util.git

    +
    $ git remote add util /path/to/repos/util.git
    +
    +
    +
  • +
  • 查看注册的远程版本库。

    +
    $ git remote -v
    +origin  /path/to/repos/main.git/ (fetch)
    +origin  /path/to/repos/main.git/ (push)
    +util    /path/to/repos/util.git (fetch)
    +util    /path/to/repos/util.git (push)
    +
    +
    +
  • +
  • 执行git fetch命令获取util.git版本库的提交。

    +
    $ git fetch util
    +
    +
    +
  • +
  • 查看分支,包括远程分支。

    +
    $ git branch -a
    +* master
    +  remotes/origin/master
    +  remotes/util/master
    +
    +
    +
  • +
+

在不同的分支:master分支和remotes/util/master分支,文件version的内容并不相同,因为来自不同的上游版本库。

+
    +
  • master分支中执行make命令,显示的是main.git版本库中version文件的内容。

    +
    $ make
    +main v2010.1
    +
    +
    +
  • +
  • util/master远程分支创建一个本地分支util-branch,并切换分支。

    +
    $ git checkout -b util-branch util/master
    +Branch util-branch set up to track remote branch master from util.
    +Switched to a new branch 'util-branch'
    +
    +
    +
  • +
  • 执行make命令,显示的是util.git版本库中version文件的内容。

    +
    $ make
    +util v3.0
    +
    +
    +
  • +
+

像这样在main.git中引入util.git显然不能满足需要,因为在main.git的本地克隆版本库中,master分支访问不到只有在util-branch分支中才出现的util版本库数据。这就需要做进一步的工作,将两个版本库的内容合并到一个分支中。即util-branch分支的数据作为子目录加入到master分支。

+
+
+

4.5.2. 子目录方式合并外部版本库

+

下面就用git的底层命令git read-treegit write-treegit commit-tree子命令实现将util-branch分支所包含的util.git版本库的目录树以子目录(lib/)型式添加到master分支。

+

先来看看util-branch分支当前最新提交,记住最新提交所指向的目录树(tree),即tree-id:0c743e4。

+
$ git cat-file -p util-branch
+tree 0c743e49e11019678c8b345e667504cb789431ae
+parent f21f9c10cc248a4a28bf7790414baba483f1ec15
+author Jiang Xin <jiangxin@ossxp.com> 1288494998 +0800
+committer Jiang Xin <jiangxin@ossxp.com> 1288494998 +0800
+
+util v2.0 -> v3.0
+
+
+

查看tree 0c743e4所包含的内容,会看到两个文件:Makefileversion

+
$ git cat-file -p 0c743e4
+100644 blob 07263ff95b4c94275f4b4735e26ea63b57b3c9e3    Makefile
+100644 blob bebe6b10eb9622597dd2b641efe8365c3638004e    version
+
+
+

切换到master分支,如下方式调用git read-treeutil-branch分支的目录树读取到当前分支lib目录下。

+
    +
  • 切换到master分支。

    +
    $ git checkout master
    +
    +
    +
  • +
  • 执行git read-tree命令,将分支util-branch读取到当前分支的一个子目录下。

    +
    $ git read-tree --prefix=lib util-branch
    +
    +
    +
  • +
  • 调用git read-tree只是更新了index,所以查看工作区状态,会看到lib目录下的两个文件在工作区中还不存在。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       new file:   lib/Makefile
    +#       new file:   lib/version
    +#
    +# Changed but not updated:
    +#   (use "git add/rm <file>..." to update what will be committed)
    +#   (use "git checkout -- <file>..." to discard changes in working directory)
    +#
    +#       deleted:    lib/Makefile
    +#       deleted:    lib/version
    +#
    +
    +
    +
  • +
  • 执行检出命令,将lib目录下的文件更新出来。

    +
    $ git checkout -- lib
    +
    +
    +
  • +
  • 再次查看状态,会看到前面执行的git read-tree命令添加到暂存区中的文件。

    +
    $ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       new file:   lib/Makefile
    +#       new file:   lib/version
    +#
    +
    +
    +
  • +
+

现在还不能忙着提交,因为如果现在进行提交就体现不出来两个分支的合并关系。需要使用Git底层的命令进行数据提交。

+
    +
  • 调用git write-tree将暂存区的目录树保存下来。

    +

    要记住调用git write-tree后形成的新的tree-id:2153518。

    +
    $ git write-tree
    +2153518409d218609af40babededec6e8ef51616
    +
    +
    +
  • +
  • 执行git cat-file命令显示这棵树的内容,会注意到其中lib目录的tree-id和之前查看过的util-branch分支最新提交对应的tree-id一样都是0c743e4。

    +
    $ git cat-file -p 2153518409d218609af40babededec6e8ef51616
    +100644 blob 07263ff95b4c94275f4b4735e26ea63b57b3c9e3    Makefile
    +040000 tree 0c743e49e11019678c8b345e667504cb789431ae    lib
    +100644 blob 638c7b7c6bdbde1d29e0b55b165f755c8c4332b5    version
    +
    +
    +
  • +
  • 要手工创建一个合并提交,即新的提交要有两个父提交。这两个父提交分别是master分支和util-branch分支的最新提交。用下面的命令显示两个提交的提交ID,并记下这两个提交ID。

    +
    $ git rev-parse HEAD
    +911b1af2e0c95a2fc1306b8dea707064d5386c2e
    +$ git rev-parse util-branch
    +12408a149bfa78a4c2d4011f884aa2adb04f0934
    +
    +
    +
  • +
  • 执行git commit-tree命令手动创建提交。新提交的目录树来自上面git write-tree产生的目录树(tree-id为2153518),而新提交(合并提交)的两个父提交直接用上面git rev-parse显示的两个提交ID表示。

    +
    $ echo "subtree merge" | \
    +  git commit-tree 2153518409d218609af40babededec6e8ef51616 \
    +  -p 911b1af2e0c95a2fc1306b8dea707064d5386c2e \
    +  -p 12408a149bfa78a4c2d4011f884aa2adb04f0934
    +62ae6cc3f9280418bdb0fcf6c1e678905b1fe690
    +
    +
    +
  • +
  • 执行git commit-tree命令的输出是提交之后产生的新提交的提交ID。需要把当前的master分支重置到此提交ID。

    +
    $ git reset 62ae6cc3f9280418bdb0fcf6c1e678905b1fe690
    +
    +
    +
  • +
  • 查看一下提交日志及分支图,可以看到通过复杂的git read-treegit write-treegit commit-tree命令制造的合并提交,的确将两个不同版本库合并到一起了。

    +
    $ git log --graph --pretty=oneline
    +*   62ae6cc3f9280418bdb0fcf6c1e678905b1fe690 subtree merge
    +|\
    +| * 12408a149bfa78a4c2d4011f884aa2adb04f0934 util v2.0 -> v3.0
    +| * f21f9c10cc248a4a28bf7790414baba483f1ec15 util v1.0 -> v2.0
    +| * 76db0ad729db9fdc5be043f3b4ed94ddc945cd7f util v1.0
    +* 911b1af2e0c95a2fc1306b8dea707064d5386c2e main v2010.1
    +
    +
    +
  • +
  • 看看现在的master分支。

    +
    $ git cat-file -p HEAD
    +tree 2153518409d218609af40babededec6e8ef51616
    +parent 911b1af2e0c95a2fc1306b8dea707064d5386c2e
    +parent 12408a149bfa78a4c2d4011f884aa2adb04f0934
    +author Jiang Xin <jiangxin@ossxp.com> 1288498186 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1288498186 +0800
    +
    +subtree merge
    +
    +
    +
  • +
  • 看看目录树。

    +
    $ git cat-file -p 2153518409d218609af40babededec6e8ef51616
    +100644 blob 07263ff95b4c94275f4b4735e26ea63b57b3c9e3    Makefile
    +040000 tree 0c743e49e11019678c8b345e667504cb789431ae    lib
    +100644 blob 638c7b7c6bdbde1d29e0b55b165f755c8c4332b5    version
    +
    +
    +
  • +
+

整个过程非常繁琐,但是不要太过担心,只需要对原理了解清楚就可以了,因为在后面会介绍一个Git插件封装了复杂的子树合并操作。

+
+
+

4.5.3. 利用子树合并跟踪上游改动

+

如果子树(lib目录)的上游(即util.git)包含了新的提交,如何将util.git的新提交合并过来呢?这就要用到名为subtree的合并策略。参见第3篇第16章第16.6小节“合并策略”中相关内容。

+

在执行子树合并之前,先切换到util-branch分支,获取远程版本库改动。

+
$ git checkout util-branch
+
+$ git pull
+remote: Counting objects: 8, done.
+remote: Compressing objects: 100% (4/4), done.
+remote: Total 6 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (6/6), done.
+From /path/to/repos/util
+   12408a1..5aba14f  master     -> util/master
+Updating 12408a1..5aba14f
+Fast-forward
+ version |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+$ git checkout master
+
+
+

在切换回master分支后,如果这时执行git merge util-branch,会将uitl-branch的数据直接合并到master分支的根目录下,而实际上是希望合并发生在lib目录中,这就需要如下方式进行调用,以subtree策略进行合并。

+

如果Git的版本小于1.7,直接使用subtree合并策略。

+
$ git merge -s subtree util-branch
+
+
+

如果Git的版本是1.7之后(含1.7)的版本,则可以使用缺省的recursive合并策略,通过参数subtree=<prefix>在合并时使用正确的子树进行匹配合并。避免了使用subtree合并策略时的猜测。

+
$ git merge -Xsubtree=lib util-branch
+
+
+

再来看看执行子树合并之后的分支图示。

+
$ git log --graph --pretty=oneline
+*   f1a33e55eea04930a500c18a24a8bd009ecd9ac2 Merge branch 'util-branch'
+|\
+| * 5aba14fd347fc22cd8fbd086c9f26a53276f15c9 util v3.1 -> v3.2
+| * a6d53dfcf78e8a874e9132def5ef87a2b2febfa5 util v3.0 -> v3.1
+* |   62ae6cc3f9280418bdb0fcf6c1e678905b1fe690 subtree merge
+|\ \
+| |/
+| * 12408a149bfa78a4c2d4011f884aa2adb04f0934 util v2.0 -> v3.0
+| * f21f9c10cc248a4a28bf7790414baba483f1ec15 util v1.0 -> v2.0
+| * 76db0ad729db9fdc5be043f3b4ed94ddc945cd7f util v1.0
+* 911b1af2e0c95a2fc1306b8dea707064d5386c2e main v2010.1
+
+
+
+
+

4.5.4. 子树拆分

+

既然可以将一个代码库通过子树合并方式作为子目录加入到另外一个版本库中,反之也可以将一个代码库的子目录独立出来转换为另外的版本库。不过这个反向过程非常复杂。要将一个版本库的子目录作为顶级目录导出到另外的项目,潜藏的条件是要导出历史的,因为如果不关心历史,直接文件拷贝重建项目就可以了。子树拆分的大致过程是:

+
    +
  1. 找到要导出的目录的提交历史,并反向排序。
  2. +
  3. 依次对每个提交执行下面的操作:
  4. +
  5. 找出提交中导出目录对应的tree-id。
  6. +
  7. 对该tree-id执行git commit-tree
  8. +
  9. 执行git commit-tree要保持提交信息还要重新设置提交的父提交(parent)。
  10. +
+

手工执行这个操作复杂且易出错,可以用下节介绍的git subtree插件,或使用第6篇第35.4小节“Git版本库整理”中介绍的git filter-branch命令进行子目录过滤。

+
+
+

4.5.5. git subtree插件

+

Git subtree插件用shell脚本开发,安装之后为Git提供了新的git subtree命令,支持前面介绍的子树合并和子树拆分。命令非常简单易用,将其他版本库以子树形式导入,再也不必和底层的Git命令打交道了。

+

Gitsubtree 插件的作者将代码库公布在Github上:http://github.com/apenwarr/git-subtree/

+

安装Git subtree很简单:

+
$ git clone git://github.com/apenwarr/git-subtree.git
+$ cd git-subtree
+$ make doc
+$ make test
+$ sudo make install
+
+
+
+

4.5.5.1. git subtree add

+

命令git subtree add相当于将其他版本库以子树方式加入到当前版本库。用法:

+
git subtree add [--squash] -P <prefix> <commit>
+git subtree add [--squash] -P <prefix> <repository> <refspec>
+
+
+

其中可选的--squash含义为压缩为一个版本后再添加。

+

对于文章中的示例,为了将util.git合并到main.gitlib目录。可以直接这样调用:

+
$ git subtree add -P lib /path/to/repos/util.git master
+
+
+

不过推荐的方法还是先在本地建立util.git版本库的追踪分支。

+
$ git remote add util /path/to/repos/util.git
+$ git fetch util
+$ git checkout -b util-branch util/master
+$ git subtree add -P lib util-branch
+
+
+
+
+

4.5.5.2. git subtree merge

+

命令git subtree merge相当于将子树对应的远程分支的更新重新合并到子树中,相当于完成了git merge -s subtree操作。用法:

+
git subtree merge [--squash] -P <prefix> <commit>
+
+
+

其中可选的--squash含义为压缩为一个版本后再合并。

+

对于文章中的示例,为了将util-branch分支包含的上游最新改动合并到master分支的lib目录。可以直接这样调用:

+
$ git subtree merge -P lib util-branch
+
+
+
+
+

4.5.5.3. git subtree pull

+

命令git subtree pull相当于先对子树对应的远程版本库执行一次git fetch操作,然后再执行git subtree merge。用法:

+
git subtree pull [--squash] -P <prefix> <repository> <refspec...>
+
+
+

对于文章中的示例,为了将util.git版本库的master分支包含的最新改动合并到master分支的lib目录。可以直接这样调用:

+
$ git subtree pull -P lib /path/to/repos/util.git master
+
+
+

更喜欢用前面介绍的git subtree merge命令,因为git subtree pull存在版本库地址写错的风险。

+
+
+

4.5.5.4. git subtree split

+

命令git subtree split相当将目录拆分为独立的分支,即子树拆分。拆分后形成的分支可以通过推送到新的版本库实现原版本库的目录独立为一个新的版本库。用法:

+
git subtree split -P <prefix> [--branch <branch>] [--onto ...] [--ignore-joins] [--rejoin] <commit...>
+
+
+

说明:

+
    +
  • 该命令的总是输出子树拆分后的最后一个commit-id。这样可以通过管道方式传递给其他命令,如git subtree push命令。
  • +
  • 参数--branch提供拆分后创建的分支名称。如果不提供,只能通过git subtree split命令提供的提交ID得到拆分的结果。
  • +
  • 参数--onto参数将目录拆分附加于已经存在的提交上。
  • +
  • 参数--ignore-joins忽略对之前拆分历史的检查。
  • +
  • 参数--rejoin会将拆分结果合并到当前分支,因为采用ours的合并策略,不会破坏当前分支。
  • +
+
+
+

4.5.5.5. git subtree push

+

命令git subtree push先执行子树拆分,再将拆分的分支推送到远程服务器。用法:

+
git subtree push -P <prefix> <repository> <refspec...>
+
+
+

该命令的用法和git subtree split类似,不再赘述。

+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/060-android-model.html b/04-git-model/060-android-model.html new file mode 100644 index 000000000..f6ecca8b4 --- /dev/null +++ b/04-git-model/060-android-model.html @@ -0,0 +1,1034 @@ + + + + + + + + + 4.6. Android式多版本库协同 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

4.6. Android式多版本库协同

+

Android是谷歌(Google)开发的适合手持设备的操作系统,提供了当前最为吸引眼球的开源的手机操作平台,大有超越苹果(Apple.com)的专有的iOS的趋势。而Android的源代码就是使用Git进行维护的。Android项目在使用Git进行源代码管理上有两个伟大的创造,一个是用Python语言开发名为repo的命令行工具用于多版本库的管理,另外一个是用Java开发的名为Gerrit的代码审核服务器。本节重点介绍repo是如何管理多代码库的。

+

Android的源代码的Git库有160多个(截止至2010年10月):

+
    +
  • Android的版本库管理工具repo:

    +

    git://android.git.kernel.org/tools/repo.git

    +
  • +
  • 保存GPS配置文件的版本库

    +

    git://android.git.kernel.org/device/common.git

    +
  • +
  • 160多个其他的版本库...

    +
  • +
+

如果要是把160多个版本库都列在这里,恐怕各位的下巴会掉下来。那么为什么Android的版本库这么多呢?怎么管理这么复杂的版本库呢?

+

Android版本库众多的原因,主要原因是版本库太大以及Git不能部分检出。Android的版本库有接近2个GB之多。如果所有的东西都放在一个库中,而某个开发团队感兴趣的可能就是某个驱动,或者是某个应用,却要下载如此庞大的版本库,是有些说不过去。

+

好了,既然接受了Android有多达160多个版本库这一事实,那么Android是不是用之前介绍的“子模组”方式组织起来的呢?如果真的用“子模组”方式来管理这160个代码库,可能就需要如此管理:

+
    +
  • 建立一个索引版本库,在该版本库中,通过子模组方式,将一个一个的目录对应到160多个版本库。
  • +
  • 当对此索引版本库执行克隆操作后,再执行git submodule init命令。
  • +
  • 当执行git submodule update命令时,开始分别克隆这160多个版本库。
  • +
  • 如果想修改某个版本库中的内容,需要进入到相应的子模组目录,执行切换分支的操作。因为子模组是以某个固定提交的状态存在的,是不能更改的,必须先切换到某个工作分支后,才能进行修改和提交。
  • +
  • 如果要将所有的子模组都切换到某个分支(如master)进行修改,必须自己通过脚本对这160多个版本库一一切换。
  • +
  • Android有多个版本:android-1.0、android-1.5、...、android-2.2_r1.3、...如何维护这么多的版本呢?也许索引库要通过分支和里程碑,和子模组的各个不同的提交状态进行对应。但是由于子模组的状态只是一个提交ID,如何能够动态指定到分支,真的给不出答案。
  • +
+

幸好,上面只是假设。聪明的Android程序设计师一早就考虑到了Git子模组的局限性以及多版本库管理的问题,开发出了repo这一工具。

+

关于repo有这么一则小故事:Android之父安迪·鲁宾在回应乔布斯关于Android太开放导致开发维护更麻烦的言论时,在Twitter(http://twitter.com/Arubin)上留了下面这段简短的话:

+
the definition of open: "mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/manifest.git ; repo sync ; make"
+
+
+

是的,就是repo让Android的开发变得如此简单。

+
+

4.6.1. 关于repo

+

Repo是Google开发的用于管理Android版本库的一个工具。Repo并不是用于取代Git,是用Python对Git进行了一定的封装,简化了对多个Git版本库的管理。对于repo管理的任何一个版本库,都还是需要使用Git命令进行操作。

+

repo的使用过程大致如下:

+
    +
  • 运行repo init命令,克隆Android的一个清单库。这个清单库和前面假设的“子模组”方式工作的索引库不同,是通过XML技术建立的版本库清单。
  • +
  • 清单库中的manifest.xml文件,列出了160多个版本库的克隆方式。包括版本库的地址和工作区地址的对应关系,以及分支的对应关系。
  • +
  • 运行repo sync命令,开始同步,即分别克隆这160多个版本库到本地的工作区中。
  • +
  • 同时对160多个版本库执行切换分支操作,切换到某个分支。
  • +
+
+
+

4.6.2. 安装repo

+

首先下载repo的引导脚本,可以使用wget、curl甚至浏览器从地址http://android.git.kernel.org/repo下载。把repo脚本设置为可执行,并复制到可执行的路径中。在Linux上可以用下面的指令将repo下载并复制到用户主目录的bin目录下。

+
$ curl http://android.git.kernel.org/repo > ~/bin/repo
+$ chmod a+x ~/bin/repo
+
+
+

为什么说下载的repo只是一个引导脚本(bootstrap)而不是直接称为repo呢?因为repo的大部分功能代码不在其中,下载的只是一个帮助完成整个repo程序的继续下载和加载工具。如果您是一个程序员,对repo的执行比较好奇,可以一起分析一下repo引导脚本。否则可以跳到下一节。

+

看看repo引导脚本的前几行(为方便描述,把注释和版权信息过滤掉了),会发现一个神奇的魔法:

+
1   #!/bin/sh
+2
+3   REPO_URL='git://android.git.kernel.org/tools/repo.git'
+4   REPO_REV='stable'
+5
+6   magic='--calling-python-from-/bin/sh--'
+7   """exec" python -E "$0" "$@" """#$magic"
+8   if __name__ == '__main__':
+9     import sys
+10    if sys.argv[-1] == '#%s' % magic:
+11      del sys.argv[-1]
+12  del magic
+
+
+

Repo引导脚本是用什么语言开发的?这是一个问题。

+
    +
  • 第1行,有经验的Linux开发者会知道此脚本是用Shell脚本语言开发的。
  • +
  • 第7行,是这个魔法的最神奇之处。既是一条合法的shell语句,又是一条合法的python语句。
  • +
  • 第7行作为shell语句,执行exec,用python调用本脚本,并替换本进程。三引号在这里相当于一个空字串和一个单独的引号。
  • +
  • 第7行作为python语句,三引号定义的是一个字符串,字符串后面是一个注释。
  • +
  • 实际上第1行到第7行,即是合法的shell语句又是合法的python语句。从第8行开始后面都是python脚本了。
  • +
  • Repo引导脚本无论是使用shell执行,或是用python执行,效果都相当于使用python执行此脚本。
  • +
+

Repo真正的位置在哪里?

+

在引导脚本repo的main函数,首先调用`` _FindRepo``函数,从当前目录开始依次向上递归查找.repo/repo/main.py文件。

+
def main(orig_args):
+  main, dir = _FindRepo()
+
+
+

函数_FindRepo返回找到的.repo/repo/main.py脚本文件,以及包含repo/main.py.repo目录。如果找到.repo/repo/main.py脚本,则把程序的控制权交给.repo/repo/main.py脚本。(省略了在repo开发库中执行情况的判断)

+

在下载repo引导脚本后,没有初始化之前,当然不会存在.repo/repo/main.py脚本,这时必须进行初始化操作。

+
+
+

4.6.3. repo和清单库的初始化

+

下载并保存repo引导脚本后,建立一个工作目录,这个工作目录将作为Android的工作区目录。在工作目录中执行repo init -u <url>完成repo完整的下载以及项目清单版本库(manifest.git)的下载。

+
$ mkdir working-directory-name
+$ cd working-directory-name
+$ repo init -u git://android.git.kernel.org/platform/manifest.git
+
+
+

命令repo init要完成如下操作:

+
    +
  • 完成repo这一工具的完整下载,因为现在有的不过是repo的引导程序。

    +

    初始化操作会从Android的代码中克隆repo.git库,到当前目录下的.repo/repo目录下。在完成repo.git克隆之后,repo init命令会将控制权交给工作区的.repo/repo/main.py这个刚刚从repo.git库克隆来的脚本文件,继续进行初始化。

    +
  • +
  • 克隆 android 的清单库 manifest.git(地址来自于 -u 参数)。

    +

    克隆的清单库位于.repo/manifests.git中,并本地克隆到.repo/manifests。清单文件.repo/manifest.xml是符号链接指向.repo/manifests/default.xml

    +
  • +
  • 提问用户的姓名和邮件地址,如果和Git缺省的用户名、邮件地址不同,则记录在.repo/manifests.git库的 config 文件中。

    +
  • +
  • 命令repo init还可以附带--mirror参数,以建立和上游Android的版本库一模一样的镜像。会在后面的章节介绍。

    +
  • +
+

从哪里下载repo.git?

+

在repo引导脚本的前几行,定义了缺省的repo.git的版本库位置以及要检出的缺省分支。

+
REPO_URL='git://android.git.kernel.org/tools/repo.git'
+REPO_REV='stable'
+
+
+

如果不想从缺省任务获取repo,或者不想获取稳定版(stable分支)的repo,可以在repo init命令中通过下面的参数覆盖缺省的设置,从指定的源地址克隆repo代码库。

+
    +
  • 参数--repo-url,用于设定repo的版本库地址。
  • +
  • 参数--repo-branch,用于设定要检出的分支。
  • +
  • 参数--no-repo-verify,设定不要对repo的里程碑签名进行严格的验证。
  • +
+

实际上,完成repo.git版本库的克隆,这个repo引导脚本就江郎才尽了,init命令的后续处理(以及其他命令)都交给刚刚克隆出来的.repo/repo/main.py来继续执行。

+

清单库是什么?从哪里下载?

+

清单库实际上只包含一个default.xml文件。这个XML文件定义了多个版本库和本地地址的映射关系,是repo工作的指引文件。所以在使用repo引导脚本进行初始化的时候,必须通过-u参数指定清单库的源地址。

+

清单库的下载,是通过repo init命令初始化时,用-u参数指定清单库的位置。例如repo针对Android代码库进行初始化时执行的命令:

+
$ repo init -u git://android.git.kernel.org/platform/manifest.git
+
+
+

Repo引导脚本的`` init``命令可以使用下列和清单库相关的参数:

+
    +
  • 参数-u--manifest-url):设定清单库的Git服务器地址。
  • +
  • 参数-b--manifest-branch):检出清单库特定分支。
  • +
  • 参数--mirror:只在repo第一次初始化的时候使用,以和Android服务器同样的结构在本地建立镜像。
  • +
  • 参数-m--manifest-name):当有多个清单文件,可以指定清单库的某个清单文件为有效的清单文件。缺省为default.xml
  • +
+

Repo初始化命令(repo init)可以执行多次:

+
    +
  • 不带参数的执行repo init,从上游的清单库获取新的清单文件default.xml
  • +
  • 使用参数-u--manifest-url)执行repo init,会重新设定上游的清单库地址,并重新同步。
  • +
  • 使用参数-b--manifest-branch)执行repo init,会使用清单库的不同分支,以便在使用repo sync时将项目同步到不同的里程碑。
  • +
  • 但是不能使用--mirror命令,该命名只能在第一次初始化时执行。那么如何将已经按照工作区模式同步的版本库转换为镜像模式呢?会在后面看到一个解决方案。
  • +
+
+
+

4.6.4. 清单库和清单文件

+

当执行完毕repo init之后,工作目录内空空如也。实际上有一个.repo目录。在该目录下除了一个包含repo的实现的repo库克隆外,就是manifest库的克隆,以及一个符号链接链接到清单库中的default.xml文件。

+
$ ls -lF .repo/
+drwxr-xr-x 3 jiangxin jiangxin 4096 2010-10-11 18:57 manifests/
+drwxr-xr-x 8 jiangxin jiangxin 4096 2010-10-11 10:08 manifests.git/
+lrwxrwxrwx 1 jiangxin jiangxin   21 2010-10-11 10:07 manifest.xml -> manifests/default.xml
+drwxr-xr-x 7 jiangxin jiangxin 4096 2010-10-11 10:07 repo/
+
+
+

在工作目录下的.repo/manifest.xml文件就是Android项目的众多版本库的清单文件。Repo命令的操作,都要参考这个清单文件。

+

打开清单文件,会看到如下内容:

+
  1  <?xml version="1.0" encoding="UTF-8"?>
+  2  <manifest>
+  3    <remote  name="korg"
+  4             fetch="git://android.git.kernel.org/"
+  5             review="review.source.android.com" />
+  6    <default revision="master"
+  7             remote="korg" />
+  8
+  9    <project path="build" name="platform/build">
+ 10      <copyfile src="core/root.mk" dest="Makefile" />
+ 11    </project>
+ 12
+ 13    <project path="bionic" name="platform/bionic" />
+
+       ...
+
+181  </manifest>
+
+
+

这个文件不太复杂,是么?

+
    +
  • 这个XML的顶级元素是manifest,见第2行和第181行。
  • +
  • 第3行通过一个remote元素,定义了名为korg(kernel.org缩写)的源,其Git库的基址为git://android.git.kernel.org/,还定义了代码审核服务器的地址review.source.android.com。还可以定义更多的remote元素,这里只定义了一个。
  • +
  • 第6行用于设置各个项目缺省的远程源地址(remote)为korg,缺省的分支为master。当然各个项目(project元素)可以定义自己的remote和revision覆盖该缺省配置。
  • +
  • 第9行定义一个项目,该项目的远程版本库相对路径为:”platform/build”,在工作区克隆的位置为:”build”。
  • +
  • 第10行,即project元素的子元素copyfile,定义了项目克隆后的一个附加动作:拷贝文件从core/root.mkMakefile
  • +
  • 第13行后后续的100多行定义了其他160个项目,都是采用类似的project元素语法。name参数定义远程版本库的相对路径,path参数定义克隆到本地工作区的路径。
  • +
  • 还可以出现manifest-server元素,其url属性定义了通过XMLRPC提供实时更新清单的服务器URL。只有当执行repo sync –smart-sync的时候,才会检查该值,并用动态获取的manifest覆盖掉缺省的清单。
  • +
+
+
+

4.6.5. 同步项目

+

在工作区,执行下面的命令,会参照.repo/manifest.xml清单文件,将项目所有相关的版本库全部克隆出来。不过最好请在读完本节内容之后再尝试执行这条命令。

+
$ repo sync
+
+
+

对于Android,这个操作需要通过网络传递接近2个GB的内容,如果带宽不是很高的话,可能会花掉几个小时甚至是一天的时间。

+

也可以仅克隆感兴趣的项目,在repo sync后面跟上项目的名称。项目的名称来自于.repo/manifest.xml这个XML文件中project元素的name属性值。例如克隆platform/build项目:

+
$ repo sync platform/build
+
+
+

Repo有一个功能可以在这里展示。就是repo支持通过本地清单,对缺省的清单文件进行补充以及覆盖。即可以在.repo目录下创建local_manifest.xml文件,其内容会和.repo/manifest.xml文件的内容进行合并。

+

在工作目录下运行下面的命令,可以创建一个本地清单文件。这个本地定制的清单文件来自缺省文件,但是删除了remote元素和default元素,并将所有的project元素都重命名为remove-project元素。这实际相当于对原有的清单文件“取反”。

+
$ sed -e '/<remote/,+4 d' -e 's/<project/<remove-project/g' \
+  -e 's/project>/remove-project>/g' \
+  < .repo/manifest.xml > .repo/local_manifest.xml
+
+
+

用下面的这条命令可以看到repo运行时实际获取到的清单。这个清单来自于.repo/manifest.xml.repo/local_manifest.xml两个文件的汇总。

+
$ repo manifest -o -
+
+
+

当执行repo sync命令时,实际上就是依据合并后的清单文件进行同步。如果清单中的项目被自定义清单全部“取反”,执行同步就不会同步任何项目,甚至会删除已经完成同步的项目。

+

本地定制的清单文件local_manifest.xml支持前面介绍的清单文件的所有语法,需要注意的是:

+
    +
  • 不能出现重复定义的remote元素。这就是为什么上面的脚本要删除来自缺省manifest.xmlremote元素。
  • +
  • 不能出现default元素,仅为全局仅能有一个。
  • +
  • 不能出现重复的project定义(name属性不能相同),但是可以通过remove-project元素将缺省清单中定义的project删除再重新定义。
  • +
+

试着编辑.repo/local_manifest.xml,在其中再添加几个project元素,然后试着用repo sync命令进行同步。

+
+
+

4.6.6. 建立Android代码库本地镜像

+

Android为企业提供一个新的市场,无论大企业,小企业都是处于同一个起跑线上。研究Android尤其是Android系统核心或者是驱动的开发,首先需要做的就是本地克隆建立一套Android版本库管理机制。因为Android的代码库是那么庞杂,如果一个开发团队每个人都去执行repo init -u,再执行repo sync从Android服务器克隆版本库的话,多大的网络带宽恐怕都不够用。唯一的办法是本地建立一个Android版本库的镜像。

+

建立本地镜像非常简单,就是在执行repo init -u初始化的时候,附带上--mirror参数。

+
$ mkdir android-mirror-dir
+$ cd android-mirror-dir
+$ repo init --mirror -u git://android.git.kernel.org/platform/manifest.git
+
+
+

之后执行repo sync就可以安装Android的Git服务器方式来组织版本库,创建一个Android版本库镜像。

+

实际上附带了--mirror参数执行repo init -u命令,会在克隆的.repo/manifests.git下的config中记录配置信息:

+
[repo]
+    mirror = true
+
+
+

从Android的工作区到代码库镜像

+

在初始化repo工作区时,如果使用不带--mirror参数的repo init -u,并完成代码同步后,如果再次执行repo init并附带了--mirror参数,repo 会报错退出:“fatal: –mirror not supported on existing client”。实际上--mirror参数只能对尚未初始化的repo工作区执行。

+

那么如果之前没有用镜像的方法同步Android版本库,难道要为创建代码库镜像再重新执行一次repo同步么?要知道重新同步一份Android版本库是非常慢的。我就遇到了这个问题。

+

不过既然有manifest.xml`文件,完全可以对工作区进行反向操作,将工作区转换为镜像服务器的结构。下面就是一个示例脚本,这个脚本利用了已有的repo代码进行实现,所以看着很简洁。8-)

+

脚本work2mirror.py如下:

+
#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import os, sys, shutil
+
+cwd = os.path.abspath( os.path.dirname( __file__ ) )
+repodir = os.path.join( cwd, '.repo' )
+S_repo = 'repo'
+TRASHDIR = 'old_work_tree'
+
+if not os.path.exists( os.path.join(repodir, S_repo) ):
+    print >> sys.stderr, "Must run under repo work_dir root."
+    sys.exit(1)
+
+sys.path.insert( 0, os.path.join(repodir, S_repo) )
+from manifest_xml import XmlManifest
+
+manifest = XmlManifest( repodir )
+
+if manifest.IsMirror:
+    print >> sys.stderr, "Already mirror, exit."
+    sys.exit(1)
+
+trash = os.path.join( cwd, TRASHDIR )
+
+for project in manifest.projects.itervalues():
+    # 移动旧的版本库路径到镜像模式下新的版本库路径
+    newgitdir = os.path.join( cwd, '%s.git' % project.name )
+    if os.path.exists( project.gitdir ) and project.gitdir != newgitdir:
+        if not os.path.exists( os.path.dirname(newgitdir) ):
+            os.makedirs( os.path.dirname(newgitdir) )
+        print "Rename %s to %s." % (project.gitdir, newgitdir)
+        os.rename( project.gitdir, newgitdir )
+
+    # 移动工作区到待删除目录
+    if project.worktree and os.path.exists( project.worktree ):
+        newworktree = os.path.join( trash, project.relpath )
+        if not os.path.exists( os.path.dirname(newworktree) ):
+            os.makedirs( os.path.dirname(newworktree) )
+        print "Move old worktree %s to %s." % (project.worktree, newworktree )
+        os.rename( project.worktree, newworktree )
+
+    if os.path.exists ( os.path.join( newgitdir, 'config' ) ):
+        # 修改版本库的配置
+        os.chdir( newgitdir )
+        os.system( "git config core.bare true" )
+        os.system( "git config remote.korg.fetch '+refs/heads/*:refs/heads/*'" )
+
+        # 删除 remotes 分支,因为作为版本库镜像不需要 remote 分支
+        if os.path.exists ( os.path.join( newgitdir, 'refs', 'remotes' ):
+            print "Delete " + os.path.join( newgitdir, 'refs', 'remotes' )
+            shutil.rmtree( os.path.join( newgitdir, 'refs', 'remotes') )
+
+# 设置 menifest 为镜像
+mp = manifest.manifestProject
+mp.config.SetString('repo.mirror', 'true')
+
+
+

使用方法很简单,只要将脚本放在Android工作区下,执行就可以了。执行完毕会将原有工作区的目录移动到old_work_tree子目录下,在确认原有工作区没有未提交的数据后,直接删除old_work_tree即可。

+
$ python work2mirror.py
+
+
+

创建新的清单库,或修改原有清单库

+

建立了Android代码库的本地镜像后,如果不对manifest清单版本库进行定制,在使用repo sync同步代码的时候,仍然使用Android官方的代码库同步代码,使得本地的镜像版本库形同虚设。解决办法是创建一个自己的manifest库,或者在原有清单库中建立一个分支加以修改。如果创建新的清单库,参考Android上游的manifest清单库进行创建。

+
+
+

4.6.7. Repo的命令集

+

Repo命令实际上是Git命令的简单或者复杂的封装。每一个repo命令都对应于repo源码树中subcmds目录下的一个同名的Python脚本。每一个repo命令都可以通过下面的命令获得帮助。

+
$ repo help <command>
+
+
+

通过阅读代码,可以更加深入的了解repo命令的封装。

+
+

4.6.7.1. repo init命令

+

repo init命令,主要完成检出清单版本库(manifest.git),以及配置Git用户的用户名和邮件地址的工作。

+

实际上,完全可以进入到.repo/manifests目录,用git命令操作清单库。对manifests的修改不会因为执行repo init而丢失,除非是处于未跟踪状态。

+
+
+

4.6.7.2. repo sync命令

+

repo sync命令用于参照清单文件克隆或者同步版本库。如果某个项目版本库尚不存在,则执行repo sync命令相当于执行git clone。如果项目版本库已经存在,则相当于执行下面的两个命令:

+
    +
  • git remote update

    +

    相当于对每一个remote源执行fetch操作。

    +
  • +
  • git rebase origin/branch

    +

    针对当前分支的跟踪分支,执行rebase操作。不采用merge而是采用rebase,目的是减少提交数量,方便评审(Gerrit)。

    +
  • +
+
+
+

4.6.7.3. repo start命令

+

repo start命令实际上是对git checkout -b命令的封装。为指定的项目或者所有项目(若使用--all参数),以清单文件中为项目设定的分支或里程碑为基础,创建特性分支。特性分支的名称由命令的第一个参数指定。相当于执行git checkout -b

+

用法:

+
repo start <newbranchname> [--all | <project>...]
+
+
+
+
+

4.6.7.4. repo status命令

+

repo status命令实际上是对git diff-indexgit diff-files命令的封装,同时显示暂存区的状态和本地文件修改的状态。

+

用法:

+
repo status [<project>...]
+
+
+

示例输出:

+
project repo/                                   branch devwork
+ -m     subcmds/status.py
+ ...
+
+
+

上面示例输出显示了repo项目的devwork分支的修改状态。

+
    +
  • 每个小节的首行显示项目名称,以及所在分支名称。

    +
  • +
  • 之后显示该项目中文件变更状态。头两个字母显示变更状态,后面显示文件名或者其他变更信息。

    +
  • +
  • 第一个字母表示暂存区的文件修改状态。

    +

    其实是git-diff-index命令输出中的状态标识,并用大写显示。

    +
      +
    • -:没有改变
    • +
    • A:添加 (不在HEAD中, 在暂存区 )
    • +
    • M:修改 ( 在HEAD中, 在暂存区,内容不同 )
    • +
    • D:删除 ( 在HEAD中,不在暂存区 )
    • +
    • R:重命名 (不在HEAD中, 在暂存区,路径修改 )
    • +
    • C:拷贝 (不在HEAD中, 在暂存区,从其他文件拷贝)
    • +
    • T:文件状态改变 ( 在HEAD中, 在暂存区,内容相同 )
    • +
    • U:未合并,需要冲突解决
    • +
    +
  • +
  • 第二个字母表示工作区文件的更改状态。

    +

    其实是git-diff-files命令输出中的状态标识,并用小写显示。

    +
      +
    • -:新/未知 (不在暂存区, 在工作区 )
    • +
    • m:修改 ( 在暂存区, 在工作区,被修改 )
    • +
    • d:删除 ( 在暂存区,不在工作区 )
    • +
    +
  • +
  • 两个表示状态的字母后面,显示文件名信息。如果有文件重命名还会显示改变前后的文件名以及文件的相似度。

    +
  • +
+
+
+

4.6.7.5. repo checkout命令

+

repo checkout命令实际上是对git checkout命令的封装。检出之前由repo start创建的分支。

+

用法:

+
repo checkout <branchname> [<project>...]
+
+
+
+
+

4.6.7.6. repo branches命令

+

repo branches命令读取各个项目的分支列表并汇总显示。该命令实际上是通过直接读取.git/refs目录下的引用来获取分支列表,以及分支的发布状态等。

+

用法:

+
repo branches [<project>...]
+
+
+

输出示例:

+
*P nocolor                   | in repo
+   repo2                     |
+
+
+
    +
  • 第一个字段显示分支的状态:是否是当前分支,分支是否发布到代码审核服务器上?

    +
  • +
  • 第一个字母若显示星号(*),含义是此分支为当前分支

    +
  • +
  • 第二个字母若为大写字母P,则含义是分支所有提交都发布到代码审核服务器上了。

    +
  • +
  • 第二个字母若为小写字母p,则含义是只有部分提交被发布到代码审核服务器上。

    +
  • +
  • 若不显示P或者p,则表明分支尚未发布。

    +
  • +
  • 第二个字段为分支名。

    +
  • +
  • 第三个字段为以竖线(|)开始的字符串,表示该分支存在于哪些项目中。

    +
      +
    • | in all projects

      +

      该分支处于所有项目中。

      +
    • +
    • | in project1 project2

      +

      该分支只在特定项目中定义。如:project1project2

      +
    • +
    • | not in project1

      +
    • +
    +
    +

    该分支不存在于这些项目中。即除了project1项目外,其他项目都包含此分支。

    +
    +
  • +
+
+
+

4.6.7.7. repo diff命令

+

repo diff命令实际上是对git diff命令的封装,用以分别显示各个项目工作区下的文件差异。

+

用法:

+
repo diff [<project>...]
+
+
+
+
+

4.6.7.8. repo stage命令

+

repo stage命令实际上是对git add –interactive命令的封装,用以对各个项目工作区中的改动(修改、添加等)进行挑选以加入暂存区。

+

用法:

+
repo stage -i [<project>...]
+
+
+
+
+

4.6.7.9. repo upload命令

+

repo upload命令相当于git push,但是又有很大的不同。执行repo upload不是将版本库改动推送到克隆时的远程服务器,而是推送到代码审查服务器(由Gerrit软件架设)的特殊引用上,使用的是SSH协议(特殊端口)。代码审核服务器会对推送的提交进行特殊处理,将新的提交显示为一个待审核的修改集,并进入代码审查流程。只有当审核通过,才会合并到官方正式的版本库中。

+

用法:

+
repo upload [--re --cc] {[<project>]... | --replace <project>}
+
+参数:
+  -h, --help            显示帮助信息。
+  -t                    发送本地分支名称到 Gerrit 代码审核服务器。
+  --replace             发送此分支的更新补丁集。注意使用该参数,只能指定一个项目。
+  --re=REVIEWERS, --reviewers=REVIEWERS
+                        要求由指定的人员进行审核。
+  --cc=CC               同时发送通知到如下邮件地址。
+
+
+

确定推送服务器的端口

+

分支改动的推送是发给代码审核服务器,而不是下载代码的服务器。使用的协议是SSH协议,但是使用的并非标准端口。如何确认代码审核服务器上提供的特殊SSH端口呢?

+

在执行repo upload命令时,repo会通过访问代码审核Web服务器的 /ssh_info的URL获取SSH服务端口,缺省29418。这个端口,就是repo upload发起推送的服务器的SSH服务端口。

+

修订集修改后重新传送

+

当已经通过repo upload命令在代码审查服务器上提交了一个修订集,会得到一个修订号。关于此次修订的相关讨论会发送到提交者的邮箱中。如果修订集有误没有通过审核,可以重新修改代码,再次向代码审核服务器上传修订集。

+

一个修订集修改后再次上传,如果修订集的ID不变是非常有用的,因为这样相关的修订集都在代码审核服务器的同一个界面中显示。

+

在执行repo upload时会弹出一个编辑界面,提示在方括号中输入修订集编号,否则会在代码审查服务器上创建新的ID。有一个办法可以不用手工输入修订集,如下:

+
repo upload --replace project_name
+
+
+

当使用--replace参数后,repo会检查本地版本库名为refs/published/branch_name的特殊引用(上一次提交的修订),获得其对应的提交SHA1哈希值。然后在代码审核服务器的refs/changes/命名空间下的特殊引用中寻找和提交SHA1哈希值匹配的引用,找到的匹配引用其名称中就所包含有变更集ID,直接用此变更集ID作为新的变更集ID提交到代码审核服务器。

+

Gerrit服务器魔法

+

repo upload命令执行推送,实际上会以类似如下的命令行格式进行调用:

+
git push --receive-pack='gerrit receive-pack --reviewer charlie@example.com' \
+         ssh://review.example.com:29418/project HEAD:refs/for/master
+
+
+

当Gerrit服务器接收到git push请求后,会自动将对分支的提交转换为修订集,显示于Gerrit的提交审核界面中。Gerrit的魔法破解的关键点就在于git push命令的--receive-pack参数。即提交交由gerrit-receive-pack命令执行,进入非标准的Git处理流程,将提交转换为在refs/changes命名空间下的引用,而不在refs/for命名空间下创建引用。

+
+
+

4.6.7.10. repo download命令

+

repo download命令主要用于代码审核者下载和评估贡献者提交的修订。贡献者的修订在Git版本库中以refs/changes/<changeid>/<patchset>引用方式命名(缺省的patchset为1),和其他Git引用一样,用git fetch获取,该引用所指向的最新的提交就是贡献者待审核的修订。使用repo download命令实际上就是用git fetch获取到对应项目的refs/changes/<changeid>/patchset>引用,并自动切换到对应的引用上。

+

用法:

+
repo download {project change[/patchset]}...
+
+
+
+
+

4.6.7.11. repo rebase命令

+

repo rebase命令实际上是对git rebase命令的封装,该命令的参数也作为git rebase命令的参数。但 -i 参数仅当对一个项执行时有效。

+

用法:

+
命令行: repo rebase {[<project>...] | -i <project>...}
+
+参数:
+  -h, --help          显示帮助并退出
+  -i, --interactive   交互式的变基(仅对一个项目时有效)
+  -f, --force-rebase  向 git rebase 命令传递 --force-rebase 参数
+  --no-ff             向 git rebase 命令传递 -no-ff 参数
+  -q, --quiet         向 git rebase 命令传递 --quiet 参数
+  --autosquash        向 git rebase 命令传递 --autosquash  参数
+  --whitespace=WS     向 git rebase 命令传递 --whitespace  参数
+
+
+
+
+

4.6.7.12. repo prune命令

+

repo prune命令实际上是对git branch -d命令的封装,该命令用于扫描项目的各个分支,并删除已经合并的分支。

+

用法:

+
repo prune [<project>...]
+
+
+
+
+

4.6.7.13. repo abandon命令

+

相比repo prune命令,repo abandon命令更具破坏性,因为repo abandon是对git branch -D命令的封装。该命令非常危险,直接删除分支,请慎用。

+

用法:

+
repo abandon <branchname> [<project>...]
+
+
+
+
+

4.6.7.14. 其他命令

+
    +
  • repo grep

    +

    相当于对git grep的封装,用于在项目文件中进行内容查找。

    +
  • +
  • repo smartsync

    +

    相当于用-s参数执行repo sync

    +
  • +
  • repo forall

    +

    迭代器,可以对repo管理的项目进行迭代。

    +
  • +
  • repo manifest

    +

    显示manifest文件内容。

    +
  • +
  • repo version

    +

    显示repo的版本号。

    +
  • +
  • repo selfupdate

    +
    +
    用于repo自身的更新。如果提供--repo-upgraded参数,还会更新各个
    +

    项目的钩子脚本。

    +
    +
    +
  • +
+
+
+
+

4.6.8. Repo命令的工作流

+

图25-1是repo的工作流,每一个代码贡献都起始于repo start创建本地工作分支,最终都以repo upload命令将代码补丁发布于代码审核服务器。

+
+../images/repo-workflow.png +

图25-1:repo工作流

+
+
+
+

4.6.9. 好东西不能Android独享

+

通过前面的介绍能够体会到repo的精巧——repo巧妙的实现了多Git版本库的管理。因为repo使用了清单版本库,所以repo这一工具并没有被局限于Android项目,可以在任何项目中使用。下面就介绍三种repo的使用模式,将repo引入自己的(非Android)项目中,其中第三种repo使用模式是用作者改造后的repo实现脱离Gerrit服务器进行推送。

+
+

4.6.9.1. Repo+Gerrit模式

+

Repo和Gerrit是Android代码管理的两大支柱。正如前面在repo工作流中介绍的,部分的repo命令从Git服务器读取,这个Git服务器可以是只读的版本库控制服务器,还有部分repo命令(repo uploadrepo download)访问的则是代码审核服务器,其中repo upload命令还要向代码审核服务器进行git push操作。

+

在使用未经改动的repo来维护自己的项目(多个版本库组成)时,必须搭建Gerrit代码审核服务器。

+

搭建项目的版本控制系统环境的一般方法为:

+
    +
  • 用git-daemon或者http服务搭建Git服务器。具体搭建方法参见第5篇“搭建Git服务器”相关章节。
  • +
  • 导入repo.git工具库。非必须,只是为了减少不必要的互联网操作。
  • +
  • 还可以在内部http服务器维护一个定制的repo引导脚本。非必须。
  • +
  • 建立Gerrit代码审核服务器。会在第5篇第32章“Gerrit代码审核服务器”中介绍Gerrit的安装和使用。
  • +
  • 将相关的子项目代码库一一创建。
  • +
  • 建立一个manifest.git清单库,其中remote元素的fetch属性指向只读Git服务器地址,review属性指向代码审核服务器地址。
  • +
+

示例如下:

+
+
<?xml version="1.0" encoding="UTF-8"?>
+<manifest>
+  <remote  name="example"
+           fetch="git://git.example.net/"
+           review="review.example.net" />
+  <default revision="master"
+           remote="example" />
+
+  ...
+
+
+
+
+
+

4.6.9.2. Repo无审核模式

+

Gerrit代码审核服务器部署比较麻烦,更不要说因为Gerrit用户界面的学习和用户使用习惯的更改而带来的困难了。在一个固定的团队内部使用repo可能真的没有必要使用Gerrit,因为团队成员都应该熟悉Git的操作,团队成员的编程能力都可信,单元测试质量由提交者保证,集成测试由单独的测试团队进行,即团队拥有一套完整、成型的研发工作流,引入Gerrit并非必要。

+

脱离了Gerrit服务器,直接跟Git服务器打交道,repo可以工作么?是的,可以利用repo forall迭代器实现多项目代码的PUSH,其中有如下关键点需要重点关注。

+
    +
  • repo start命令创建本地分支时,需要使用和上游同样的分支名。

    +

    如果使用不同的分支名,上传时需要提供复杂的引用描述。下面的示例先通过repo manifest命令确认上游清单库缺省的分支名为master,再使用该分支名(master)作为本地分支名执行repo start。示例如下:

    +
    $ repo manifest -o - | grep default
    +  <default remote="bj" revision="master"/>
    +
    +$ repo start master --all
    +
    +
    +
  • +
  • 推送不能使用repo upload,而需要使用git push命令。

    +

    可以利用repo forall迭代器实现批命令方式执行。例如:

    +
    $ repo forall -c git push
    +
    +
    +
  • +
  • 如果清单库中的上游Git库地址用的是只读地址,需要为本地版本库一一更改上游版本库地址。

    +

    可以使用forall迭代器,批量为版本库设置git push时的版本库地址。下面的命令使用了环境变量$REPO_PROJECT是实现批量设置的关键。

    +
    $ repo forall -c \
    +  'git remote set-url --push bj android@bj.ossxp.com:android/${REPO_PROJECT}.git'
    +
    +
    +
  • +
+
+
+

4.6.9.3. 改进的Repo无审核模式

+

前面介绍的使用repo forall迭代器实现在无审核服务器情况下向上游推送提交,只是权宜之计,尤其是用repo start建立工作分支要求和上游一致,实在是有点强人所难。

+

我改造了repo,增加了两个新的命令repo configrepo push,让repo可以脱离Gerrit服务器直接向上游推送。代码托管在Github上:http://github.com/ossxp-com/repo.git。下面简单介绍一下如何使用改造之后的repo。

+
+

4.6.9.3.1. 下载改造后的repo引导脚本

+

建议使用改造后的repo引导脚本替换原脚本,否则在执行repo init命令需要提供额外的--no-repo-verify参数,以及--repo-url--repo-branch参数。

+
$ curl http://github.com/ossxp-com/repo/raw/master/repo > ~/bin/repo
+$ chmod a+x ~/bin/repo
+
+
+
+
+

4.6.9.3.2. 用repo从Github上检出测试项目

+

如果安装了改造后的repo引导脚本,使用下面的命令初始化repo及清单库。

+
$ mkdir test
+$ cd test
+$ repo init -u git://github.com/ossxp-com/manifest.git
+$ repo sync
+
+
+

如果用的是标准的(未经改造的)repo引导脚本,用下面的命令。

+
$ mkdir test
+$ cd test
+$ repo init --repo-url=git://github.com/ossxp-com/repo.git \
+  --repo-branch=master --no-repo-verify \
+  -u git://github.com/ossxp-com/manifest.git
+$ repo sync
+
+
+

当子项目代码全部同步完成后,执行make命令。可以看到各个子项目的版本以及清单库的版本。

+
$ make
+Version of test1:    1:0.2-dev
+Version of test2:    2:0.2
+Version of manifest: current
+
+
+
+
+

4.6.9.3.3. 用repo config命令设置pushurl

+

现在如果进入到各个子项目目录,是无法成功执行git push命令的,因为上游Git库的地址是一个只读访问的URL,无法提供写服务。可以用新增的repo config命令设置当执行git push时的URL地址。

+
$ repo config repo.pushurl ssh://git@github.com/ossxp-com/
+
+
+

设置成功后,可以使用repo config repo.pushurl查看设置。

+
$ repo config repo.pushurl
+ssh://git@github.com/ossxp-com/
+
+
+
+
+

4.6.9.3.4. 创建本地工作分支

+

使用下面的命令创建一个工作分支jiangxin

+
$ repo start jiangxin --all
+
+
+

使用repo branches命令可以查看当前所有的子项目都属于jiangxin分支

+
$ repo branches
+*  jiangxin                  | in all projects
+
+
+

参照下面的方法修改test/test1子项目。对test/test2项目也作类似修改。

+
$ cd test/test1
+$ echo "1:0.2-jiangxin" > version
+$ git diff
+diff --git a/version b/version
+index 37c65f8..a58ac04 100644
+--- a/version
++++ b/version
+@@ -1 +1 @@
+-1:0.2-dev
++1:0.2-jiangxin
+$ repo status
+# on branch jiangxin
+project test/test1/                             branch jiangxin
+ -m     version
+$ git add -u
+$ git commit -m "0.2-dev -> 0.2-jiangxin"
+
+
+

执行make命令,看看各个项目的改变。

+
$ make
+Version of test1:    1:0.2-jiangxin
+Version of test2:    2:0.2-jiangxin
+Version of manifest: current
+
+
+
+
+

4.6.9.3.5. PUSH到远程服务器

+

直接执行repo push就可以将各个项目的改动进行推送。

+
$ repo push
+
+
+

如果有多个项目同时进行了改动,为了避免出错,会弹出编辑器显示因为包含改动而需要推送的项目列表。

+
# Uncomment the branches to upload:
+#
+# project test/test1/:
+#  branch jiangxin ( 1 commit, Mon Oct 25 18:04:51 2010 +0800):
+#         4f941239 0.2-dev -> 0.2-jiangxin
+#
+# project test/test2/:
+#  branch jiangxin ( 1 commit, Mon Oct 25 18:06:51 2010 +0800):
+#         86683ece 0.2-dev -> 0.2-jiangxin
+
+
+

每一行前面的井号是注释,会被忽略。将希望推送的分支前的注释去掉,就可以将该项目的分支执行推送动作。下面的操作中,把其中的两个分支的注释都去掉了,这两个项目当前分支的改动会推送到上游服务器。

+
# Uncomment the branches to upload:
+
+
+#
+# project test/test1/:
+branch jiangxin ( 1 commit, Mon Oct 25 18:04:51 2010 +0800):
+#         4f941239 0.2-dev -> 0.2-jiangxin
+#
+# project test/test2/:
+branch jiangxin ( 1 commit, Mon Oct 25 18:06:51 2010 +0800):
+#         86683ece 0.2-dev -> 0.2-jiangxin
+
+
+

保存退出(如果使用vi编辑器,输入<ESC>:wq执行保存退出)后,马上开始对选择的各个项目执行git push

+
Counting objects: 5, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (2/2), done.
+Writing objects: 100% (3/3), 293 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://git@github.com/ossxp-com/test1.git
+   27aee23..4f94123  jiangxin -> master
+Counting objects: 5, done.
+Writing objects: 100% (3/3), 261 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://git@github.com/ossxp-com/test2.git
+   7f0841d..86683ec  jiangxin -> master
+
+--------------------------------------------
+[OK    ] test/test1/     jiangxin
+[OK    ] test/test2/     jiangxin
+
+
+

从推送的命令输出可以看出来本地的工作分支jiangxin的改动被推送的远程服务器的master分支(本地工作分支跟踪的上游分支)。

+

再次执行repo push,会显示没有项目需要推送。

+
$ repo push
+no branches ready for upload
+
+
+
+
+

4.6.9.3.6. 在远程服务器创建新分支

+

如果想在服务器上创建一个新的分支,该如何操作呢?如下使用--new_branch参数调用repo push命令。

+
$ repo start feature1 --all
+$ repo push --new_branch
+
+
+

经过同样的编辑操作之后,自动调用git push,在服务器上创建新分支feature1

+
Total 0 (delta 0), reused 0 (delta 0)
+To ssh://git@github.com/ossxp-com/test1.git
+ * [new branch]      feature1 -> feature1
+Total 0 (delta 0), reused 0 (delta 0)
+To ssh://git@github.com/ossxp-com/test2.git
+ * [new branch]      feature1 -> feature1
+
+--------------------------------------------
+[OK    ] test/test1/     feature1
+[OK    ] test/test2/     feature1
+
+
+

git ls-remote命令查看远程版本库的分支,会发现远程版本库中已经建立了新的分支。

+
$ git ls-remote git://github.com/ossxp-com/test1.git refs/heads/*
+4f9412399bf8093e880068477203351829a6b1fb        refs/heads/feature1
+4f9412399bf8093e880068477203351829a6b1fb        refs/heads/master
+b2b246b99ca504f141299ecdbadb23faf6918973        refs/heads/test-0.1
+
+
+

注意到feature1master分支引用指向相同的SHA1哈希值,这是因为feature1分支是直接从master分支创建的。

+
+
+

4.6.9.3.7. 通过不同的清单库版本,切换到不同分支

+

换用不同的清单库,需要建立新的工作区,并且在执行repo init时,通过-b参数指定清单库的分支。

+
$ mkdir test-0.1
+$ cd test-0.1
+$ repo init -u git://github.com/ossxp-com/manifest.git -b test-0.1
+$ repo sync
+
+
+

当子项目代码全部同步完成后,执行make命令。可以看到各个子项目的版本以及清单库的版本不同于之前的输出。

+
$ make
+Version of test1:    1:0.1.4
+Version of test2:    2:0.1.3-dev
+Version of manifest: current-2-g12f9080
+
+
+

可以用repo manifest命令来查看清单库。

+
$ repo manifest -o -
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest>
+  <remote fetch="git://github.com/ossxp-com/" name="github"/>
+
+  <default remote="github" revision="refs/heads/test-0.1"/>
+
+  <project name="test1" path="test/test1">
+    <copyfile dest="Makefile" src="root.mk"/>
+  </project>
+  <project name="test2" path="test/test2"/>
+</manifest>
+
+
+

仔细看上面的清单文件,可以注意到缺省的版本指向到refs/heads/test-0.1引用所指向的分支test-0.1

+

如果在子项目中修改、提交,然后使用repo push会将改动推送的远程版本库的test-0.1分支中。

+
+
+

4.6.9.3.8. 切换到清单库里程碑版本

+

执行如下命令,可以查看清单库包含的里程碑版本:

+
$ git ls-remote --tags git://github.com/ossxp-com/manifest.git
+43e5783a58b46e97270785aa967f09046734c6ab        refs/tags/current
+3a6a6da36840e716a14d52252e7b40e6ba6cbdea        refs/tags/current^{}
+4735d32613eb50a6c3472cc8087ebf79cc46e0c0        refs/tags/v0.1
+fb1a1b7302a893092ce8b356e83170eee5863f43        refs/tags/v0.1^{}
+b23884d9964660c8dd34b343151aaf968a744400        refs/tags/v0.1.1
+9c4c287069e29d21502472acac34f28896d7b5cc        refs/tags/v0.1.1^{}
+127d9789cd4312ed279a7fa683c43eec73d2b28b        refs/tags/v0.1.2
+47aaa83866f6d910a118a9a19c2ac3a2a5819b3e        refs/tags/v0.1.2^{}
+af3abb7ed0a9ef7063e9d814510c527287c92ef6        refs/tags/v0.1.3
+99c69bcfd7e2e7737cc62a7d95f39c6b9ffaf31a        refs/tags/v0.1.3^{}
+
+
+

可以从任意里程碑版本的清单库初始化整个项目。

+
$ mkdir v0.1.2
+$ cd v0.1.2
+$ repo init -u git://github.com/ossxp-com/manifest.git -b refs/tags/v0.1.2
+$ repo sync
+
+
+

当子项目代码全部同步完成后,执行make命令。可以看到各个子项目的版本以及清单库的版本不同于之前的输出。

+
$ make
+Version of test1:    1:0.1.2
+Version of test2:    2:0.1.2
+Version of manifest: v0.1.2
+
+
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/070-git-svn.html b/04-git-model/070-git-svn.html new file mode 100644 index 000000000..16536ae31 --- /dev/null +++ b/04-git-model/070-git-svn.html @@ -0,0 +1,793 @@ + + + + + + + + + 4.7. Git和SVN协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

4.7. Git和SVN协同模型

+

在本篇的最后,将会在另外的一个角度上看Git版本库的协同。不是不同的用户在使用Git版本库时如何协同,也不是一个项目包含多个Git版本库时如何协同,而是当版本控制系统不是Git(如Subversion)时,如何能够继续使用Git的方式进行操作。

+

Subversion会在商业软件开发中占有一席之地,只要商业软件公司严格封闭源代码的策略不改变。对于熟悉了Git的用户,一定会对Subversion的那种一旦脱离网络、脱离服务器便寸步难行的工作模式厌烦透顶。实际上对Subversion的集中式版本控制的不满和改进在Git诞生之前就发生了,这就是SVK。

+

在2003年(Git诞生的前两年),台湾的高嘉良就开发了SVK,用分布式版本控制的方法操作SVN。其设计思想非常朴素,既然SVN的用户可以看到有访问权限数据的全部历史,那么也应该能够依据历史重建一个本地的SVN版本库,这样很多SVN操作都可以通过本地的SVN进行,从而脱离网络。当对本地版本库的修改感到满意后,通过本地SVN版本和服务器SVN版本库之间的双向同步,将改动归并到服务器上。这种工作方式真的非常酷。

+

不必为SVK的文档缺乏以及不再维护而感到惋惜,因为有更强的工具登场了,这就是git-svn。git-svn是Git软件包的一部分,用Perl语言开发。它的工作原理是:

+
    +
  • 将Subversion版本库在本地转换为一个Git库。
  • +
  • 转换可以基于Subversion的某个目录,或者基于某个分支,或者整个Subversion代码库的所有分支和里程碑。
  • +
  • 远程的Subversion版本库可以和本地的Git双向同步。Git本地库修改推送到远程Subversion版本库,反之亦然。
  • +
+

git-svn作为Git软件包的一部分,当Git从源码包进行安装时会默认安装,提供git svn命令。而几乎所有的Linux发行版都将git-svn作为一个独立的软件单独发布,因此需要单独安装。例如Debian和Ubuntu运行下面命令安装git-svn。

+
$ sudo aptitude install git-svn
+
+
+

将git-svn独立安装是因为git-svn软件包有着特殊的依赖,即依赖Subversion的Perl语言绑定接口,Debian/Ubuntu上由libsvn-perl软件包提供。

+

当git-svn正确安装后,就可以使用git svn命令了。但如果在执行git svn –version时遇到下面的错误,则说明Subversion的Perl语言绑定没有正确安装。

+
$ git svn --version
+Can't locate loadable object for module SVN::_Core in @INC (@INC contains: ...) at /usr/lib/perl5/SVN/Base.pm line 59
+BEGIN failed--compilation aborted at /usr/lib/perl5/SVN/Core.pm line 5.
+Compilation failed in require at /usr/lib/git-core/git-svn line 41.
+
+
+

遇到上面的情况,需要检查本机是否正确安装了Subversion以及Subversion的Perl语言绑定。

+

为了便于对git-svn的介绍和演示,需要有一个Subversion版本库,并且需要有提交权限以便演示用Git向Subversion进行提交。最好的办法是在本地创建一个Subversion版本库。

+
$ svnadmin create /path/to/svn/repos/demo
+
+$ svn co file:///path/to/svn/repos/demo svndemo
+取出版本 0
+
+$ cd svndemo
+
+$ mkdir trunk tags branches
+$ svn add *
+A         branches
+A         tags
+A         trunk
+
+$ svn ci -m "initialized."
+增加           branches
+增加           tags
+增加           trunk
+
+提交后的版本为 1。
+
+
+

再向Subversion开发主线trunk中添加些数据。

+
$ echo hello > trunk/README
+$ svn add trunk/README
+A         trunk/README
+$ svn ci -m "hello"
+增加           trunk/README
+传输文件数据.
+提交后的版本为 2。
+
+
+

建立分支:

+
$ svn up
+$ svn cp trunk branches/demo-1.0
+A         branches/demo-1.0
+$ svn ci -m "new branch: demo-1.0"
+增加           branches/demo-1.0
+
+提交后的版本为 3。
+
+
+

建立里程碑:

+
$ svn cp -m "new tag: v1.0" trunk file:///path/to/svn/repos/demo/tags/v1.0
+
+提交后的版本为 4。
+
+
+
+

4.7.1. 使用git-svn的一般流程

+

使用git-svn的一般流程参见图26-1。

+
+../images/git-svn-workflow.png +

图26-1:git-svn工作流

+
+

首先用git svn clone命令对Subversion进行克隆,创建一个包含git-svn扩展的本地Git库。在下面的示例中,使用Subversion的本地协议(file://)来访问之前创立的Subversion示例版本库,实际上git-svn可以使用任何Subversion可用的协议,并可以对远程版本库进行操作。

+
$ git svn clone -s file:///path/to/svn/repos/demo git-svn-demo
+Initialized empty Git repository in /path/to/my/workspace/git-svn-demo/.git/
+r1 = 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4 (refs/remotes/trunk)
+        A       README
+r2 = 1863f91b45def159a3ed2c4c4c9428c25213f956 (refs/remotes/trunk)
+Found possible branch point: file:///path/to/svn/repos/demo/trunk => file:///path/to/svn/repos/demo/branches/demo-1.0, 2
+Found branch parent: (refs/remotes/demo-1.0) 1863f91b45def159a3ed2c4c4c9428c25213f956
+Following parent with do_switch
+Successfully followed parent
+r3 = 1adcd5526976fe2a796d932ff92d6c41b7eedcc4 (refs/remotes/demo-1.0)
+Found possible branch point: file:///path/to/svn/repos/demo/trunk => file:///path/to/svn/repos/demo/tags/v1.0, 2
+Found branch parent: (refs/remotes/tags/v1.0) 1863f91b45def159a3ed2c4c4c9428c25213f956
+Following parent with do_switch
+Successfully followed parent
+r4 = c12aa40c494b495a846e73ab5a3c787ca1ad81e9 (refs/remotes/tags/v1.0)
+Checked out HEAD:
+  file:///path/to/svn/repos/demo/trunk r2
+
+
+

从上面的输出可以看出,当执行了git svn clone之后,在本地工作目录创建了一个Git库(git-svn-demo),并将Subversion的每一个提交都转换为Git库中的提交。进入git-svn-demo目录,看看用git-svn克隆出来的版本库。

+
$ cd git-svn-demo/
+$ git branch -a
+* master
+  remotes/demo-1.0
+  remotes/tags/v1.0
+  remotes/trunk
+$ git log
+commit 1863f91b45def159a3ed2c4c4c9428c25213f956
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:49:41 2010 +0000
+
+    hello
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@2 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:47:03 2010 +0000
+
+    initialized.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@1 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

看到Subversion版本库的分支和里程碑都被克隆出来,并保存在refs/remotes下的引用中。在git log的输出中,可以看到Subversion的提交的确被转换为Git的提交。

+

下面就可以在Git库中进行修改,并在本地提交(用git commit命令)。

+
$ cat README
+hello
+$ echo "I am fine." >> README
+$ git add -u
+$ git commit -m "my hack 1."
+[master 55e5fd7] my hack 1.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+$ echo "Thank you." >> README
+$ git add -u
+$ git commit -m "my hack 2."
+[master f1e00b5] my hack 2.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

对工作区中的README文件修改了两次,并进行了本地的提交。查看这时的提交日志,会发现最新两个只在本地Subversion版本库的提交和之前Subversion 中的提交的不同。区别在于最新在Git中的提交没有用git-svn-id:标签标记的行。

+
$ git log
+commit f1e00b52209f6522dd8135d27e86370de552a7b6
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Nov 4 15:05:47 2010 +0800
+
+    my hack 2.
+
+commit 55e5fd794e6208703aa999004ec2e422b3673ade
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Nov 4 15:05:32 2010 +0800
+
+    my hack 1.
+
+commit 1863f91b45def159a3ed2c4c4c9428c25213f956
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:49:41 2010 +0000
+
+    hello
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@2 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:47:03 2010 +0000
+
+    initialized.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@1 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

现在就可以向Subversion服务器推送改动了。但真实的环境中,往往在向服务器推 +送时,已经有其他用户已经在服务器上进行了提交,而且往往更糟的是,先于我们 +的提交会造成我们的提交冲突!现在就人为的制造一个冲突:使用svn命令在Subversion版本库中执行一次提交。

+
$ svn checkout file:///path/to/svn/repos/demo/trunk demo
+A    demo/README
+取出版本 4。
+$ cd demo/
+$ cat README
+hello
+$ echo "HELLO." > README
+$ svn commit -m "hello -> HELLO."
+正在发送       README
+传输文件数据.
+提交后的版本为 5。
+
+
+

好的,已经模拟了一个用户先于我们更改了Subversion版本库。现在回到用git-svn克隆的本地版本库,执行git svn dcommit操作,将Git中的提交推送的Subversion版本库中。

+
$ git svn dcommit
+Committing to file:///path/to/svn/repos/demo/trunk ...
+事务过时: 文件 “/trunk/README” 已经过时 at /usr/lib/git-core/git-svn line 572
+
+
+

显然,由于Subversion版本库中包含了新的提交,导致执行git svn dcommit出错。这时需执行git svn fetch命令,以从Subversion版本库获取更新。

+
$ git svn fetch
+        M       README
+r5 = fae6dab863ed2152f71bcb2348d476d47194fdd4 (refs/remotes/trunk)
+$ git st
+# On branch master
+nothing to commit (working directory clean)
+
+
+

当获取了新的Subversion提交之后,需要执行git svn rebase将Git中未推送到Subversion的提交通过变基(rebase)形成包含Subversion最新提交的线性提交。这是因为Subversion的提交都是线性的。

+
$ git svn rebase
+First, rewinding head to replay your work on top of it...
+Applying: my hack 1.
+Using index info to reconstruct a base tree...
+Falling back to patching base and 3-way merge...
+Auto-merging README
+CONFLICT (content): Merge conflict in README
+Failed to merge in the changes.
+Patch failed at 0001 my hack 1.
+
+When you have resolved this problem run "git rebase --continue".
+If you would prefer to skip this patch, instead run "git rebase --skip".
+To restore the original branch and stop rebasing run "git rebase --abort".
+
+rebase refs/remotes/trunk: command returned error: 1
+
+
+

果不其然,变基时发生了冲突,这是因为Subversion中他人的修改和我们在Git库中的修改都改动了同一个文件,并且改动了相近的行。下面按照git rebase冲突解决的一般步骤进行,直到成功完成变基操作。

+

先编辑README文件,以解决冲突。

+
$ git status
+# Not currently on any branch.
+# Unmerged paths:
+#   (use "git reset HEAD <file>..." to unstage)
+#   (use "git add/rm <file>..." as appropriate to mark resolution)
+#
+#       both modified:      README
+#
+no changes added to commit (use "git add" and/or "git commit -a")
+
+$ vi README
+
+
+

处于冲突状态的REAEME文件内容。

+
<<<<<<< HEAD
+HELLO.
+=======
+hello
+I am fine.
+>>>>>>> my hack 1.
+
+
+

下面是修改后的内容。保存退出。

+
HELLO.
+I am fine.
+
+
+

执行git add命令解决冲突

+
$ git add README
+
+
+

调用git rebase –continue完成变基操作。

+
$ git rebase --continue
+Applying: my hack 1.
+Applying: my hack 2.
+Using index info to reconstruct a base tree...
+Falling back to patching base and 3-way merge...
+Auto-merging README
+
+
+

看看变基之后的Git库日志:

+
$ git log
+commit e382f2e99eca07bc3a92ece89f80a7a5457acfd8
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Nov 4 15:05:47 2010 +0800
+
+    my hack 2.
+
+commit 6e7e0c7dccf5a072404a28f06ce0c83d77988b0b
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Nov 4 15:05:32 2010 +0800
+
+    my hack 1.
+
+commit fae6dab863ed2152f71bcb2348d476d47194fdd4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Thu Nov 4 07:15:58 2010 +0000
+
+    hello -> HELLO.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@5 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 1863f91b45def159a3ed2c4c4c9428c25213f956
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:49:41 2010 +0000
+
+    hello
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@2 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:47:03 2010 +0000
+
+    initialized.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@1 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

当变基操作成功完成后,再执行git svn dcommit向Subversion推送Git库中的两个新提交。

+
$ git svn dcommit
+Committing to file:///path/to/svn/repos/demo/trunk ...
+        M       README
+Committed r6
+        M       README
+r6 = d0eb86bdfad4720e0a24edc49ec2b52e50473e83 (refs/remotes/trunk)
+No changes between current HEAD and refs/remotes/trunk
+Resetting to the latest refs/remotes/trunk
+Unstaged changes after reset:
+M       README
+        M       README
+Committed r7
+        M       README
+r7 = 69f4aa56eb96230aedd7c643f65d03b618ccc9e5 (refs/remotes/trunk)
+No changes between current HEAD and refs/remotes/trunk
+Resetting to the latest refs/remotes/trunk
+
+
+

推送之后本地Git库中最新的两个提交的提交说明中也嵌入了git-svn-id:标签。这个标签的作用非常重要,在下一节会予以介绍。

+
$ git log -2
+commit 69f4aa56eb96230aedd7c643f65d03b618ccc9e5
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Thu Nov 4 07:56:38 2010 +0000
+
+    my hack 2.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@7 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit d0eb86bdfad4720e0a24edc49ec2b52e50473e83
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Thu Nov 4 07:56:37 2010 +0000
+
+    my hack 1.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@6 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+
+
+

4.7.2. git-svn的奥秘

+

通过上面对git-svn的工作流程的介绍,相信读者已经能够体会到git-svn的强大。那么git-svn是怎么做到的呢?

+

git-svn只是在本地Git库中增加了一些附加的设置,特殊的引用,和引入附加的可重建的数据库实现对Subversion版本库的跟踪。

+
+

4.7.2.1. Git库配置文件的扩展及分支映射

+

当执行git svn init或者git svn clone时,git-svn会通过在Git库的配置文件中增加一个小节,记录Subversion版本库的URL,以及Subversion分支/里程碑和本地Git库的引用之间的对应关系。

+

例如:当执行git svn clone -s file:///path/to/svn/repos/demo指令时,会在创建的本地Git库的配置文件.git/config中引入下面新的配置:

+
[svn-remote "svn"]
+        url = file:///path/to/svn/repos/demo
+        fetch = trunk:refs/remotes/trunk
+        branches = branches/*:refs/remotes/*
+        tags = tags/*:refs/remotes/tags/*
+
+
+

缺省svn-remote的名字为“svn”,所以新增的配置小节的名字为:[svn-remote "svn"]。在git-svn克隆时,可以使用--remote参数设置不同的svn-remote名称,但是并不建议使用。因为一旦使用--remote参数更改svn-remote名称,必须在git-svn的其他命令中都使用--remote参数,否则报告[svn-remote "svn"]配置小节未找到。

+

在该小节中主要的配置有:

+
    +
  • url = <URL>

    +

    设置Subversion版本库的地址

    +
  • +
  • fetch = <svn-path>:<git-refspec>

    +

    Subversion的开发主线和Git版本库引用的对应关系。

    +

    在上例中Subversion的trunk目录对应于Git的refs/remotes/trunk引用。

    +
  • +
  • branches = <svn-path>:<git-refspec>

    +

    Subversion的开发分支和Git版本库引用的对应关系。可以包含多条branches的设置,以便将分散在不同目录下的分支汇总。

    +

    在上例中Subversion的branches子目录下一级子目录(branches/*)所代表的分支在Git的refs/remotes/名字空间下建立引用。

    +
  • +
  • tags = <svn-path>:<git-refspec>

    +

    Subversion的里程碑和Git版本库引用的对应关系。可以包含多条tags的设置,以便将分散在不同目录下的里程碑汇总。

    +

    在上例中Subversion的tags子目录下一级子目录(tags/*)所代表的里程碑在Git的refs/remotes/tags名字空间下建立引用。

    +
  • +
+

可以看到Subversion的主线和分支缺省都直接被映射到refs/remotes/下。如trunk主线对应于refs/remotes/trunk,分支demo-1.0对应于refs/remotes/demo-1.0。Subversion的里程碑因为有可能和分支同名,因此被映射到refs/remotes/tags/之下,这样就里程碑和分支的映射放到不同目录下,不会互相影响。

+
+
+

4.7.2.2. Git工作分支和Subversion如何对应?

+

Git缺省工作的分支是master,而看到上例中的Subversion主线在Git中对应的远程分支为refs/remotes/trunk。那么在执行git svn rebase时,git-svn是如何知道当前的HEAD对应的分支基于哪个Subversion跟踪分支进行变基?还有就是执行git svn dcommit时,当前的工作分支应该将改动推送到哪个Subversion分支中去呢?

+

很自然的会按照Git的方式进行思考,期望在.git/config配置文件中找到类似[branch master]之类的配置小节。实际上,在git-svn的Git库的配置文件中可能根本就不存在[branch ...]小节。那么git-svn是如何确定当前Git工作分支和远程Subversion版本库的分支建立对应的呢?

+

其实奥秘就在Git的日志中。当在工作区执行git log时,会看到包含git-svn-id:标识的特殊日志。发现的最近的一个git-svn-id:标识会确定当前分支提交的Subversion分支。

+

下面继续上一节的示例,先切换到分支,并将提交推送到Subversion的分支demo-1.0中。

+

首先在Git库中会看到有一个对应于Subversion分支的远程分支和一个对应于Subversion里程碑的远程引用。

+
$ git branch -r
+  demo-1.0
+  tags/v1.0
+  trunk
+
+
+

然后基于远程分支demo-1.0建立本地工作分支myhack

+
$ git checkout -b myhack refs/remotes/demo-1.0
+Switched to a new branch 'myhack'
+$ git branch
+  master
+* myhack
+
+
+

myhack分支做一些改动,并提交。

+
$ echo "Git" >> README
+$ git add -u
+$ git commit -m "say hello to Git."
+[myhack d391fd7] say hello to Git.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

下面看看Git的提交日志。

+
$ git log --first-parent
+commit d391fd75c33f62307c3add1498987fa3eb70238e
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Fri Nov 5 09:40:21 2010 +0800
+
+    say hello to Git.
+
+commit 1adcd5526976fe2a796d932ff92d6c41b7eedcc4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:54:19 2010 +0000
+
+    new branch: demo-1.0
+
+    git-svn-id: file:///path/to/svn/repos/demo/branches/demo-1.0@3 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 1863f91b45def159a3ed2c4c4c9428c25213f956
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:49:41 2010 +0000
+
+    hello
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@2 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+commit 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4
+Author: jiangxin <jiangxin@f79726c4-f016-41bd-acd5-6c9acb7664b2>
+Date:   Mon Nov 1 05:47:03 2010 +0000
+
+    initialized.
+
+    git-svn-id: file:///path/to/svn/repos/demo/trunk@1 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

看到了上述Git日志中出现的第一个git-svn-id:标识的内容为:

+
git-svn-id: file:///path/to/svn/repos/demo/branches/demo-1.0@3 f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

这就是说,当需要将Git提交推送给Subversion服务器时,需要推送到地址:file:///path/to/svn/repos/demo/branches/demo-1.0

+

执行git svn dcommit,果然是推送到Subversion的demo-1.0分支。

+
$ git svn dcommit
+Committing to file:///path/to/svn/repos/demo/branches/demo-1.0 ...
+        M       README
+Committed r8
+        M       README
+r8 = a8b32d1b533d308bef59101c1f2c9a16baf91e48 (refs/remotes/demo-1.0)
+No changes between current HEAD and refs/remotes/demo-1.0
+Resetting to the latest refs/remotes/demo-1.0
+
+
+
+
+

4.7.2.3. 其他辅助文件

+

在Git版本库中,git-svn在.git/svn目录下保存了一些索引文件,便于git-svn更加快速的执行。

+

文件.git/svn/.metadata文件是类似于.git/config文件一样的INI文件,其中保存了版本库的URL,版本库UUID,分支和里程碑的最后获取的版本号等。

+
; This file is used internally by git-svn
+; You should not have to edit it
+[svn-remote "svn"]
+        reposRoot = file:///path/to/svn/repos/demo
+        uuid = f79726c4-f016-41bd-acd5-6c9acb7664b2
+        branches-maxRev = 8
+        tags-maxRev = 8
+
+
+

.git/svn/refs/remotes目录下以各个分支和里程碑为名的各个子目录下都包含一个.rev_map.<SVN-UUID>的索引文件,这个文件用于记录Subversion的提交ID和Git的提交ID的映射。

+

目录.git/svn的辅助文件由git-svn维护,不要手工修改否则会造成git-svn不能正常工作。

+
+
+
+

4.7.3. 多样的git-svn克隆模式

+

在前面的git-svn示例中,使用git svn clone命令完成对远程版本库的克隆,实际上git svn clone相当于两条命令,即:

+
git svn clone = git svn init + git svn fetch
+
+
+

命令git svn init只完成两个工作。一个是在本地建立一个空的Git版本库,另外是修改.git/config文件,在其中建立Subversion和Git之间的分支映射关系。在实际使用中,我更喜欢使用git svn init命令,因为这样可以对Subversion和Git的分支映射进行手工修改。该命令的用法是:

+
用法: git svn init [options] <subversion-url> [local-dir]
+
+可选的主要参数有:
+
+    --stdlayout, -s
+    --trunk, -T <arg>
+    --branches, --b=s@
+    --tags, --t=s@
+    --config-dir <arg>
+    --ignore-paths <arg>
+    --prefix <arg>
+    --username <arg>
+
+
+

其中--username参数用于设定远程Subversion服务器认证时提供的用户名。参数--prefix用于设置在Git的refs/remotes下保存引用时使用的前缀。参数--ignore-paths后面跟一个正则表达式定义忽略的文件列表,这些文件将不予克隆。

+

最常用的参数是-s。该参数和前面演示的git clone命令中的一样,即使用标准的分支/里程碑部署方式克隆Subversion版本库。Subversion约定俗成使用trunk目录跟踪主线的开发,使用branches目录保存各个分支,使用tags目录来记录里程碑。

+

即命令:

+
$ git svn init -s file:///path/to/svn/repos/demo
+
+
+

和下面的命令等效:

+
$ git svn init -T trunk -b branches -t tags file:///path/to/svn/repos/demo
+
+
+

有的Subversion版本库的分支可能分散于不同的目录下,例如有的位于branches目录,有的位于sandbox目录,则可以用下面命令:

+
$ git svn init -T trunk -b branches -b sandbox -t tags file:///path/to/svn/repos/demo git-svn-test
+Initialized empty Git repository in /path/to/my/workspace/git-svn-test/.git/
+
+
+

查看本地克隆版本库的配置文件:

+
$ cat git-svn-test/.git/config
+[core]
+        repositoryformatversion = 0
+        filemode = true
+        bare = false
+        logallrefupdates = true
+[svn-remote "svn"]
+        url = file:///path/to/svn/repos/demo
+        fetch = trunk:refs/remotes/trunk
+        branches = branches/*:refs/remotes/*
+        branches = sandbox/*:refs/remotes/*
+        tags = tags/*:refs/remotes/tags/*
+
+
+

可以看到在[svn-remote "svn"]小节中包含了两条branches配置,这就会实现将Subversion分散于不同目录的分支都克隆出来。如果担心Subversion的branches目录和sandbox目录下出现同名的分支导致在Git库的refs/remotes/下造成覆盖,可以在版本库尚未执行git svn fetch之前编辑.git/config文件,避免可能出现的覆盖。例如编辑后的[svn-remote "svn"]配置小节:

+
[svn-remote "svn"]
+        url = file:///path/to/svn/repos/demo
+        fetch = trunk:refs/remotes/trunk
+        branches = branches/*:refs/remotes/branches/*
+        branches = sandbox/*:refs/remotes/sandbox/*
+        tags = tags/*:refs/remotes/tags/*
+
+
+

如果项目的分支或里程碑非常多,也可以修改[svn-remote "svn"]配置小节中的版本号通配符,使得只获取部分分支或里程碑。例如下面的配置小节:

+
[svn-remote "svn"]
+        url = http://server.org/svn
+        fetch = trunk/src:refs/remotes/trunk
+        branches = branches/{red,green}/src:refs/remotes/branches/*
+        tags = tags/{1.0,2.0}/src:refs/remotes/tags/*
+
+
+

如果只关心Subversion的某个分支甚至某个子目录,而不关心其他分支或目录,那就更简单了,不带参数的执行git svn init针对Subversion的某个具体路径执行初始化就可以了。

+
$ git svn init file:///path/to/svn/repos/demo/trunk
+
+
+

有的情况下,版本库太大,而且对历史不感兴趣,可以只克隆最近的部分提交。这时可以通过git svn fetch命令的-r参数实现部分提交的克隆。

+
$ git svn init file:///path/to/svn/repos/demo/trunk git-svn-test
+Initialized empty Git repository in /path/to/my/workspace/git-svn-test/.git/
+$ cd git-svn-test
+$ git svn fetch -r 6:HEAD
+        A       README
+r6 = 053b641b7edd2f1a59a007f27862d98fe5bcda57 (refs/remotes/git-svn)
+        M       README
+r7 = 75c17ea61d8527334855a51e65ac98c981f545d7 (refs/remotes/git-svn)
+Checked out HEAD:
+  file:///path/to/svn/repos/demo/trunk r7
+
+
+

当然也可以使用git svn clone命令实现部分克隆:

+
$ git svn clone -r 6:HEAD \
+      file:///path/to/svn/repos/demo/trunk git-svn-test
+Initialized empty Git repository in /path/to/my/workspace/git-svn-test/.git/
+        A       README
+r6 = 053b641b7edd2f1a59a007f27862d98fe5bcda57 (refs/remotes/git-svn)
+        M       README
+r7 = 75c17ea61d8527334855a51e65ac98c981f545d7 (refs/remotes/git-svn)
+Checked out HEAD:
+  file:///path/to/svn/repos/demo/trunk r7
+
+
+
+
+

4.7.4. 共享git-svn的克隆库

+

当一个Subversion版本库非常庞大而且和不在同一个局域网内,执行git svn clone可能需要花费很多时间。为了避免因重复执行git svn clone导致时间上的浪费,可以将一个已经使用git-svn克隆出来的Git库共享,其他人基于此Git进行克隆,然后再用特殊的方法重建和Subversion的关联。还记得之前提到过,.git/svn目录下的辅助文件可以重建么?

+

例如通过工作区中已经存在的git-svn-demo执行克隆。

+
$ git clone git-svn-demo myclone
+Initialized empty Git repository in /path/to/my/workspace/myclone/.git/
+
+
+

进入新的克隆中,会发现新的克隆缺乏跟踪Subversion分支的引用,即refs/remotes/trunk等。

+
$ cd myclone/
+$ git br -a
+* master
+  remotes/origin/HEAD -> origin/master
+  remotes/origin/master
+  remotes/origin/myhack
+
+
+

这是因为Git克隆缺省不复制远程版本库的refs/remotes/下的引用。可以用git fetch命令获取refs/remotes的引用。

+
$ git fetch origin refs/remotes/*:refs/remotes/*
+From /path/to/my/workspace/git-svn-demo
+ * [new branch]      demo-1.0   -> demo-1.0
+ * [new branch]      tags/v1.0  -> tags/v1.0
+ * [new branch]      trunk      -> trunk
+
+
+

现在这个从git-svn库中克隆出来的版本库已经有了相同的Subversion跟踪分支,但是.git/config文件还缺乏相应的[svn-remote "svn"]配置。可以通过使用同样的git svn init命令实现。

+
$ pwd
+/path/to/my/workspace/myclone
+
+$ git svn init -s file:///path/to/svn/repos/demo
+
+$ git config --get-regexp 'svn-remote.*'
+svn-remote.svn.url file:///path/to/svn/repos/demo
+svn-remote.svn.fetch trunk:refs/remotes/trunk
+svn-remote.svn.branches branches/*:refs/remotes/*
+svn-remote.svn.tags tags/*:refs/remotes/tags/*
+
+
+

但是克隆版本库相比用git-svn克隆的版本库还缺乏.git/svn下的辅助文件。实际上可以用git svn rebase命令重建,同时这条命令也可以变基到Subversion相应分支的最新提交上。

+
$ git svn rebase
+Rebuilding .git/svn/refs/remotes/trunk/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2 ...
+r1 = 2c73d657dfc3a1ceca9d465b0b98f9e123b92bb4
+r2 = 1863f91b45def159a3ed2c4c4c9428c25213f956
+r5 = fae6dab863ed2152f71bcb2348d476d47194fdd4
+r6 = d0eb86bdfad4720e0a24edc49ec2b52e50473e83
+r7 = 69f4aa56eb96230aedd7c643f65d03b618ccc9e5
+Done rebuilding .git/svn/refs/remotes/trunk/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2
+Current branch master is up to date.
+
+
+

如果执行git svn fetch则会对所有的分支都进行重建。

+
$ git svn fetch
+Rebuilding .git/svn/refs/remotes/demo-1.0/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2 ...
+r3 = 1adcd5526976fe2a796d932ff92d6c41b7eedcc4
+r8 = a8b32d1b533d308bef59101c1f2c9a16baf91e48
+Done rebuilding .git/svn/refs/remotes/demo-1.0/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2
+Rebuilding .git/svn/refs/remotes/tags/v1.0/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2 ...
+r4 = c12aa40c494b495a846e73ab5a3c787ca1ad81e9
+Done rebuilding .git/svn/refs/remotes/tags/v1.0/.rev_map.f79726c4-f016-41bd-acd5-6c9acb7664b2
+
+
+

至此,从git-svn克隆库二次克隆的Git库,已经和原生的git-svn库一样使用git-svn命令了。

+
+
+

4.7.5. git-svn的局限

+

Subversion和Git的分支实现有着巨大的不同。Subversion的分支和里程碑,是用轻量级拷贝实现的,虽然创建分支和里程碑的速度也很快,但是很难维护。即使Subversion在1.5之后引入了svn:mergeinfo属性对合并过程进行标记,但是也不可能让Subversion的分支逻辑更清晰。git-svn无须利用svn:mergeinfo属性也可实现对Subversion合并的追踪,在合并的时候也不会对svn:mergeinfo属性进行更改,因此在使用git-svn操作时,如果在不同分支间进行合并,会导致 +Subversion的svn:mergeinfo属性没有相应的更新,导致Subversion用户进行合并时因为重复合并导致冲突。

+

简而言之,在使用git-svn时尽量不要在不同的分支之间进行合并,而是尽量在一个分支下线性的提交。这种线性的提交会很好的推送到Subversion服务器中。

+

如果真的需要在不同的Subversion分支之间合并,尽量使用Subversion的客户端(svn 1.5版本或以上)执行,因为这样可以正确的记录svn:mergeinfo属性。当Subversion完成分支合并后,在git-svn的克隆库中执行git svn rebase命令获取最新的Subversion提交并变基到相应的跟踪分支中。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/04-git-model/index.html b/04-git-model/index.html new file mode 100644 index 000000000..a44fa9835 --- /dev/null +++ b/04-git-model/index.html @@ -0,0 +1,254 @@ + + + + + + + + + 4. Git协同模型 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

3.6. 补丁文件交互

+

下一个主题

+

4.1. 经典Git协同模型

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

4. Git协同模型

+

分布式的版本控制会不会造成开发中的无序,导致版本管理的崩溃?对于习惯了如Subversion这类的集中式版本控制系统的用户,脑子里一定会有这个疑问。

+

作为分布式版本控制系统,每一个Git克隆都是一个完整的版本库,可以提供一个版本控制服务器所能提供的一切服务,即每个人的机器都是一台服务器。与之相反,像Subversion那样的集中式版本控制系统,只拥有唯一的版本控制服务器,所有团队成员都使用客户端与之交互,大部分操作要通过网络传输来实现。对于习惯了和唯一服务器交互的团队,转换到Git后,该如何协同团队的工作呢?在第21章“经典Git协同模型”中会介绍集中式和金字塔式两种主要的协同工作模型。

+

基于某个项目进行二次开发,需要使用不同的工作模型。原始的项目称为上游项目,不能直接在上游项目中提交,可能是因为授权的原因或者是因为目标用户的需求不同。这种基于上游项目进行二次开发,实际上是对各个独特的功能分支进行管理,同时又能对上游项目的开发进度进行兼收并蓄式的合并。第22章“Topgit协同模型”会重点介绍这一方面的内容。

+

多个版本库组成一个项目,在实际应用中并不罕见。一部分原因可能是版本库需要依赖第三方的版本库,这时第23章介绍的“子模组协同模型”就可以派上用场。有的时候还要对第三方的版本库进行定制,第24章“子树合并”提供了一个解决方案。有的时候,为了管理方便(授权或者项目确实太庞杂),多个版本库共同组成一个大的项目,例如Google Android项目就是由近200个版本库组成的。第25章“Android式多版本库协同”提供了一个非常有趣的解决方案,解决了“子模组协同模型”的管理上的难题。

+

在本篇的最后(第26章),会介绍git-svn这一工具。可能因为公司对代码严格的授权要求,而不能将公司的版本控制服务器从Subversion迁移到Git(实际可以通过对Git版本库细粒度拆分实现授权管理),可是这并不能阻止个人使用git-svn作为前端工具操作Subversion版本库。git-svn可以让Git和Subversion完美的协同工作。

+

目录:

+
+ +
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/010-http.html b/05-git-server/010-http.html new file mode 100644 index 000000000..ea4687297 --- /dev/null +++ b/05-git-server/010-http.html @@ -0,0 +1,454 @@ + + + + + + + + + 5.1. 使用HTTP协议 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

5. 搭建Git服务器

+

下一个主题

+

5.2. 使用Git协议

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5.1. 使用HTTP协议

+

HTTP协议是版本控制工具普遍采用的协议,具有安全(HTTPS),方便(跨越防火墙)等优点。Git在 1.6.6版本之前对HTTP协议支持有限,是哑协议,访问效率低,但是在1.6.6之后,通过一个CGI实现了智能的HTTP协议支持。

+
+

5.1.1. 哑传输协议

+

所谓的哑传输协议(dumb protocol)就是在Git服务器和Git客户端的会话过程中只使用了相关协议提供的基本传输功能,而未针对Git的传输特点进行相关优化设计。采用哑协议,Git客户端和服务器间的通讯缺乏效率,用户使用时最直观的体验之一就是在操作过程没有进度提示,应用会一直停在那里直到整个通讯过程处理完毕。

+

但是哑传输协议配置起来却非常的简单。通过哑HTTP协议提供Git服务,基本上就是把包含Git版本库的目录通过HTTP服务器共享出来。下面的Apache配置片段就将整个目录/path/to/repos共享,然后就可以通过地址http://<服务器名称>/git/<版本库名称>访问该共享目录下所有的Git版本库。

+
Alias /git /path/to/repos
+
+<Directory /path/to/repos>
+    Options FollowSymLinks
+    AllowOverride None
+    Order Allow,Deny
+    Allow from all
+</Directory>
+
+
+

如果以为直接把现存的Git版本库移动到该目录下就可以直接用HTTP协议访问,可就大错特错了。因为哑协议下的Git版本库需要包含两个特殊的文件,并且这两个文件要随Git版本库更新。例如将一个包含提交数据的裸版本库复制到路径/path/to/repos/myrepos.git中,然后使用下面命令克隆该版本库(服务器名称为server),可能会看到如下错误:

+
$ git clone http://server/git/myrepos.git
+正克隆到 'myrepos'...
+fatal: repository 'http://server/git/myrepos.git/' not found
+
+
+

这时,您仅需在Git版本库目录下执行git update-server-info命令即可在Git版本库中创建哑协议需要的相关文件。

+
$ git update-server-info
+
+
+

然后该Git版本库即可正常访问了。如下:

+
$ git clone http://server/git/myrepos.git
+正克隆到 'myrepos'...
+检查连接... 完成。
+
+
+

从上面的介绍中可以看出在使用哑HTTP协议时,服务器端运行git update-server-info的重要性。运行该命令会产生或更新两个文件:

+
    +
  • 文件.git/info/refs:该文件中包含了版本库中所有的引用列表,每一个引用都指向正确的SHA1哈希值。
  • +
  • 文件.git/objects/info/packs:该文件记录Git对象库中打包文件列表。
  • +
+

正是通过这两个文件,Git客户端才检索到版本库的引用列表和对象库的包列表,从而实现对版本库的读取操作。

+

为支持哑HTTP协议,必须在版本库更新后及时更新上述两个文件。幸好Git版本库的钩子脚本post-update可以帮助完成这个无聊的工作。在版本库的hooks目录下创建可执行脚本文件post-update,内容如下:

+
#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info
+
+
+

哑HTTP协议也可以对版本库写操作提供支持,即允许客户端向服务器推送。这需要在Apache中为版本库设置WebDAV,并配置口令认证。例如下面的Apache配置片段:

+
Alias /git /path/to/repos
+
+<Directory /path/to/repos>
+    Options FollowSymLinks
+    AllowOverride None
+    Order Allow,Deny
+    Allow from all
+
+    # 启用 WebDAV
+    DAV on
+
+    # 简单口令认证
+    AuthType Basic
+    AuthName "Git Repository"
+    AuthBasicProvider file
+    # 该口令文件用 htpasswd 命令进行管理
+    AuthUserFile /path/to/git-passwd
+    Require valid-user
+
+    # 基于主机IP的认证和基于口令的认证必须同时满足
+    Satisfy All
+</Directory>
+
+
+

配置了口令认证后,最好使用HTTPS协议访问服务器,以避免因为口令在网络中明文传输造成口令泄露。还可以在URL地址中加上用户名,以免在连接过程中的重复输入。下面的示例中以特定用户(如:jiangxin)身份访问版本库:

+
    +
  • 如果版本库尚未克隆,使用如下命令克隆:

    +
    $ git clone https://jiangxin@server/git/myrepo.git
    +
    +
    +
  • +
  • 如果已经克隆了版本库,可以执行下面命令修改远程origin版本库的URL地址:

    +
    $ cd myrepos
    +$ git remote set-url origin https://jiangxin@server/git/myrepo.git
    +$ git pull
    +
    +
    +
  • +
+

第一次连接服务器,会提示输入口令。正确输入口令后,完成克隆或版本库的更新。试着在版本库中添加新的提交,然后执行git push推送到HTTP服务器。

+

如果推送失败,可能是WebDAV配置的问题,或者是版本库的文件、目录的权限不正确(需要能够被执行Apache进程的用户可以读写)。一个诊断Apache的小窍门是查看和跟踪Apache的配置文件[1]。如下:

+
$ tail -f /var/www/error.log
+
+
+
+
+

5.1.2. 智能HTTP协议

+

Git 1.6.6之后的版本,提供了针对HTTP协议的CGI程序git-http-backend,实现了智能的HTTP协议支持。同时也要求Git客户端的版本也不低于1.6.6。

+

查看文件git-http-backend的安装位置,可以用如下命令。

+
$ ls $(git --exec-path)/git-http-backend
+/usr/lib/git-core/git-http-backend
+
+
+

在Apache2中为Git配置智能HTTP协议如下。

+
SetEnv GIT_PROJECT_ROOT /var/www/git
+SetEnv GIT_HTTP_EXPORT_ALL
+ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
+
+
+

说明:

+
    +
  • 第一行设置版本库的根目录为/var/www/git

    +
  • +
  • 第二行设置所有版本库均可访问,无论是否在版本库中存在git-daemon-export-ok文件。

    +

    缺省只有在版本库目录中存在文件git-daemon-export-ok,该版本库才可以访问。这个文件是git-daemon服务的一个特性。

    +
  • +
  • 第三行,就是使用git-http-backendCGI脚本来相应客户端的请求。

    +

    当用地址http://server/git/myrepo.git访问时,即由此CGI提供服务。

    +
  • +
+

写操作授权

+

上面的配置只能提供版本库的读取服务,若想提供基于HTTP协议的写操作,必须添加认证的配置指令。当用户通过认证后,才能对版本库进行写操作。

+

下面的Apache配置,在前面配置的基础上,为Git写操作提供授权:

+
<LocationMatch "^/git/.*/git-receive-pack$">
+  AuthType Basic
+  AuthName "Git Access"
+  AuthType Basic
+  AuthBasicProvider file
+  AuthUserFile /path/to/passwd/file
+  ...
+</LocationMatch>
+
+
+

读和写均需授权

+

如果需要对读操作也进行授权,那就更简单了,一个Location语句就够了。

+
<Location /git/private>
+  AuthType Basic
+  AuthName "Git Access"
+  AuthType Basic
+  AuthBasicProvider file
+  AuthUserFile /path/to/passwd/file
+  ...
+</Location>
+
+
+

对静态文件的直接访问

+

如果对静态文件的访问不经过CGI程序,直接由Apache提供服务,会提高访问性能。

+

下面的设置对Git版本库中的objects目录下文件的访问,不经过CGI。

+
SetEnv GIT_PROJECT_ROOT /var/www/git
+
+AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$          /var/www/git/$1
+AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1
+ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
+
+
+

Git的智能HTTP服务彻底打破了以前哑传输协议给HTTP协议带来的恶劣印象,让HTTP协议成为Git服务的一个重要选项。但是在授权的管理上,智能HTTP服务仅仅依赖Apache自身的授权模型,相比后面要介绍的Gitosis和Gitolite,可管理性要弱的多。

+
    +
  • 创建版本库只能在服务器端进行,不能通过远程客户端进行。
  • +
  • 配置认证和授权,也只能在服务器端进行,不能在客户端远程配置。
  • +
  • 版本库的写操作授权只能进行非零即壹的授权,不能针对分支甚至路径进行授权。
  • +
+

需要企业级的版本库管理,还需要考虑后面介绍的基于SSH协议的Gitolite或Gitosis。

+
+
+

5.1.3. Gitweb服务器

+

前面介绍的HTTP哑协议和智能HTTP协议服务架设,都可以用于提供Git版本库的读写服务,而本节介绍的Gitweb作为一个Web应用,只提供版本库的图形化浏览功能,而不能提供版本库本身的读写。

+

Gitweb是用Perl语言开发的CGI脚本,架设比较方便。Gitweb支持多个版本库,可以对版本库进行目录浏览(包括历史版本),可以查看文件内容,查看提交历史,提供搜索以及RSS feed支持。也可以提供目录文件的打包下载等。图27-1就是kernel.org上的Gitweb示例。

+
+../images/gitweb-kernel-org_full.png +

图27-1:Gitweb界面(kernel.org)

+
+
+

5.1.3.1. Gitweb安装

+

各个Linux平台都会提供Gitweb软件包。如在Debian/Ubuntu上安装Gitweb:

+
$ sudo aptitude install gitweb
+
+
+

安装文件列表:

+
    +
  • 配置文件:/etc/gitweb.conf
  • +
  • Apache配置文件:/etc/apache2/conf.d/gitweb。默认设置用URL地址/gitweb来访问Gitweb服务。
  • +
  • CGI脚本:/usr/share/gitweb/index.cgi
  • +
  • 其他附属文件:/usr/share/gitweb/*,如:图片和css等。
  • +
+
+
+

5.1.3.2. Gitweb配置

+

编辑/etc/gitweb.conf,更改Gitweb的默认设置。

+
    +
  • 版本库根目录的设置。

    +
    $projectroot = "/var/cache/git";
    +
    +
    +
  • +
  • 访问版本库多种协议的地址设置。

    +

    Gitweb可以为每个版本库显示访问的协议地址。可以在列表中填入多个地址。

    +
    @git_base_url_list = ("git://bj.ossxp.com/git", "ssh://git\@bj.ossxp.com", "http://bj.ossxp.com/git");
    +
    +
    +
  • +
  • 增加 actions 菜单

    +
    $feature{'actions'}{'default'} = [('git', 'git://bj.ossxp.com/git/%n', 'tree')];
    +
    +
    +
  • +
  • 在首页上显示自定义信息

    +

    设定自定义HTML的文件名。

    +
    $home_text = "indextext.html";
    +
    +
    +

    在CGI脚本所在的目录下,创建indextext.html文件。下面是我们公司(北京群英汇信息技术有限公司)内部gitweb自定义首页的内容。

    +
    <html>
    +<head>
    +</head>
    +<body>
    +<h2>群英汇 - git 代码库</h2>
    +<ul>
    +  <li>点击版本库,进入相应的版本库页面,有 URL 指向一个 git://... 的检出链接</li>
    +  <li>使用命令 git clone git://... 来克隆一个版本库</li>
    +  <li>对于名称中含有 <i>-gitsvn</i> 字样的代码库, 是用 git-svn 从 svn 代码库镜像而来的。对于它们的镜像,需要做进一步的工作。
    +    <ul>
    +      <li>要将 git 库的远程分支(.git/ref/remotes/*) 也同步到本地!
    +        <pre>
    +        $ git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
    +        $ git fetch
    +        </pre>
    +      </li>
    +      <li>如果需要克隆库和 Subversion 同步。用 git-svn 初始化代码库,并使得相关配置和源保持一致 </li>
    +    </ul>
    +  </li>
    +</ul>
    +</body>
    +</html>
    +
    +
    +
  • +
  • 版本库列表。

    +

    缺省扫描版本库根目录,查找版本库。如果版本库非常多,这个查找过程可能很耗时,可以提供一个文本文件包含版本库的列表,会加速Gitweb显示初始化。

    +
    # $projects_list = $projectroot;
    +$projects_list = "/home/git/gitosis/projects.list";
    +
    +
    +

    后面介绍的Gitosis和Gitolite都可以自动生成这么一个版本库列表,供Gitweb使用。

    +
  • +
  • Gitweb菜单定制。

    +
      +
    • 在tree view文件的旁边显示追溯(blame)链接。

      +
      $feature{'blame'}{'default'} = [1];
      +$feature{'blame'}{'override'} = 1;
      +
      +
      +
    • +
    • 可以通过版本库的配置文件config对版本库进行单独设置。

      +

      下面的设置覆盖Gitweb的全局设置,不对该项目显示blame菜单。

      +
      [gitweb]
      +blame = 0
      +
      +
      +
    • +
    • 为每个tree添加快照(snapshot)下载链接。

      +
      $feature{'pickaxe'}{'default'} = [1];
      +$feature{'pickaxe'}{'override'} = 1;
      +$feature{'snapshot'}{'default'} = ['zip', 'tgz'];
      +$feature{'snapshot'}{'override'} = 1;
      +
      +
      +
    • +
    +
  • +
+
+
+

5.1.3.3. 版本库的Gitweb相关设置

+

可以通过Git版本库下的配置文件,定制版本库在Gitweb下的显示。

+
    +
  • 文件description

    +

    提供一行简短的git库描述。显示在版本库列表中。

    +

    也可以通过config配置文件中的gitweb.description进行设置。但是文件优先。

    +
  • +
  • 文件README.html

    +

    提供更详细的项目描述,显示在Gitweb项目页面中。

    +
  • +
  • 文件cloneurl

    +

    版本库访问的URL地址,一个一行。

    +
  • +
  • 文件config

    +

    通过[gitweb]小节的配置,覆盖Gitweb全局设置。

    +
      +
    • gitweb.owner用于显示版本库的创建者。
    • +
    • gitweb.description显示项目的简短描述,也可以通过description文件来提供。(文件优先)
    • +
    • gitweb.url显示项目的URL列表,也可以通过cloneurl文件来提供。(文件优先)
    • +
    +
  • +
+ + + + + +
[1]Apache日志文件的位置参见Apache配置文件中ErrorLog指令的设定。
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/020-git.html b/05-git-server/020-git.html new file mode 100644 index 000000000..e942111b0 --- /dev/null +++ b/05-git-server/020-git.html @@ -0,0 +1,218 @@ + + + + + + + + + 5.2. 使用Git协议 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

5.1. 使用HTTP协议

+

下一个主题

+

5.3. 使用SSH协议

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5.2. 使用Git协议

+

Git协议是提供Git版本库只读服务的最为常用的协议,也是非常易用和易于配置的协议。该协议的缺点就是不能提供身份认证,而且一般也不提供写入服务。

+
+

5.2.1. Git协议语法格式

+

Git协议的语法格式如下。

+
语法: git://<server>[:<port>]/path/to/repos.git/
+
+
+

说明:

+
    +
  • 端口为可选项,默认端口为9418。
  • +
  • 版本库路径/path/to/repos.git的根目录并不一定是系统的根目录,可以在git-daemon启动时用参数--base-path指定根目录。如果git-daemon没有设置根目录,则对应于系统的根目录。
  • +
+
+
+

5.2.2. Git服务软件

+

Git服务由名为git-daemon的服务软件提供。虽然git-daemon也可以支持写操作,但因为git-daemon没有提供认证支持,因此没有人胆敢配置git-daemon提供匿名的写服务。使用git-daemon提供的Git版本库的只读服务,效率很高,而且是一种智能协议,在操作过程有进度显示,远比HTTP哑通讯协议方便(Git 1.6.6之后的版本已经支持智能HTTP通讯协议)。因此git-daemon很久一来,一直是Git版本库只读服务的首选。

+

Git软件包本身提供了git-daemon,因此只要安装了Git,一般就已经安装了git-daemon。默认git-daemon并没有运行,需要对其进行配置以服务方式运行。下面介绍两种不同的配置运行方式。

+
+
+

5.2.3. 以inetd方式配置运行

+

最简单的方式,是以inetd服务方式运行git-daemon。在配置文件/etc/inetd.conf中添加设置如下:

+
git stream tcp nowait nobody  /usr/bin/git
+    git daemon --inetd --verbose --export-all
+    /gitroot/foo /gitroot/bar
+
+
+

说明:

+
    +
  • 以nobody用户身份执行git daemon服务。

    +
  • +
  • 缺省git daemon只对包含文件git-daemon-export-ok的版本库提供服务。使用参数--export-all后,无论版本库是否存在标识文件git-daemon-export-ok,都对版本库提供Git协议支持。

    +
  • +
  • 后面的两个参数是版本库。

    +

    也可以通过--base-path=<path>参数,设置版本库的根,对于这个目录下的所有版本库提供访问服务。例如下面的inetd配置:

    +
    git stream tcp nowait nobody  /usr/bin/git
    +    git daemon --inetd --verbose --export-all
    +    --base-path=/var/cache /var/cache/git
    +
    +
    +
  • +
+
+
+

5.2.4. 以runit方式配置运行

+

runit是类似于sysvinit的服务管理进程,但是更简单。在Debian/Ubuntu上的软件包git-daemon-run就是基于runit启动git-daemon服务。

+
    +
  • 安装git-daemon-run

    +
    $ sudo aptitude install git-daemon-run
    +
    +
    +
  • +
  • 配置git-daemon-run

    +

    缺省的服务配置文件:/etc/sv/git-daemon/run。和之前的inetd运行方式相比,以独立的服务进程启动,相应速度更快。

    +
    #!/bin/sh
    +exec 2>&1
    +echo 'git-daemon starting.'
    +exec chpst -ugitdaemon \
    +  "$(git --exec-path)"/git-daemon --verbose --export-all --base-path=/var/cache /var/cache/git
    +
    +
    +
  • +
+

缺省版本库中需要存在文件git-daemon-export-ok,git-daemon才对此版本库提供服务。不过可以通过启动git-daemon时提供的参数--export-all,无论版本库是否存在标识文件git-daemon-export-ok,都对版本库提供Git协议支持。

+

通过git-daemon提供的Git访问协议存在着局限性:

+
    +
  • 不支持认证。管理员大概可以做的只是配置防火墙,限制某个网段用户的使用。
  • +
  • 只能提供匿名的版本库读取服务。因为写操作没有授权控制,因此一般不用来提供写操作。
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/030-ssh.html b/05-git-server/030-ssh.html new file mode 100644 index 000000000..21fbcbd06 --- /dev/null +++ b/05-git-server/030-ssh.html @@ -0,0 +1,346 @@ + + + + + + + + + 5.3. 使用SSH协议 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

5.2. 使用Git协议

+

下一个主题

+

5.4. Gitolite服务架设

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5.3. 使用SSH协议

+

SSH协议用于为Git提供远程读写操作,是远程写操作的标准服务,在智能HTTP协议出现之前,甚至是写操作的唯一标准服务。

+
+

5.3.1. SSH协议语法格式

+

对于拥有shell登录权限的用户帐号,可以用下面的语法访问Git版本库:

+
语法1: ssh://[<username>@]<server>[:<port>]/path/to/repos/myrepo.git
+语法2: [<username>@]<server>:/path/to/repos/myrepo.git
+
+
+

说明:

+
    +
  • SSH协议地址格式可以使用两种不同的写法,第一种是使用ssh://开头的SSH协议标准URL写法,另外一种是SCP格式的写法。

    +

    两种写法均可,SSH协议标准URL写法稍嫌复杂,但是对于非标准SSH端口(非22端口),可以通过URL给出端口号。

    +
  • +
  • <username>是服务器<server>上的用户帐号。

    +

    如果省略用户名,则缺省使用当前登录用户名(配置和使用了服务器别名除外)。

    +
  • +
  • <port>为SSH协议端口缺省为22。

    +

    端口只有在SSH协议标准URL写法可以给出,如果省略则使用缺省值22(配置和使用了服务器别名除外)。

    +
  • +
  • /path/to/repos/myrepo.git是服务器中版本库的绝对路径。若用相对路径则相对于username用户的主目录而言。

    +
  • +
  • 如果采用口令认证,不能像HTTPS协议那样可以在URL中同时给出登录名和口令,必须每次连接时输入。

    +
  • +
  • 如果采用公钥认证,则无须输入口令。

    +
  • +
+
+
+

5.3.2. 服务架设方式比较

+

SSH协议来实现Git服务,有如下方式:

+
    +
  • 其一是用标准的ssh帐号访问版本库。即用户帐号可以直接登录到服务器,获得shell。

    +

    对于这种使用标准SSH帐号方式,直接使用标准的SSH服务就可以了,无须赘述。

    +
  • +
  • 另外的方式是,所有用户都使用同一个专用的SSH帐号访问版本库。各个用户通过公钥认证的方式用此专用SSH帐号访问版本库。而用户在连接时使用的不同的公钥可以用于区分不同的用户身份。

    +

    Gitosis和Gitolite就是实现该方式的两个服务器软件。

    +
  • +
+

标准SSH帐号和专用SSH帐号的区别见表29-1。

+
+

表29-1:不同SSH服务架设Git的对照

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 标准SSHGitosis/Gitolite
帐号每个用户一个帐号所有用户共用同一个帐号
认证方式口令或公钥认证公钥认证
用户是否能直接登录shell
安全性
管理员是否需要shell
版本库路径相对路径或绝对路径相对路径
授权方式操作系统中用户组和目录权限通过配置文件授权
对分支进行写授权Gitolite
对路径进行写授权Gitolite
架设难易度简单复杂
+
+

实际上,标准SSH,也可以用公钥认证的方式实现所有用户共用同一个帐号。不过这类似于把一个公共帐号的登录口令同时告诉给多个人。

+
    +
  • 在服务器端(server)创建一个公共帐号,例如:anonymous。

    +
  • +
  • 管理员收集需要访问git服务的用户公钥。如:user1.pubuser2.pub

    +
  • +
  • 使用ssh-copy-id命令远程将各个git用户的公钥加入服务器(server)的公钥认证列表中。

    +
    $ ssh-copy-id -i user1.pub anonymous@server
    +$ ssh-copy-id -i user2.pub anonymous@server
    +
    +
    +

    如果直接在服务器上操作,则直接将文件追加到authorized_keys文件中。

    +
    $ cat /path/to/user1.pub >> ~anonymous/.ssh/authorized_keys
    +$ cat /path/to/user2.pub >> ~anonymous/.ssh/authorized_keys
    +
    +
    +
  • +
  • 在服务器端的anonymous用户主目录下建立git库,就可以实现多个用户利用同一个系统帐号(git)访问Git服务了。

    +
  • +
+

这样做除了免除了逐一设置帐号,以及用户无需口令认证之外,标准SSH部署Git服务的缺点一个也不少,而且因为用户之间无法区分,更无法进行针对用户授权。

+

下面重点介绍一下SSH公钥认证,因为它们是后面介绍的Gitosis和Gitolite服务器软件的基础。

+
+
+

5.3.3. 关于SSH公钥认证

+

关于公钥认证的原理,维基百科上的这个条目是一个很好的起点:http://en.wikipedia.org/wiki/Public-key_cryptography

+

如果用户的主目录下不存在.ssh目录,说明SSH公钥/私钥对尚未创建。可以用这个命令创建:

+
+
$ ssh-keygen
+

该命令会在用户主目录下创建.ssh目录,并在其中创建两个文件:

+
    +
  • id_rsa

    +

    私钥文件。是基于RSA算法创建。该私钥文件要妥善保管,不要泄漏。

    +
  • +
  • id_rsa.pub

    +

    公钥文件。和id_rsa文件是一对儿,该文件作为公钥文件,可以公开。

    +
  • +
+

创建了自己的公钥/私钥对后,就可以使用下面的命令,实现无口令登录远程服务器,即用公钥认证取代口令认证。

+
$ ssh-copy-id -i .ssh/id_rsa.pub <user>@<server>
+
+
+

说明:

+
    +
  • 该命令会提示输入用户user在server上的SSH登录口令。
  • +
  • 当此命令执行成功后,再以user用户登录server远程主机时,不必输入口令直接登录。
  • +
  • 该命令实际上将.ssh/id_rsa.pub公钥文件追加到远程主机server的user主目录下的.ssh/authorized_keys文件中。
  • +
+

检查公钥认证是否生效,运行SSH到远程主机,正常的话应该直接登录成功。如果要求输入口令则表明公钥认证配置存在问题。如果SSH登录存在问题,可以通过查看服务器端的/var/log/auth.log日志文件进行诊断。

+
+
+

5.3.4. 关于SSH主机别名

+

在实际应用中,有时需要使用多套公钥/私钥对,例如:

+
    +
  • 使用默认的公钥访问git帐号,获取shell,进行管理员维护工作。
  • +
  • 使用单独创建的公钥访问git帐号,执行git命令。
  • +
  • 访问GitHub(免费的Git服务托管商)采用其他公钥。
  • +
+

首先要能够创建不同名称的公钥/私钥对。还是用ssh-keygen命令,如下:

+
$ ssh-keygen -f ~/.ssh/<filename>
+
+
+

注:

+
    +
  • <filename>替换为有意义的名称。
  • +
  • 会在~/.ssh目录下创建指定的公钥/私钥对。 +文件<filename>是私钥,文件<filename>.pub是公钥。
  • +
+

将新生成的公钥添加到远程主机的.ssh/authorized_keys文件中,建立新的公钥认证。例如:

+
$ ssh-copy-id -i .ssh/<filename>.pub <user>@<server>
+
+
+

这样,就有两个公钥用于登录主机server,那么当执行下面的ssh登录指令,用到的是那个公钥呢?

+
$ ssh <user>@<server>
+
+
+

当然是默认公钥~/.ssh/id_rsa.pub。那么如何用新建的公钥连接server呢?

+

SSH的客户端配置文件~/.ssh/config可以通过创建主机别名,在连接主机时,使用特定的公钥。例如~/.ssh/config文件中的下列配置:

+
host bj
+  user git
+  hostname bj.ossxp.com
+  port 22
+  identityfile ~/.ssh/jiangxin
+
+
+

当执行

+
$ ssh bj
+
+
+

或者执行

+
$ git clone bj:path/to/repos/myrepo.git
+
+
+

含义为:

+
    +
  • 登录的SSH主机为bj.ossxp.com
  • +
  • 登录时使用的用户名为git。
  • +
  • 认证时使用的公钥文件为~/.ssh/jiangxin.pub
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/040-gitolite.html b/05-git-server/040-gitolite.html new file mode 100644 index 000000000..25acff227 --- /dev/null +++ b/05-git-server/040-gitolite.html @@ -0,0 +1,1292 @@ + + + + + + + + + 5.4. Gitolite服务架设 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

5.3. 使用SSH协议

+

下一个主题

+

5.5. Gitosis服务架设

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5.4. Gitolite服务架设

+

Gitolite是一款Perl语言开发的Git服务管理工具,通过公钥对用户进行认证,并能够通过配置文件对写操作进行基于分支和路径的精细授权。Gitolite采用的是SSH协议并且使用SSH公钥认证,因此无论是管理员还是普通用户,都需要对SSH非常熟悉。在开始之前,请确认您已经通读过第29章“使用SSH协议”。

+

Gitolite的官方网址是:http://github.com/sitaramc/gitolite。从提交日志里可以看出作者是Sitaram Chamarty,最早的提交开始于 2009年8月。作者是受到了Gitosis的启发,开发了这款功能更为强大和易于安装的软件。Gitolite的命名,作者的原意是Gitosis和lite的组合,不过因为Gitolite的功能越来越强大,已经超越了Gitosis,因此作者笑称Gitolite可以看作是Github-lite——轻量级的Github。

+

我是在2010年8月才发现Gitolite这个项目的,并尝试将公司基于Gitosis的管理系统迁移至Gitolite。在迁移和使用过程中,增加和改进了一些实现,如:通配符版本库的创建过程,对创建者的授权,版本库名称映射等。本文关于Gitolite的介绍也是基于我改进的版本[1]

+ +

Gitolite的实现机制和使用特点概述如下:

+
    +
  • Gitolite安装在服务器(server)某个帐号之下,例如git帐号。

    +
  • +
  • 管理员通过git命令检出名为gitolite-admin的版本库。

    +
    $ git clone git@server:gitolite-admin.git
    +
    +
    +
  • +
  • 管理员将所有Git用户的公钥保存在gitolite-admin库的keydir目录下,并编辑conf/gitolite.conf文件为用户授权。

    +
  • +
  • 当管理员提交对gitolite-admin库的修改并推送到服务器之后,服务器上gitolite-admin版本库的钩子脚本将执行相应的设置工作。

    +
      +
    • 新用户的公钥自动追加到服务器端安装帐号主目录下的.ssh/authorized_keys文件中,并设置该用户的shell为gitolite的一条命令gl-auth-command。在.ssh/authorized_keys文件中增加的内容示例如下: [2]

      +
      command="/home/git/bin/gl-auth-command jiangxin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2...(公钥内容来自于 jiangxin.pub)...
      +
      +
      +
    • +
    • 更新服务器端的授权文件~/.gitolite/conf/gitolite.conf

      +
    • +
    • 编译授权文件为~/.gitolite/conf/gitolite.conf-compiled.pm

      +
    • +
    +
  • +
  • 若用ssh命令登录服务器(以git用户登录)时,因为公钥认证的相关设置(使用gl-auth-command作为shell),不能进入shell环境,而是打印服务器端git库授权信息后马上退出。即用户不会通过git用户进入服务器的shell,也不会对系统的安全造成威胁。

    +
    $ ssh git@bj
    +hello jiangxin, the gitolite version here is v1.5.5-9-g4c11bd8
    +the gitolite config gives you the following access:
    +     R          gistore-bj.ossxp.com/.*$
    +  C  R  W       ossxp/.*$
    + @C @R  W       users/jiangxin/.+$
    +Connection to bj closed.
    +
    +
    +
  • +
  • 用户可以用git命令访问授权的版本库。

    +
  • +
  • 若管理员授权,用户可以远程在服务器上创建新版本库。

    +
  • +
+

下面介绍Gitolite的部署和使用。

+
+

5.4.1. 安装Gitolite

+

安装Gitolite(2.1版本)对服务器的要求是:

+
    +
  • Git版本为1.6.6或以上。
  • +
  • Unix或类Unix(Linux、MacOS等)操作系统。
  • +
  • 服务器开启SSH服务。
  • +
+

和其他Unix上软件包一样Gitolite既可通过操作系统本身提供的二进制发布包方式安装,也可通过克隆Gitolite源码库从源代码安装Gitolite。

+
+

注解

+

老版本的Gitolite提供了一种从客户端发起安装的模式,但该安装模式需要管理员维护两套不同公钥/私钥对(一个公钥用于无口令登录服务器以安装和更新软件,另外一个公钥用于克隆和推送gitolite-admin版本库),稍嫌复杂,在2.1之后的Gitolite取消了这种安装模式。

+
+
+

5.4.1.1. 安装之前

+

Gitolite搭建的Git服务器是以SSH公钥认证为基础的,无论是普通Git用户还是Gitolite的管理员都通过公钥认证访问Gitolite服务器。在Gitolite的安装过程中需要提供管理员公钥,以便在Gitolite安装完毕后管理员能够远程克隆gitolite-admin版本库(仅对管理员授权),对Gitolite服务器进行管理——添加新用户和为用户添加授权。

+

为此在安装Gitolite之前,管理员需要在客户端(用于远程管理Gitolite服务器的客户端)创建用于连接Gitolite服务器的SSH公钥(如果尚不存在的话),并把公钥文件拷贝到服务器上。

+
    +
  1. 在客户端创建SSH公钥/私钥对。

    +

    如果管理员在客户端尚未创建公钥/私钥对,使用下面的命令会在用户主目录下创建名为~/.ssh/id_rsa的SSH私钥和名为~/.ssh/id_rsa.pub的公钥文件:

    +
    $ ssh-keygen
    +
    +
    +
  2. +
  3. 将公钥文件从客户端复制到服务器端,以便安装Gitolite时备用。

    +

    可以使用ftp或U盘拷贝等方式从客户端向服务器端传送文件,不过用scp命令是非常方便的,例如服务器地址为server,相应的拷贝命令为:

    +
    $ scp ~/.ssh/id_rsa.pub server:/tmp/admin.pub
    +
    +
    +
  4. +
+
+
+

5.4.1.2. 以发布包形式安装

+

常见的Linux发行版都包含了Gitolite软件包,安装Gitolite使用如下命令:

+
    +
  • Debian/Ubuntu:

    +
    $ sudo aptitude install gitolite
    +
    +
    +
  • +
  • RedHat:

    +
    $ sudo yum install gitolite
    +
    +
    +
  • +
+

安装完毕后会自动创建一个专用系统账号如gitolite。在Debian平台上创建的gitolite账号使用/var/lib/gitolite作为用户主目录,而非/home/gitolite

+
$ getent passwd gitolite
+gitolite:x:114:121:git repository hosting,,,:/var/lib/gitolite:/bin/bash
+
+
+

安装完毕,运行如下命令完成对Gitolite的配置:

+
    +
  1. 切换至新创建的gitolite用户账号。

    +
    $ sudo su - gitolite
    +
    +
    +
  2. +
  3. 运行gl-setup命令,并以客户端复制过来的公钥文件路径作为参数。

    +
    $ gl-setup /tmp/admin.pub
    +
    +
    +
  4. +
+

Debian等平台会在安装过程中(或运行sudo dpkg-reconfigure gitolite命令时),开启配置界面要求用户输入Gitolite专用账号、Git版本库根目录、管理员公钥文件名,然后自动执行gl-setup完成设置。

+
+
+

5.4.1.3. 从源代码开始安装

+

如果想在系统中部署多个Gitolite实例,希望部署最新的Gitolite版本,或者希望安装自己或他人对Gitolite的定制版本,就要采用从源代码进行Gitolite部署。

+
    +
  1. 创建专用系统账号。

    +

    首先需要在服务器上创建Gitolite专用帐号。因为所有用户都要通过此帐号访问Git版本库,为方便易记一般选择更为简练的git作为专用帐号名称。

    +
    $ sudo adduser --system --group --shell /bin/bash git
    +
    +
    +

    注意添加的用户要能够远程登录,若系统只允许特定用户组(如ssh用户组)的用户才可以通过SSH协议登录,就需要将新建的git用户添加到该特定的用户组中。执行下面的命令可以将git用户添加到ssh用户组。

    +
    $ sudo adduser git ssh
    +
    +
    +

    取消git用户的口令,以便只能通过公钥对git账号进行认证,增加系统安全性。

    +
    $ sudo passwd --delete git
    +
    +
    +
  2. +
  3. 切换到新创建的用户账号,后续的安装都以该用户身份执行。

    +
    $ sudo su - git
    +
    +
    +
  4. +
  5. 在服务器端下载Gitolite源码。一个更加“Git”的方式就是克隆Gitolite的版本库。

    +
      +
    • 克隆官方的Gitolite版本库如下:

      +
      $ git clone git://github.com/sitaramc/gitolite.git
      +
      +
      +
    • +
    • 也可以克隆定制后的Gitolite版本库,如我在GitHub上基于Gitolite官方版本库建立的分支版本:

      +
      $ git clone git://github.com/ossxp-com/gitolite.git
      +
      +
      +
    • +
    +
  6. +
  7. 安装Gitolite。

    +

    运行源码目录中的src/gl-system-install执行安装。

    +
    $ cd gitolite
    +$ src/gl-system-install
    +
    +
    +

    如果像上面那样不带参数的执行安装程序,会将Gitolite相关命令安装到~/bin目录中,相当于执行:

    +
    $ src/gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
    +
    +
    +
  8. +
  9. 运行gl-setup完成设置。

    +

    若Gitolite安装到~/bin目录下(即没有安装到系统目录下),需要设置PATH环境变量以便gl-setup能够正常运行。

    +
    $ export PATH=~/bin:$PATH
    +
    +
    +

    然后运行gl-setup命令,并以客户端复制过来的公钥文件路径作为参数。

    +
    $ ~/bin/gl-setup /tmp/admin.pub
    +
    +
    +
  10. +
+
+
+
+

5.4.2. 管理Gitolite

+
+

5.4.2.1. 管理员克隆gitolite-admin管理库

+

当Gitolite安装完成后,就会在服务器端版本库根目录下创建一个用于管理Gitolite的版本库。若以git用户安装,则该Git版本库的路径为:~git/repositories/gitolite-admin.git

+

在客户端用ssh命令连接服务器servergit用户,如果公钥认证验证正确的话,Gitolite将此SSH会话的用户认证为admin用户,显示admin用户的权限。如下:

+
$ ssh -T git@server
+hello admin, this is gitolite v2.1-7-ge5c49b7 running on git 1.7.7.1
+the gitolite config gives you the following access:
+     R   W      gitolite-admin
+    @R_ @W_     testing
+
+
+

从上面命令的倒数第二行输出可以看出用户admin对版本库gitolite-admin拥有读写权限。

+

为了对Gitolite服务器进行管理,需要在客户端克隆gitolite-admin版本库,使用如下命令:

+
$ git clone git@server:gitolite-admin.git
+$ cd gitolite-admin/
+
+
+

在客户端克隆的gitolite-admin目录下有两个子目录conf/keydir/,包含如下文件:

+
    +
  • 文件:keydir/admin.pub

    +

    目录keydir下初始时只有一个用户公钥,即管理员admin的公钥。

    +
  • +
  • 文件:conf/gitolite.conf

    +

    该文件为授权文件。初始内容为:

    +
    repo    gitolite-admin
    +        RW+     =   admin
    +
    +repo    testing
    +        RW+     =   @all
    +
    +
    +

    默认授权文件中只设置了两个版本库的授权:

    +
      +
    • gitolite-admin

      +

      即本版本库。此版本库用于Gitolite管理,只有admin用户有读写和强制更新的权限。

      +
    • +
    • testing

      +

      默认设置的测试版本库。设置为任何人都可以读写及强制更新。

      +
    • +
    +
  • +
+
+
+

5.4.2.2. 增加新用户

+

增加新用户,就是允许新用户能够通过其公钥访问Git服务。只要将新用户的公钥添加到gitolite-admin版本库的keydir目录下,即完成新用户的添加,具体操作过程如下。

+
    +
  1. 管理员从用户获取公钥,并将公钥按照username.pub格式进行重命名。

    +
      +
    • 用户可以通过邮件或其他方式将公钥传递给管理员,切记不要将私钥误传给管理员。如果发生私钥泄漏,马上重新生成新的公钥/私钥对,并将新的公钥传递给管理员,并申请将旧的公钥作废。
    • +
    • 用户从不同的客户端主机访问有着不同的公钥,如果希望使用同一个用户名进行授权,可以按照username@host.pub的方式命名公钥文件,和名为username.pub的公钥指向同一个用户username
    • +
    • Gitolite也支持邮件地址格式的公钥,即形如username@gmail.com.pub的公钥。Gitolite能够很智能地区分是以邮件地址命名的公钥还是相同用户在不同主机上的公钥。如果是邮件地址命名的公钥,将以整个邮件地址作为用户名。
    • +
    • 还可以在keydir目录下创建子目录来管理用户公钥,同一用户的不同公钥可以用同一名称保存在不同子目录中。
    • +
    +
  2. +
  3. 管理员进入gitolite-admin本地克隆版本库中,复制新用户公钥到keydir目录。

    +
    $ cp /path/to/dev1.pub keydir/
    +$ cp /path/to/dev2.pub keydir/
    +$ cp /path/to/jiangxin.pub keydir/
    +
    +
    +
  4. +
  5. 执行git add命令,将公钥添加到版本库。

    +
    $ git add keydir
    +
    +
    +
  6. +
  7. 执行git commit,完成提交。

    +
    $ git commit -m "add user: jiangxin, dev1, dev2"
    +
    +
    +
  8. +
  9. 执行git push,同步到服务器,才真正完成新用户的添加。

    +
    $ git push
    +Counting objects: 8, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (6/6), done.
    +Writing objects: 100% (6/6), 1.38 KiB, done.
    +Total 6 (delta 0), reused 0 (delta 0)
    +remote: Already on 'master'
    +remote:
    +remote:                 ***** WARNING *****
    +remote:         the following users (pubkey files in parens) do not appear in the config file:
    +remote: dev1(dev1.pub),dev2(dev2.pub),jiangxin(jiangxin.pub)
    +
    +
    +

    git push的输出中,以remote标识的输出是服务器端执行post-update钩子脚本的错误输出,用于提示新增的三个用户(公钥)在授权文件中没有被引用。接下来会介绍如何修改授权文件,以及如何为用户添加授权。

    +
  10. +
+

服务器端的git主目录下的.ssh/authorized_keys文件会随着新增用户公钥而更新,即添加三条新的记录。如下:

+
$ cat ~git/.ssh/authorized_keys
+# gitolite start
+command="/home/git/bin/gl-auth-command admin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty    <用户admin的公钥...>
+command="/home/git/bin/gl-auth-command dev1",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty     <用户dev1的公钥...>
+command="/home/git/bin/gl-auth-command dev2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty     <用户dev2的公钥...>
+command="/home/git/bin/gl-auth-command jiangxin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <用户jiangxin的公钥...>
+# gitolite end
+
+
+
+
+

5.4.2.3. 更改授权

+

新用户添加完毕,接下来需要为新用户添加授权,这个过程也比较简单,只需修改conf/gitolite.conf配置文件,提交并推送。具体操作过程如下:

+
    +
  1. 管理员进入gitolite-admin本地克隆版本库中,编辑conf/gitolite.conf

    +
    $ vi conf/gitolite.conf
    +
    +
    +
  2. +
  3. 授权指令比较复杂,先通过建立新用户组尝试一下更改授权文件。

    +

    考虑到之前增加了三个用户公钥,服务器端发出了用户尚未在授权文件中出现的警告。现在就在这个示例中解决这个问题。

    +
      +
    • 可以在其中加入用户组@team1,将新添加的用户jiangxin、dev1、dev2都归属到这个组中。

      +

      只需要在conf/gitolite.conf文件的文件头加入如下指令即可。用户名之间用空格分隔。

      +
      @team1 = dev1 dev2 jiangxin
      +
      +
      +
    • +
    • 编辑完毕退出。可以用git diff命令查看改动:

      +

      还修改了版本库testing的授权,将@all用户组改为新建立的@team1用户组。

      +
      $ git diff
      +diff --git a/conf/gitolite.conf b/conf/gitolite.conf
      +index 6c5fdf8..f983a84 100644
      +--- a/conf/gitolite.conf
      ++++ b/conf/gitolite.conf
      +@@ -1,5 +1,7 @@
      ++@team1 = dev1 dev2 jiangxin
      ++
      + repo    gitolite-admin
      +         RW+     =   admin
      +
      + repo    testing
      +-        RW+     =   @all
      ++        RW+     =   @team1
      +
      +
      +
    • +
    +
  4. +
  5. 编辑结束,提交改动。

    +
    $ git add conf/gitolite.conf
    +$ git commit -q -m "new team @team1 auth for repo testing."
    +
    +
    +
  6. +
  7. 执行git push,同步到服务器,授权文件的更改才真正生效。

    +

    可以注意到,推送后的输出中没有了警告。

    +
    $ git push
    +Counting objects: 7, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (3/3), done.
    +Writing objects: 100% (4/4), 398 bytes, done.
    +Total 4 (delta 1), reused 0 (delta 0)
    +remote: Already on 'master'
    +To git@server:gitolite-admin.git
    +   bd81884..79b29e4  master -> master
    +
    +
    +
  8. +
+
+
+
+

5.4.3. Gitolite授权详解

+
+

5.4.3.1. 授权文件的基本语法

+

下面看一个不那么简单的授权文件。为方便描述添加了行号。

+
 1  @manager = jiangxin wangsheng
+ 2  @dev   = dev1 dev2 dev3
+ 3
+ 4  repo    gitolite-admin
+ 5          RW+                         = jiangxin
+ 6
+ 7  repo    ossxp/[a-z].+
+ 8          C                           = @manager
+ 9          RW+                         = CREATOR
+10          RW                          = WRITERS
+11          R                           = READERS @dev
+12
+13  repo    testing
+14          RW+                         =   @manager
+15          RW      master              =   @dev
+16          RW      refs/tags/v[0-9]    =   dev1
+17          -       refs/tags/          =   @all
+
+
+

在上面的示例中,演示了很多授权指令:

+
    +
  • 第1行,定义了用户组@manager,包含两个用户jiangxinwangsheng
  • +
  • 第2行,定义了用户组@dev,包含三个用户dev1dev2dev3
  • +
  • 第4-5行,定义了版本库gitolite-admin。指定只有超级用户jiangxin才能够访问,并拥有读(R)写(W)和强制更新(+)的权限。
  • +
  • 第7行,通过正则表达式为一组版本库进行批量授权。即针对ossxp目录下以小写字母开头的所有版本库进行授权。
  • +
  • 第8行,用户组@manager中的用户可以创建版本库。即可以在ossxp目录下创建以小写字母开头的版本库。
  • +
  • 第9行,版本库的创建者拥有对所创建版本库的完全权限。版本库的创建者是通过git push命令创建版本库的那一个人。
  • +
  • 第10-11行,出现了两个特殊角色WRITERSREADERS,这两个角色不在本配置文件中定义,而是由版本库创建者使用Gitolite支持的setperms命令进行设置。
  • +
  • 第11行,还设置了@dev用户组的用户对ossxp目录下的版本库具有读取权限。
  • +
  • 第13行开始,对testing版本库进行授权。其中使用了对引用授权的语法。
  • +
  • 第14行,用户组@manager对所有引用包括分支拥有读写、重置、添加和删除的授权,但里程碑除外,因为第17行定义了一条禁用规则。
  • +
  • 第15行,用户组@dev可以读写master分支。(还包括名字以master开头的其他分支,如果有的话。)
  • +
  • 第16行,用户dev1可以创建里程碑(即以refs/tags/v[0-9]开始的引用)。
  • +
  • 第17行,禁止所有人(@all)对以refs/tags/开头的引用进行写操作。实际上由于之前第14行和第16行建立的授权,用户组@manager的用户和用户dev1能够创建里程碑,而且用户组@manager还能删除里程碑。
  • +
+

下面针对授权指令进行详细的讲解。

+
+
+

5.4.3.2. 定义用户组和版本库组

+

conf/gitolite.conf授权文件中,可以定义用户组或版本库组。组名称以@字符开头,可以包含一个或多个成员。成员之间用空格分开。

+
    +
  • 例如定义管理员组:

    +
    @admin = jiangxin wangsheng
    +
    +
    +
  • +
  • 组可以嵌套:

    +
    @staff = @admin @engineers tester1
    +
    +
    +
  • +
+

除了作为用户组外,同样的语法也适用于版本库组。版本库组和用户组的定义没有任何区别,只是在版本库授权指令中处于不同的位置。即位于授权指令中的版本库位置代表版本库组,位于授权指令中的用户位置代表用户组。

+
+
+

5.4.3.3. 版本库ACL

+

一个版本库可以包含多条授权指令,这些授权指令组成了一个版本库的权限控制列表(ACL)。例如:

+
repo testing
+    RW+                 = jiangxin @admin
+    RW                  = @dev @test
+    R                   = @all
+
+
+
+

5.4.3.3.1. 版本库

+

每一个版本库授权都以一条repo指令开始。指令repo后面是版本库列表,版本之间用空格分开,还可以包括版本库组。示例如下:

+
repo sandbox/test1 sandbox/test2 @test_repos
+
+
+

注意版本库名称不要添加.git后缀,在版本库创建或权限匹配过程中会自动添加.git后缀。用repo指令定义的版本库会自动在服务器上创建,但使用正则表达式定义的通配符版本库除外。

+

通配符版本库就是在repo指令定义的版本库名称中使用了正则表达式。通配符版本库针对的不是某一个版本库,而是匹配一组版本库,这些版本库可能已经存在或尚未创建。例如下面的repo指令定义了一组通配符版本库。

+
repo redmine/[a-zA-Z].+
+
+
+

通配符版本库匹配时会自动在版本库名称前面加上前缀^,在后面添加后缀$。即通配符版本库对版本库名称进行完整匹配而非部分匹配,这一点和后面将要介绍的正则引用(refex)大不一样。

+

有时repo指令定义普通版本库和通配符版本库的界限并不是那么清晰,像下面这条repo指令:

+
repo ossxp/.+
+
+
+

因为点号(.)和加号(+)也可以作为普通字符出现在版本库名称中,这条指令会导致Gitolite创建ossxp目录,并在目录下创建名为.+.git的版本库。因此在定义通配符版本库时要尽量写得“复杂点”以免造成误判。

+
+

小技巧

+

我对Gitolite进行了一点改进,能够减少对诸如ossxp/.+通配符版本库误判的可能。并提供在定义通配符版本库时使用^前缀和$后缀,以减少误判。如使用如下方式定义通配符版本库:repo ^myrepo

+
+
+
+

5.4.3.3.2. 授权指令

+

repo指令之后是缩进的一条或多条授权指令。授权指令的语法如下:

+
<权限>  [零个或多个正则表达式匹配的引用] = <user> [<user> ...]
+
+
+

每条指令必须指定一个权限,称为授权关键字。包括传统的授权关键字:CRRWRW+,以及将分支创建和分支删除分离出来的扩展授权关键字:RWCRW+CRWDRW+DRWCDRW+CD

+

传统的授权关键字包括:

+
    +
  • C

    +

    C代表创建版本库,仅在对通配符版本库进行授权时方可使用。用于设定谁可以创建名称与通配符匹配的版本库。

    +
  • +
  • R

    +

    R代表只读权限。

    +
  • +
  • RW

    +

    RW代表读写权限。如果在同一组(针对同一版本库)授权指令中没有出现代表创建分支的扩展授权关键字,则RW还包括创建分支的权限,而不仅是在分支中的读写。

    +
  • +
  • RW+

    +

    RW+除了具有读写权限外,还可以强制推送(执行非快进式推送)。如果在同一组授权指令中没有出现代表分支删除的扩展授权关键字,则RW+还同时包含了创建分支和删除分支的授权。

    +
  • +
  • -

    +
  • +
+
+
-含义为禁用。因为禁用规则只在第二阶段授权生效[3],所以一般只用于撤销特定用户对特定分支或整个版本库的写操作授权。
+

扩展的授权关键字将创建分支和删除分支的权限从传统授权关键字中分离出来,从而新增了六个授权关键字。在一个版本库的授权指令中一旦发现创建分支和/或删除分支的授权使用了下列新的扩展授权关键字后,原有的RWRW+不再行使对创建分支和/或删除分支的授权。

+
    +
  • RWC

    +

    RWC代表读写授权、创建新引用(分支、里程碑等)的授权。

    +
  • +
  • RW+C

    +

    RW+C代表读写授权、强制推送和创建新引用的授权。

    +
  • +
  • RWD

    +

    RWD代表读写授权、删除引用的授权。

    +
  • +
  • RW+D

    +

    RW+D代表读写授权、强制推送和删除引用的授权。

    +
  • +
  • RWCD

    +

    RWCD代表读写授权、创建新引用和删除引用的授权。

    +
  • +
  • RW+CD

    +

    RW+CD代表读写授权、强制推送、创建新引用和删除引用的授权。

    +
  • +
+

授权关键字后面(等号前面)是一个可选的正则引用(refex)或正则引用列表(用空格分隔)。

+
    +
  • 正则表达式格式的引用,简称正则引用(refex),在授权检查时对Git版本库的引用进行匹配。
  • +
  • 如果在授权指令中省略正则引用,则意味着该授权指令对全部的引用都有效。
  • +
  • 正则引用如果不以refs/开头,会自动添加refs/heads/作为前缀。
  • +
  • 正则引用默认采用部分匹配策略,即如果不以$结尾,则后面可以匹配任意字符,相当于添加.*$作为后缀。
  • +
+

授权关键字后面(等号前面)也可以包含一个以NAME/为前缀的表达式,但这个表达式并非引用,而是路径。支持基于路径的写操作授权。

+

授权指令以等号(=)为标记分为前后两段,等号后面的是用户列表。用户之间用空格分隔,并且可以使用用户组。

+
+
+
+

5.4.3.4. Gitolite授权机制

+

Gitolite的授权实际分为两个阶段。第一个阶段称为前Git阶段,即在Git命令执行前,由SSH连接触发的gl-auth-command命令执行的授权检查。包括:

+
    +
  • 版本库的读。

    +

    如果用户拥有版本库或版本库的任意分支具有下列权限之一:RRWRW+(或其他扩展关键字),则整个版本库(包含所有分支)对用户均可读,否则版本库不可读取。

    +

    最让人迷惑的就是只为某用户分配了对某个分支的读授权(R),而该用户实际上能够读取版本库的任意分支。之所以Gitolite对读授权不能细化到分支甚至目录,只能针对版本库进行粗放的非零即壹的读操作授权,是因为读授权只在版本库授权的第一个阶段进行检查,而在此阶段还获取不到版本库的分支。

    +
  • +
  • 版本库的写。

    +

    版本库的写授权实际上要在两个阶段分别进行检查。本阶段,即第一阶段仅检查用户是否拥有下列权限之一:RWRW+C授权,具有这些授权则通过第一阶段的写权限检查。第二个阶段的授权检查由Git版本库的钩子脚本触发,能够实现基于分支和路径的写操作授权,以及对分支创建、删除和是否可强制更新进行授权检查,具体见第二阶段授权过程描述。

    +
  • +
  • 版本库的创建。

    +

    仅对正则表达式定义的通配符版本库有效。即拥有C授权的用户可以创建和相应的正则表达式匹配的版本库。创建版本库(尤其是通过执行git push命令创建版本库)不免要涉及到执行新创建的版本库的钩子脚本,所以需要为版本库设置一条创建者可读写的授权。如:

    +
    RW = CREATOR
    +
    +
    +
  • +
+

Gitolite对授权的第二个阶段的检查,实际上是通过update钩子脚本进行的。因为版本库的读操作不执行update钩子,所以读操作只在授权的第一个阶段(前Git阶段)就完成了检查,授权的第二个阶段仅对写操作进行更为精细的授权检查。

+
    +
  • 钩子脚本update针对推送操作的各个分支进行逐一检查,因此第二个阶段可以进行针对分支写操作的精细授权。
  • +
  • 在这个阶段可以获取到要更新的新、老引用的SHA1哈希值,因此可以判断出是否发生了非快进式推送、是否有新分支创建,以及是否发生了分支的删除,因此可以针对这些操作进行精细的授权。
  • +
  • 基于路径的写授权也是在这个阶段进行的。
  • +
+
+
+
+

5.4.4. 版本库授权案例

+

Gitolite的授权非常强大也很复杂,因此从版本库授权的实际案例来学习是非常行之有效的方式。

+
+

5.4.4.1. 常规版本库授权

+

授权文件如下:

+
1  @admin = jiangxin
+2  @dev   = dev1 dev2 badboy jiangxin
+3  @test  = test1 test2
+4
+5  repo testing
+6      RW+ = @admin
+7      R = @test
+8      - = badboy
+9      RW = @dev test1
+
+
+

关于授权的说明:

+
    +
  • 用户jiangxin对版本库具有写的权限,并能够强制推送。

    +

    由于用户jiangxin属于用户组@admin,通过第6行授权指令而具有读写权限,以及强制推送、创建和删除引用的权限。

    +
  • +
  • 用户test1对版本库具有写的权限。

    +

    第7行定义了test1所属的用户组@test具有只读权限。第9行定义了test1用户具有读写权限。Gitolite的实现是对读权限和写权限分别进行判断并汇总(并集),从而test1用户具有读写权限。

    +
  • +
  • 用户badboy对版本库只具有读操作的权限,没有写操作权限。

    +

    第8行的指令以减号(-)开始,是一条禁用指令。禁用指令只在授权的第二阶段起作用,即只对写操作起作用,不会对badboy用户的读权限施加影响。在第9行的指令中,badboy所在的@dev组拥有读写权限。但禁用规则会对写操作起作用,导致badboy只有读操作权限,而没有写操作。

    +
  • +
+

上面在Gitolite配置文件中对testing版本库进行的授权,当通过推送更新至Gitolite服务器上时,如果服务器端尚不存在一个名为testing的版本库,Gitolite会自动初始化一个空白的testing版本库。

+
+
+

5.4.4.2. 通配符版本库授权

+

授权文件如下:

+
 1   @administrators = jiangxin admin
+ 2   @dev            = dev1 dev2 badboy
+ 3   @test           = test1 test2
+ 4
+ 5   repo    sandbox/[a-z].+
+ 6           C       = @administrators
+ 7           RW+     = CREATOR
+ 8           R       = @test
+ 9           -       = badboy
+10           RW      = @dev test1
+
+
+

这个授权文件的版本库名称中使用了正则表达式,匹配在sandbox目录下的任意以小写字母开头的版本库。因为通配符版本库并非指代一个具体版本库,因而不会在服务器端自动创建,而是需要管理员手动创建。

+

创建和通配符匹配的版本库,Gitolite的原始实现是克隆即创建。例如管理员jiangxin创建名为sandbox/repos1.git版本库,执行下面命令:

+
jiangxin$ git clone git@server:sandbox/repos1.git
+
+
+

这种克隆即创建的方式很容易因为录入错误而导致意外创建错误的版本库。我改进的Gitolite需要通过推送来创建版本库。下面的示例通过推送操作(以jiangxin用户身份),远程创建版本库sandbox/repos1.git

+
jiangxin$ git remote add origin git@server:sandbox/repos1.git
+jiangxin$ git push origin master
+
+
+

对创建完成的sandbox/repo1.git版本库进行授权检查,会发现:

+
    +
  • 用户jiangxin对版本库具有读写权限,而用户admin则不能读取sandbox/repo1.git版本库。

    +

    第6行的授权指令同时为用户jiangxinadmin赋予了创建与通配符相符的版本库的权限。但因为版本库sandbox/repo1.git是由jiangxin而非admin创建的,所以第7条的授权指令只为版本库的创建者jiangxin赋予了读写权限。

    +

    Gitolite通过在服务器端该版本库目录下创建一个名为gl-creater的文件记录了版本库的创建者。

    +
  • +
  • 和之前的例子相同的是:

    +
      +
    • 用户test1对版本库具有写的权限。
    • +
    • 禁用指令让用户badboy对版本库仅具有只读权限。
    • +
    +
  • +
+

如果采用接下来的示例中的版本库权限设置,版本库sandbox/repo1.git的创建者jiangxin还可以使用setperms命令为版本库添加授权。具体用法参见下面的示例。

+
+
+

5.4.4.3. 每个人创建自己的版本库

+

授权文件如下:

+
1  @administrators = jiangxin admin
+2
+3  repo    users/CREATOR/[a-zA-Z].*
+4          C   =  @all
+5          RW+ =  CREATOR
+6          RW  =  WRITERS
+7          R   =  READERS @administrators
+
+
+

关于授权的说明:

+
    +
  • 第4条指令,设置用户可以在自己的名字空间(/usrs/<userid>/)下,自己创建版本库。例如下面就是用户dev1执行git push命令在Gitolite服务器上自己的名字空间下创建版本库。

    +
    dev1$ git push git@server:users/dev1/repos1.git master
    +
    +
    +
  • +
  • 第5条指令,设置版本库创建者对版本库具有完全权限。

    +

    即用户dev1拥有对其自建的users/dev1/repos1.git拥有最高权限。

    +
  • +
  • 第7条指令,让管理员组@administrators的用户对于users/下用户自建的版本库拥有读取权限。

    +
  • +
+

那么第6、7条授权指令中出现的WRITERSREADERS是如何定义的呢?实际上这两个变量可以看做是两个用户组,不过这两个用户组不是在Gitolite授权文件中设置,而是由版本库创建者执行ssh命令创建的。

+

版本库users/dev1/repos1.git的创建者dev1可以通过ssh命令连接服务器,使用setperms命令为自己的版本库设置角色。命令setperms的唯一一个参数就是版本库名称。当执行命令时,会自动进入一个编辑界面,手动输入角色定义后,按下^D(Ctrl+D)结束编辑。如下所示:

+
dev1$ ssh git@server setperms users/dev1/repos1.git
+READERS dev2 dev3
+WRITERS jiangxin
+^D
+
+
+

即在输入setperms指令后,进入一个编辑界面,输入^D(Ctrl+D)结束编辑。也可以将角色定义文件保存到文件中,用setperms指令加载。如下:

+
dev1$ cat > perms << EOF
+READERS dev2 dev3
+WRITERS jiangxin
+EOF
+
+dev1$ ssh git@server setperms users/dev1/repos1.git < perms
+New perms are:
+READERS dev2 dev3
+WRITERS jiangxin
+
+
+

当版本库创建者dev1对版本库users/dev1/repos1.git进行了如上设置后,Gitolite在进行授权检查时会将setperms设置的角色定义应用到授权文件中。故此版本库users/dev1/repos1.git中又补充了新的授权:

+
    +
  • 用户dev2dev3具有读取权限。
  • +
  • 用户jiangxin具有读写权限。
  • +
+

版本库users/dev1/repos1.git的建立者dev1可以使用getperms查看自己版本库的角色设置。如下:

+
dev1$ ssh git@server getperms users/dev1/repos1.git
+READERS dev2 dev3
+WRITERS jiangxin
+
+
+

如果在用户自定义授权中需要使用READERSWRITERS之外的角色,管理员可以通过修改gitolite.rc文件中的变量$GL_WILDREPOS_PERM_CATS实现。该变量的默认设置如下:

+
$GL_WILDREPOS_PERM_CATS = "READERS WRITERS";
+
+
+
+
+

5.4.4.4. 传统模式的引用授权

+

传统模式的引用授权指的是在授权指令中只采用RRWRW+的传统授权关键字,而不包括后面介绍的扩展授权指令。传统的授权指令没有把分支的创建和分支删除权限细分,而是和写操作及强制推送操作混杂在一起。

+
    +
  • 非快进式推送必须拥有上述关键字中的+方可授权。
  • +
  • 创建引用必须拥有上述关键字中的W方可授权。
  • +
  • 删除引用必须拥有上述关键字中的+方可授权。
  • +
  • 如果没有在授权指令中提供引用相关的参数,相当于提供refs/.*作为引用的参数,意味着对所有引用均有效。
  • +
+

授权文件:

+
1  @administrators = jiangxin admin
+2  @dev            = dev1 dev2 badboy
+3  @test           = test1 test2
+4
+5  repo    test/repo1
+6          RW+                           = @administrators
+7          RW master refs/heads/feature/ = @dev
+8          R                             = @test
+
+
+

关于授权的说明:

+
    +
  • 第6行,对于版本库test/repo1,管理员组用户jiangxinadmin可以读写任意分支、强制推送,以及创建和删除引用。
  • +
  • 第7行,用户组@dev除了对masterrefs/heads/feature/开头的引用具有读写权限外,实际上可以读取所有引用。这是因为读取操作授权阶段无法获知引用。
  • +
  • 第8行,用户组@test对版本库拥有只读授权。
  • +
+
+
+

5.4.4.5. 扩展模式的引用授权

+

扩展模式的引用授权,指的是该版本库的授权指令出现了下列授权关键字中的一个或多个:RWCRWDRWCDRW+CRW+DRW+CD,将分支的创建权限和删除权限从读写权限中分离出来,从而可对分支进行更为精细的权限控制。

+
    +
  • 非快进式推送必须拥有上述关键字中的+方可授权。
  • +
  • 创建引用必须拥有上述关键字中的C方可授权。
  • +
  • 删除引用必须拥有上述关键字中的D方可授权。
  • +
+

即引用的创建和删除使用了单独的授权关键字,和写权限和强制推送权限分开。

+

下面是一个采用扩展授权关键字的授权文件:

+
1   repo    test/repo2
+2           RW+C = @administrators
+3           RW+  = @dev
+4           RW   = @test
+5
+6   repo    test/repo3
+7           RW+CD = @administrators
+8           RW+C  = @dev
+9           RW    = @test
+
+
+

通过上面的配置文件,对于版本库test/repo2.git具有如下的授权:

+
    +
  • 第2行,用户组@administrators中的用户,具有创建和删除引用的权限,并且能强制推送。

    +

    其中创建引用来自授权关键字中的C,删除引用来自授权关键中的+,因为该版本库授权指令中没有出现D,因而删除应用授权沿用传统授权关键字。

    +
  • +
  • 第3行,用户组@dev中的用户,不能创建引用,但可以删除引用,并且可以强制推送。

    +

    因为第2行授权关键字中字符C的出现,使得创建引用采用扩展授权关键字,因而用户组@dev不具有创建引用的权限。

    +
  • +
  • 第4行,用户组@test中的用户,拥有读写权限,但是不能创建引用,不能删除引用,也不能强制推送。

    +
  • +
+

通过上面的配置文件,对于版本库test/repo3.git具有如下的授权:

+
    +
  • 第7行,用户组@administrators中的用户,具有创建和删除引用的权限,并且能强制推送。

    +

    其中创建引用来自授权关键字中的C,删除引用来自授权关键中的D

    +
  • +
  • 第8行,用户组@dev中的用户,可以创建引用,并能够强制推送,但不能删除引用。

    +

    因为第7行授权关键字中字符CD的出现,使得创建和删除引用都采用扩展授权关键字,因而用户组@dev不具有删除引用的权限。

    +
  • +
  • 第9行,用户组@test中的用户,可以推送到任何引用,但是不能创建引用,不能删除引用,也不能强制推送。

    +
  • +
+
+
+

5.4.4.6. 禁用规则的使用

+

授权文件片段:

+
1     RW      refs/tags/v[0-9]        =   jiangxin
+2     -       refs/tags/v[0-9]        =   @dev
+3     RW      refs/tags/              =   @dev
+
+
+

关于授权的说明:

+
    +
  • 用户jiangxin可以创建任何里程碑,包括以v加上数字开头的版本里程碑。
  • +
  • 用户组@dev,只能创建除了版本里程碑(以v加上数字开头)之外的其他里程碑。
  • +
  • 其中以-开头的授权指令建立禁用规则。禁用规则只在授权的第二阶段有效,因此不能限制用户的读取权限。
  • +
+
+
+

5.4.4.7. 用户分支

+

前面我们介绍过通过CREATOR特殊关键字实现用户自建版本库的功能。与之类似,Gitolite还支持在一个版本库中用户自建分支的功能。

+

用户在版本库中自建分支用到的关键字是USER而非CREATOR。即当授权指令的引用表达式中出现的USER关键字时,在授权检查时会动态替换为用户ID。例如授权文件片段:

+
1   repo    test/repo4
+2           RW+CD                      = @administrators
+3           RW+CD refs/heads/u/USER/   = @all
+4           RW+   master               = @dev
+
+
+

关于授权的说明:

+
    +
  • 第2行,用户组@administrators中的用户,对所有引用具有读写、创建和删除的权限,并且能强制推送。
  • +
  • 第3行,所有用户都可以创建以u/<userid>/(含自己用户ID)开头的分支。对自己名字空间下的引用具有完全权限。对于他人名字空间的引用只有读取权限,不能修改。
  • +
  • 第4行,用户组@devmaster分支具有读写和强制更新的权限,但是不能删除。
  • +
+
+
+

5.4.4.8. 对路径的写授权

+

Gitolite也实现了对路径的写操作的精细授权,并且非常巧妙的是实现此功能所增加的代码可以忽略不计。这是因为Gitolite把路径当作是特殊格式的引用的授权。

+

在授权文件中,如果一个版本库的授权指令中的正则引用字段出现了以NAME/开头的引用,则表明该授权指令是针对路径进行的写授权,并且该版本库要进行基于路径的写授权判断。

+

示例:

+
1  repo foo
+2      RW                  =   @junior_devs @senior_devs
+3
+4      RW  NAME/           =   @senior_devs
+5      -   NAME/Makefile   =   @junior_devs
+6      RW  NAME/           =   @junior_devs
+
+
+

关于授权的说明:

+
    +
  • 第2行,初级程序员@junior_devs和高级程序员@senior_devs可以对版本库foo进行读写操作。
  • +
  • 第4行,设定高级程序员@senior_devs对所有文件(NAME/)进行写操作。
  • +
  • 第5行和第6行,设定初级程序员@junior_devs对除了根目录的Makefile文件外的其他文件具有写权限。
  • +
+
+
+
+

5.4.5. 创建和导入版本库

+

Gitolite维护的版本库默认位于安装用户主目录下的repositories目录中 ,即如果安装用户为git,则版本库都创建在/home/git/repositories目录之下。可以通过配置文件.gitolite.rc修改默认的版本库的根路径。

+
$REPO_BASE="repositories";
+
+
+

有多种创建版本库的方式。一种是在授权文件中用repo指令设置版本库(未使用正则表达式的版本库)的授权,当对gitolite-admin版本库执行git push操作时,自动在服务端创建新的版本库。另外一种方式是在授权文件中用正则表达式定义的通配符版本库,不会即时创建(也不可能被创建),而是被授权的用户在远程创建后推送到服务器上完成创建。

+
+

5.4.5.1. 在配置文件中出现的版本库,即时生成

+

尝试在授权文件conf/gitolite.conf中加入一段新的版本库授权指令,而这个版本库尚不存在。新添加到授权文件中的内容为:

+
repo testing2
+    RW+                 = @all
+
+
+

然后将授权文件的修改提交并推送到服务器,会看到授权文件中添加新授权的版本库testing2被自动创建。

+
$ git push
+Counting objects: 7, done.
+Delta compression using up to 2 threads.
+Compressing objects: 100% (3/3), done.
+Writing objects: 100% (4/4), 375 bytes, done.
+Total 4 (delta 1), reused 0 (delta 0)
+remote: Already on 'master'
+remote: creating testing2...
+remote: Initialized empty Git repository in /home/git/repositories/testing2.git/
+To gitadmin.bj:gitolite-admin.git
+   278e54b..b6f05c1  master -> master
+
+
+

注意其中带remote标识的输出,可以看到版本库testing2.git被自动初始化了。

+

此外使用版本库组的语法(即用@创建的组,用作版本库),也会被自动创建。例如下面的授权文件片段设定了一个包含两个版本库的组@testing,当将新配置文件推送到服务器上时,会自动创建testing3.gittesting4.git

+
@testing = testing3 testing4
+
+repo @testing
+    RW+                 = @all
+
+
+
+
+

5.4.5.2. 通配符版本库,管理员通过推送创建

+

通配符版本库是用正则表达式语法定义的版本库,所指的并非某一个版本库而是和正则表达式相匹配的一组版本库。要想使用通配符版本库,需要在服务器端Gitolite的安装用户(如git)主目录下,修改配置文件.gitolite.rc,使其包含如下配置:

+
$GL_WILDREPOS = 1;
+
+
+

使用通配符版本库,可以对一组版本库进行授权,非常有效。但是版本库的创建则不像前面介绍的那样,不会在授权文件推送到服务器时创建,而是由拥有版本库创建授权(C)的用户手工进行创建。

+

对于用通配符设置的版本库,用C指令指定能够创建此版本库的管理员(拥有创建版本库的授权)。例如:

+
repo ossxp/[a-z].+
+    C                   = jiangxin
+    RW                  = dev1 dev2
+
+
+

用户jinagxin可以创建路径符合正则表达式ossxp/[a-z].+的版本库,用户dev1dev2对版本库具有读写(但是没有强制更新)权限。

+
    +
  • 本地建库。

    +
    $ mkdir somerepo
    +$ cd somerepo
    +$ git init
    +$ git commit --allow-empty
    +
    +
    +
  • +
  • 使用git remote指令设置远程版本库。

    +
    jiangxin$ git remote add origin git@server:ossxp/somerepo.git
    +
    +
    +
  • +
  • 运行git push完成在服务器端版本库的创建。

    +
    jiangxin$ git push origin master
    +
    +
    +
  • +
+

使用该方法创建版本库后,创建者jiangxin的用户ID将被记录在版本库目录下的gl-creater文件中。该帐号具有对该版本库最高的权限。该通配符版本库的授权指令中如果出现关键字CREATOR将会用创建者的用户ID替换。

+

实际上Gitolite的原始实现是通过克隆即可创建版本库。即当克隆一个不存在的、名称匹配通配符版本库的、且拥有创建权限(C),Gitolite会自动在服务器端创建该版本库。但是我认为这不是一个好的实践,会经常因为在克隆时把URL写错,从而导致在服务器端创建垃圾版本库。因此我重新改造了Gitolite通配符版本库创建的实现方法,使用推送操作实现版本库的创建,而克隆一个不存在的版本库会报错、退出。

+
+
+

5.4.5.3. 向Gitolite中导入版本库

+

在Gitolite搭建时,已经存在并使用的版本库需要导入到Gitolite中。如果只是简单地把这些裸版本库(以.git为后缀不带工作区的版本库)复制到Gitolite的版本库根目录下,针对这些版本库的授权可能不能正常工作。这是因为Gitolite管理的版本库都配置了特定的钩子脚本,以实现基于分支和/或路径的授权,直接拷贝到Gitolite中的版本库没有正确地设置钩子脚本。而且Gitolite还利用版本库中的gl-creater记录版本库创建者,用gl-perms记录版本库的自定义授权,而这些也是拷贝过来的版本库不具备的。

+

对于少量的版本库,直接修修改gitolite-admin的授权文件、添加同名的版本库授权、提交并推送,就会在Gitolite服务器端完成同名版本库的初始化。然后在客户端进入到相应版本库的工作区,执行git push命令将原有版本库的各个分支和里程碑导入到Gitolite新建的版本库中。

+
$ git remote add origin git@server:<repo-name>.git
+$ git push --all  origin
+$ git push --tags origin
+
+
+

如果要导入的版本库较多,逐一在客户端执行git push操作很繁琐。可以采用下面的方法。

+
    +
  • 确认要导入所有版本库都以裸版本库形式存在(以.git为后缀,无工作区)。
  • +
  • 将要导入的裸版本库复制到Gitolite服务器的版本库根目录中。
  • +
  • 在客户端修改gitolite-admin授权文件,为每个导入的版本库添加授权。
  • +
  • 推送对gitolite-admin版本库的修改,相应版本库的钩子脚本会自动进行设置。
  • +
+

如果版本库非常多,就连在gitolite-admin的授权文件中添加版本库授权也是难事,还可以采用下面的办法:

+
    +
  • 确认要导入所有版本库都以裸版本库形式存在(以.git为后缀,无工作区)。
  • +
  • 将要导入的裸版本库复制到Gitolite服务器的版本库根目录中。
  • +
  • 在服务器端,为每个导入的裸版本库下添加文件gl-creater,内容为版本库创建者ID。
  • +
  • 在服务器端运行gl-setup程序(无需提供公钥参数),参见Gitolite安装相应章节。
  • +
  • 在客户端修改gitolite-admin授权文件,以通配符版本库形式为导入的版本库进行授权。
  • +
+
+
+
+

5.4.6. 对Gitolite的改进

+

Gitolite托管在GitHub上,任何人都可以基于原作者Sitaramc的工作进行定制。我对Gitolite的定制版本在http://github.com/ossxp-com/gitolite, 包含的扩展和改进有:

+
    +
  • 通配符版本库的创建方式和授权。

    +

    原来的实现是克隆即创建(克隆者需要被授予C的权限)。同时还要通过另外的授权语句为用户设置RW权限,否则创建者没有读和写权限。

    +

    新的实现是通过推送创建版本库(推送者需要被授予C权限)。不必再为创建者赋予RW等权限,创建者自动具有对版本库最高的授权。

    +
  • +
  • 避免通配符版本库的误判。

    +

    若将通配符版本库误判为普通版本库名称,会导致在服务器端创建错误的版本库。新的设计可以在通配符版本库的正则表达式之前添加^或之后添加$字符避免误判。

    +
  • +
  • 改变默认配置。

    +

    默认安装即支持通配符版本库。

    +
  • +
  • 版本库重定向。

    +

    Gitosis的一个很重要的功能——版本库名称重定向,没有在Gitolite中实现。我为Gitolite增加了这个功能。

    +

    在Git服务器架设的初期,版本库的命名可能非常随意,例如redmine的版本库直接放在根下:redmine-0.9.x.gitredmine-1.0.x.git,...随着redmine项目越来越复杂,可能就需要将其放在子目录下进行管理,例如放到ossxp/redmine/目录下。只需要在Gitolite的授权文件中添加下面一行map语句,就可以实现版本库名称的重定向。使用旧地址的用户不必重新检出,可以继续使用。

    +
    map (redmine.*) = ossxp/redmine/$1
    +
    +
    +
  • +
+
+
+

5.4.7. Gitolite功能拓展

+
+

5.4.7.1. 版本库镜像

+

Git版本库控制系统往往并不需要设计特别的容灾备份,因为每一个Git用户就是一个备份。但是下面的情况,就很有必要考虑容灾了。

+
    +
  • Git版本库的使用者很少(每个库可能只有一个用户)。
  • +
  • 版本库克隆只限制在办公区并且服务器也在办公区内(所有鸡蛋都在一个篮子里)。
  • +
  • Git版本库采用集中式的应用模型,需要建立双机热备(以便在故障出现时,实现快速的服务器切换)。
  • +
+

可以在两台或多台安装了Gitolite服务的服务器之间实现版本库的镜像。数据镜像的最小单位为版本库,对于任意一个Git版本库可以选择在其中一个服务器上建立主版本库(只能有一个主版本库),在其他服务器上建立的为镜像库。镜像库只接受来自主版本库的数据同步而不接受来自用户的推送。

+
+

5.4.7.1.1. Gitolite服务器命名

+

首先要为每一台服务器架设Gitolite服务,并建议所有的服务器上Gitolite服务都架设在同一用户(如git)之下。如果Gitolite服务安装到不同的用户账号下,就必需通过文件~/.ssh/config建立SSH别名,以便能够使用正确的用户名连接服务器。

+

接下来为每个服务器设置一个名称,服务器之间数据镜像时就使用各自的名称进行连接。假设我们要配置的两个Gitolite服务器的其中一个名为server1,另一个名为server2

+

打开server1上Gitolite的配置文件~/.gitolite.rc,进行如下设置:

+
$GL_HOSTNAME = 'serer1';
+$GL_GITCONFIG_KEYS = "gitolite.mirror.*";
+
+
+
    +
  • 设置$GL_HOSTNAME为本服务器的别名,如serer1

    +
  • +
  • 设量$GL_GITCONFIG_KEYS以便允许在Gitolite授权文件中为版本库动态设置配置变量。

    +

    例如本例设置了GL_GITCONFIG_KEYSgitolite.mirror.*后,允许在gitolite-admin管理库的conf/gitolite.conf中用config指令对版本库添加配置变量。

    +
    repo testing
    +      config gitolite.mirror.master       =   "server1"
    +      config gitolite.mirror.slaves       =   "server2 server3"
    +
    +
    +
  • +
+

同样对server2进行设置,只不过将$GL_HOSTNAME设置为serer2

+
+
+

5.4.7.1.2. 服务器之间的公钥认证

+

接下来每一个服务器为Gitolite的安装用户创建公钥/私钥对。

+
$ sudo su - git
+$ ssh-keygen
+
+
+

然后把公钥拷贝到其他服务器上,并以本服务器名称命名。例如:

+
    +
  • server1上创建的公钥复制到server2上,命名为server1.pub备用。
  • +
  • server2上创建的公钥复制到server1上,命名为server2.pub备用。
  • +
+

再运行gl-tool设置其他服务器到本服务器上的公钥认证。例如在server1上执行命令:

+
$ gl-tool add-mirroring-peer server2.pub
+
+
+

当完成上述设置后,就可以从一个服务器发起到另外服务器的SSH连接,连接过程无需口令认证并显示相关信息。例如从server1发起到server2的连接如下:

+
$ ssh git@server2 info
+Hello server1, I am server2
+
+
+
+
+

5.4.7.1.3. 配置版本库镜像

+

做了前面的准备工作后,就可以开始启用版本库镜像了。下面通过一个示例介绍如何建立版本库镜像,将服务器server1上的版本库testing要镜像到服务器server2上。

+

首先要修改server1server2的Gitolite管理库gitolite-admin,为testing版本库添加配置变量,如下:

+
repo    testing
+        config gitolite.mirror.master = "server1"
+        config gitolite.mirror.slaves = "server2"
+
+
+

两个服务器server1server2都要做出同样的修改,提交改动并推送到服务器上。当推送完成,两个服务器上的testing版本库的config就会被更新,包含类似如下的设置:

+
[gitolite "mirror"]
+        master = server1
+        slaves = server2
+
+
+

当向服务器server1testing版本库推送新的提交时,就会自动同步到server2上。

+
$ git push git@server1:testing.git master
+[master c0b097a] test
+Counting objects: 1, done.
+Writing objects: 100% (1/1), 185 bytes, done.
+Total 1 (delta 0), reused 0 (delta 0)
+remote: (29781&) server1 ==== (testing) ===> server2
+To git@server1:testing.git
+   d222699..c0b097a  master -> master
+
+
+

如果需要将服务器server1上所有版本库,包括gitolite-admin版本库都同步到server2上,不必对版本库逐一设置,可以采用下面的简便方法。

+

修改server1server2的Gitolite管理版本库gitolite-admin,在配置文件conf/gitolite.conf最开始插入如下设置。

+
repo   @all
+    config gitolite.mirror.master = "server1"
+    config gitolite.mirror.slaves = "server2"
+
+
+

然后分别提交并推送。要说明的是gitolite-admin版本库此时尚未建立同步,直到服务器server1gitolite-admin版本库推送新的提交,才开始gitolite-admin版本库的同步。

+

也可以在server1服务器端执行命令开始同步。例如:

+
$ gl-mirror-shell request-push gitolite-admin
+
+
+

Gitolite官方版本在版本库同步时有个局限,要求在镜像服务器上必需事先存在目标版本库并正确设置了gitolite.mirror.*参数,才能同步成功。例如允许用户自行创建的通配符版本库,必需在主服务器上和镜像服务器上分别创建,之后版本库同步才能正常执行。我在GitHub上的Gitolite分支项目提交了一个补丁解决了这个问题。

+

关于Gitolite版本库镜像的更详悉资料,参见http://sitaramc.github.com/git +olite/doc/mirroring.html。

+
+
+
+

5.4.7.2. Gitweb和Git daemon支持

+

Gitolite和git-daemon的整合很简单,就是由Gitolite创建的版本库会在版本库目录中创建一个空文件git-daemon-export-ok

+

Gitolite和Gitweb的整合则提供了两个方面的内容。一个是可以设置版本库的描述信息,用于在Gitweb的项目列表页面中显示。另外一个是自动生成项目的列表文件供Gitweb参考,避免Gitweb使用低效率的目录递归搜索查找Git版本库列表。

+

可以在授权文件中设定版本库的描述信息,并在gitolite-admin管理库更新时创建到版本库的description文件中。

+
reponame = "one line of description"
+reponame "owner name" = "one line of description"
+
+
+
    +
  • 第1行,为名为reponame的版本库设定描述。
  • +
  • 第2行,同时设定版本库的属主名称,以及一行版本库描述。
  • +
+

对于通配符版本库,使用这种方法则很不现实。Gitolite提供了SSH子命令供版本库的创建者使用。

+
$ ssh git@server setdesc path/to/repos.git
+$ ssh git@server getdesc path/to/repos.git
+
+
+
    +
  • 第一条指令用于设置版本库的描述信息。
  • +
  • 第二条指令显示版本库的描述信息。
  • +
+

至于生成Gitweb所用的项目列表文件,默认创建在用户主目录下的projects.list文件中。对于所有启用Gitweb的[repo]小节所设定的版本库,以及通过版本库描述隐式声明的版本库都会加入到版本库列表中。

+
+
+

5.4.7.3. 其他功能拓展和参考

+

Gitolite源码的doc目录包含用markdown标记语言编写的手册,可以直接在Github上查看。也可以使用markdown的文档编辑工具将.mkd文档转换为 html 文档。转换工具很多,有rdiscountBluefeatherMarukuBlueCloth2,等等。

+

在这些参考文档中,用户可以发现Gitolite包含的更多的小功能或秘籍,包括:

+
    +
  • 版本库设置。

    +

    授权文件通过git config指令为版本库进行附加的设置。例如:

    +
    repo gitolite
    +    config hooks.mailinglist = gitolite-commits@example.tld
    +    config hooks.emailprefix = "[gitolite] "
    +    config foo.bar = ""
    +    config foo.baz =
    +
    +
    +
  • +
  • 多级管理员授权。

    +

    可以为不同的版本库设定管理员,操作gitolite-admin库的部分授权文件。具体参考:doc/5-delegation.mkd

    +
  • +
  • 自定义钩子脚本。

    +

    因为Gitolite占用了几个钩子脚本,如果需要对同名钩子进行扩展,Gitolite提供了级联的钩子脚本,将定制放在级联的钩子脚本里。

    +

    例如:通过自定义gitolite-adminpost-update.secondary脚本,以实现无须登录服务器即可更改.gitolite.rc文件。具体参考:doc/shell-games.mkd

    +

    关于钩子脚本的创建和维护,具体参考:doc/hook-propagation.mkd

    +
  • +
  • 管理员自定义命令。

    +

    通过设置配置文件中的$GL_ADC_PATH变量,在远程执行该目录下的可执行脚本,如:rmrepo

    +

    具体参考:doc/admin-defined-commands.mkd

    +
  • +
  • 创建匿名的SSH认证。

    +

    允许匿名用户访问Gitolite提供的Git服务。即建立一个和Gitolite服务器端帐号同ID同主目录的用户,设置其的特定shell,并且允许口令为空。

    +

    具体参考:doc/mob-branches.mkd

    +
  • +
  • 可以通过名为@all的版本库进行全局的授权。

    +

    但是不能在@all版本库中对@all用户组进行授权。

    +
  • +
  • 版本库或用户非常之多(几千个)的时候,需要使用大配置文件模式。

    +

    因为Gitolite的授权文件要先编译才能生效,而编译文件的大小是和用户及版本库数量的乘积成正比的。选择大配置文件模式则不对用户组和版本库组进行扩展。

    +

    具体参考:doc/big-config.mkd

    +
  • +
  • 授权文件支持包含语句,可以将授权文件分成多个独立的单元。

    +
  • +
  • 执行外部命令,如rsync

    +
  • +
  • Subversion版本库支持。

    +

    如果在同一个服务器上以svn+ssh方式运行Subversion服务器,可以使用同一套公钥,同时为用户提供Git和Subversion服务。

    +
  • +
  • HTTP口令文件维护。通过名为htpasswd的SSH子命令实现。

    +
  • +
+
+ + + + + +
[1]对Gitolite的各项改动采用了Topgit特性分支进行维护,以便和上游最新代码同步更新。还要注意如果在Gitolite使用中发现问题,要区分是由上游软件引发的还是我的改动引起的,而不要把我的错误算在Sitaram头上。
+ + + + + +
[2]公钥的内容为一整行,因排版需要做了换行处理。
+ + + + + +
[3]可以为版本库设置配置变量gitolite-options.deny-repo在第一个授权阶段启用禁用规则检查。
+ + + + + +
[4]参见第8部分41.2.2“Git模板”相关内容。
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/050-gitosis.html b/05-git-server/050-gitosis.html new file mode 100644 index 000000000..0a4e3978a --- /dev/null +++ b/05-git-server/050-gitosis.html @@ -0,0 +1,625 @@ + + + + + + + + + 5.5. Gitosis服务架设 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

5.5. Gitosis服务架设

+

Gitosis是Gitolite的鼻祖,同样也是一款基于SSH公钥认证的Git服务管理工具,但是功能要比之前介绍的Gitolite要弱的多。Gitosis由Python语言开发,对于偏爱Python不喜欢Perl的开发者(我就是其中之一),可以对Gitosis加以关注。

+

Gitosis的出现远早于Gitolite,作者Tommi Virtanen从2007年5月就开始了gitosis的开发,最后一次提交是在2009年9月,已经停止更新了。但是Gitosis依然有其生命力。

+
    +
  • 配置简洁,可以直接在服务器端编辑,成为为某些服务定制的内置的无需管理的Git服务。

    +

    Gitosis的配置文件非常简单,直接保存于服务安装用户(如git)的主目录下.gitosis.conf文件中,可以直接在服务器端创建和编辑。

    +

    Gitolite的授权文件需要复杂的编译,因此一般需要管理员克隆gitolite-admin库,远程编辑并推送至服务器。因此用Gitolite实现一个无需管理的Git服务难度要大很多。

    +
  • +
  • 支持版本库重定向。

    +

    版本库重定向一方面在版本库路径变更后保持旧的URL仍可工作,另一方面用在客户端用简洁的地址屏蔽服务器端复杂的地址。

    +

    例如我开发的一款备份工具(Gistore),版本库位于/etc/gistore/tasks/system/repo.git(符号链接),客户端使用system.git即映射到复杂的服务器端地址。

    +

    这个功能我已经在定制的Gitolite中实现。

    +
  • +
  • Python语言开发,对于喜欢Python,不喜欢Perl的用户,可以选择Gitosis。

    +
  • +
  • 在Github上有很多Gitosis的克隆,我对gitosis的改动放在了github上:

    +

    http://github.com/ossxp-com/gitosis

    +
  • +
+

Gitosis因为是Gitolite的鼻祖,因此下面的Gitosis实现机理,似曾相识:

+
    +
  • Gitosis安装在服务器(server.name)某个帐号之下,例如git帐号。

    +
  • +
  • 管理员通过Git命令检出名为gitosis-admin的版本库。

    +
    $ git clone git@server.name:gitosis-admin.git
    +
    +
    +
  • +
  • 管理员将git用户的公钥保存在gitosis-admin库的keydir目录下,并编辑gitosis.conf文件为用户授权。

    +
  • +
  • 当管理员对gitosis-admin库的修改提交并PUSH到服务器之后,服务器上gitosis-admin版本库的钩子脚本将执行相应的设置工作。

    +
      +
    • 新用户公钥自动追加到服务器端安装帐号的.ssh/authorized_keys中,并设置该用户的shell为gitosis的一条命令gitosis-serve

      +
      command="gitosis-serve jiangxin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <公钥内容来自于 jiangxin.pub ...>
      +
      +
      +
    • +
    • 更新服务器端的授权文件~/.gitosis.conf

      +
    • +
    +
  • +
  • 用户可以用Git命令访问授权的版本库。

    +
  • +
  • 当管理员授权,用户可以远程在服务器上创建新版本库。

    +
  • +
+

下面介绍Gitosis的部署和使用。在下面的示例中,约定:服务器的名称为server,Gitolite的安装帐号为git

+
+

5.5.1. 安装Gitosis

+

Gitosis的部署和使用可以直接参考源代码中的README.rst。可以直接访问Github上我的gitosis克隆,因为Github能够直接将rst文件显示为网页。

+

参考:

+
http://github.com/ossxp-com/gitosis/blob/master/README.rst
+
+
+
+

5.5.1.1. Gitosis的安装

+

Gitosis安装需要在服务器端执行。下面介绍直接从源代码进行安装,以便获得最新的改进。

+

Gitosis的官方Git库位于git://eagain.net/gitosis.git。我在Github上创建了一个分支:

+
+
+
    +
  • 使用git下载Gitosis的源代码。

    +
    $ git clone git://github.com/ossxp-com/gitosis.git
    +
    +
    +
  • +
  • 进入 gitosis目录,执行安装。

    +
    $ cd gitosis
    +$ sudo python setup.py install
    +
    +
    +
  • +
  • 可执行脚本安装在/usr/local/bin目录下。

    +
    $ ls /usr/local/bin/gitosis-*
    +/usr/local/bin/gitosis-init  /usr/local/bin/gitosis-run-hook  /usr/local/bin/gitosis-serve
    +
    +
    +
  • +
+
+
+

5.5.1.2. 服务器端创建专用帐号

+

安装Gitosis,还需要在服务器端创建专用帐号,所有用户都通过此帐号访问Git库。一般为方便易记,选择git作为专用帐号名称。

+
$ sudo adduser --system --shell /bin/bash --disabled-password --group it
+
+
+

创建用户git,并设置用户的shell为可登录的shell,如/bin/bash,同时添加同名的用户组。

+

有的系统,只允许特定的用户组(如ssh用户组)的用户才可以通过SSH协议登录,这就需要将新建的git用户添加到ssh用户组中。

+
$ sudo adduser git ssh
+
+
+
+
+

5.5.1.3. Gitosis服务初始化

+

Gitosis服务初始化,就是初始化一个gitosis-admin库,并为管理员分配权限,还要将Gitosis管理员的公钥添加到专用帐号的~/.ssh/authorized_keys文件中。

+
    +
  • 如果管理员在客户端没有公钥,使用下面命令创建。

    +
    $ ssh-keygen
    +
    +
    +
  • +
  • 管理员上传公钥到服务器。

    +
    $ scp ~/.ssh/id_rsa.pub server:/tmp
    +
    +
    +
  • +
  • 服务器端进行Gitosis服务初始化。

    +

    以git用户身份执行gitosis-init命令,并向其提供管理员公钥。

    +
    $ sudo su - git
    +$ gitosis-init < /tmp/id_rsa.pub
    +
    +
    +
  • +
  • 确保gitosis-admin版本库的钩子脚本可执行。

    +
    $ sudo chmod a+x ~git/repositories/gitosis-admin.git/hooks/post-update
    +
    +
    +
  • +
+
+
+
+

5.5.2. 管理Gitosis

+
+

5.5.2.1. 管理员克隆gitolit-admin管理库

+

当Gitosis安装完成后,在服务器端自动创建了一个用于Gitosis自身管理的Git库:gitosis-admin.git

+

管理员在客户端克隆gitosis-admin.git库,注意要确保认证中使用正确的公钥:

+
$ git clone git@server:gitosis-admin.git
+$ cd gitosis-admin/
+
+$ ls -F
+gitosis.conf  keydir/
+
+$ ls keydir/
+jiangxin.pub
+
+
+

可以看出gitosis-admin目录下有一个陪孩子文件和一个目录keydir

+
    +
  • keydir/jiangxin.pub文件

    +

    keydir目录下初始时只有一个用户公钥,即管理员的公钥。管理员的用户名来自公钥文件末尾的用户名。

    +
  • +
  • gitosis.conf文件

    +

    该文件为授权文件。初始内容为:

    +
    1  [gitosis]
    +2
    +3  [group gitosis-admin]
    +4  writable = gitosis-admin
    +5  members = jiangxin
    +
    +
    +

    可以看到授权文件的语法完全不同于之前介绍的Gitolite的授权文件。整个授权文件是以用户组为核心,而非版本库为核心。

    +
      +
    • 定义了一个用户组gitosis-admin

      +

      第3行开始定义了一个用户组gitosis-admin

      +
    • +
    • 第5行设定了该用户组包含的用户列表。

      +

      初始时只有一个用户,即管理员公钥所属的用户。

      +
    • +
    • 第4行设定了该用户组对那些版本库具有写操作。

      +

      这里配置对gitosis-admin版本库具有写操作。写操作自动包含了读操作。

      +
    • +
    +
  • +
+
+
+

5.5.2.2. 增加新用户

+

增加新用户,就是允许新用户能够通过其公钥访问Git服务。只要将新用户的公钥添加到gitosis-admin版本库的keydir目录下,即完成新用户的添加。

+
    +
  • 管理员从用户获取公钥,并将公钥按照username.pub格式进行重命名。

    +

    用户可以通过邮件或者其他方式将公钥传递给管理员,切记不要将私钥误传给管 +理员。如果发生私钥泄漏,马上重新生成新的公钥/私钥对,并将新的公钥传递给管理员,并申请将旧的公钥作废。

    +

    关于公钥名称,我引入了类似Gitolite的实现:

    +
      +
    • 用户从不同的客户端主机访问有着不同的公钥,如果希望使用同一个用户名进行授权,可以按照username@host.pub方式命名公钥文件,和名为username@pub的公钥指向同一个用户username
    • +
    • 也支持邮件地址格式的公钥,即形如username@gmail.com.pub的公钥。Gitosis能够很智能的区分是以邮件地址命名的公钥还是相同用户在不同主机上的公钥。如果是邮件地址命名的公钥,将以整个邮件地址作为用户名。
    • +
    +
  • +
  • 管理员进入gitosis-admin本地克隆版本库中,复制新用户公钥到keydir目录。

    +
    $ cp /path/to/dev1.pub keydir/
    +$ cp /path/to/dev2.pub keydir/
    +
    +
    +
  • +
  • 执行git add命令,将公钥添加入版本库。

    +
    $ git add keydir
    +$ git status
    +# On branch master
    +# Changes to be committed:
    +#   (use "git reset HEAD <file>..." to unstage)
    +#
    +#       new file:   keydir/dev1.pub
    +#       new file:   keydir/dev2.pub
    +#
    +
    +
    +
  • +
  • 执行git commit,完成提交。

    +
    $ git commit -m "add user: dev1, dev2"
    +[master d7952a5] add user: dev1, dev2
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    + create mode 100644 keydir/dev1.pub
    + create mode 100644 keydir/dev2.pub
    +
    +
    +
  • +
  • 执行git push,同步到服务器,才真正完成新用户的添加。

    +
    $ git push
    +Counting objects: 7, done.
    +Delta compression using up to 2 threads.
    +Compressing objects: 100% (5/5), done.
    +Writing objects: 100% (5/5), 1.03 KiB, done.
    +Total 5 (delta 0), reused 0 (delta 0)
    +To git@server:gitosis-admin.git
    +   2482e1b..d7952a5  master -> master
    +
    +
    +
  • +
+

如果这时查看服务器端~git/.ssh/authorized_keys文件,会发现新增的用户公钥也附加其中:

+
### autogenerated by gitosis, DO NOT EDIT
+command="gitosis-serve jiangxin",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty     <用户jiangxin的公钥...>
+command="gitosis-serve dev1",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <用户 dev1 的公钥...>
+command="gitosis-serve dev2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <用户 dev1 的公钥...>
+
+
+
+
+

5.5.2.3. 更改授权

+

新用户添加完毕,可能需要重新进行授权。更改授权的方法也非常简单,即修改gitosis.conf配置文件,提交并推送。

+

首先管理员进入gitosis-admin本地克隆版本库中,编辑gitosis.conf

+
$ vi gitosis.conf
+
+
+

授权指令比较复杂,先通过建立一个新用户组并授权新版本库testing尝试一下更改授权文件。例如在gitosis.conf中添加如下授权内容:

+
1   [group testing-admin]
+2   members = jiangxin @gitosis-admin
+3   admin = testing
+4
+5   [group testing-devloper]
+6   members = dev1 dev2
+7   writable = testing
+8
+9   [group testing-reader]
+10  members = @all
+11  readonly = testing
+
+
+
    +
  • 上面的授权文件为版本库testing赋予了三个角色。分别是@testing-admin用户组,@testing-developer用户组和@testing-reader用户组。

    +
  • +
  • 第1行开始的testing-admin小节,定义了用户组@testing-admin

    +
  • +
  • 第2行设定该用户组包含的用户有jiangxin,以及前面定义的@gitosis-admin用户组用户。

    +
  • +
  • 第3行用admin指令,设定该用户组用户可以创建版本库testing

    +

    admin指令是笔者新增的授权指令,请确认安装的Gitosis包含笔者的改进。

    +
  • +
  • 第7行用writable授权指令,设定该@testing-developer用户组用户可以读写版本库testing

    +

    笔者改进后的Gitosis也可以使用write作为writable指令的同义词指令。

    +
  • +
  • 第11行用readonly授权指令,设定该@testing-reader用户组用户(所有用户)可以只读访问版本库testing

    +

    笔者改进后的Gitosis也可以使用read作为readonly指令的同义词指令。

    +
  • +
+

编辑结束,提交改动。

+
$ git add gitosis.conf
+$ git commit -q -m "auth for repo testing."
+
+
+

执行git push,同步到服务器,才真正完成授权文件的编辑。

+
$ git push
+
+
+
+
+
+

5.5.3. Gitosis授权详解

+
+

5.5.3.1. Gitosis缺省设置

+

[gitosis]小节中定义Gitosis的缺省设置。如下:

+
1  [gitosis]
+2  repositories = /gitroot
+3  #loglevel=DEBUG
+4  gitweb = yes
+5  daemon = yes
+6  generate-files-in = /home/git/gitosis
+
+
+

其中:

+
    +
  • 第2行,设置版本库缺省的根目录是/gitroot目录。

    +

    否则缺省路径是安装用户主目录下的repositories目录。

    +
  • +
  • 第3行,如果打开注释,则版本库操作时显示Gitosis调试信息。

    +
  • +
  • 第4行,启用gitweb的整合。

    +

    可以通过[repo name]小节为版本库设置描述字段,用户显示在Gitweb中。

    +
  • +
  • 第5行,启用git-daemon的整合。

    +

    即新创建的版本库中,创建文件git-daemon-export-ok

    +
  • +
  • 第6行,设置创建的项目列表文件(供gitweb使用)所在的目录。

    +

    缺省即为安装用户的主目录下的gitosis目录。

    +
  • +
+
+
+

5.5.3.2. 管理版本库gitosis-admin

+
1  [group gitosis-admin]
+2  write = gitosis-admin
+3  members = jiangxin
+4  repositories = /home/git
+
+
+

除了第4行,其他内容在前面都已经介绍过了,是Gitosis自身管理版本库的用户组设置。

+

第4行,重新设置了版本库的缺省根路经,覆盖缺省的[gitosis]小节中的缺省根路径。实际的gitosis-admin版本库的路径为/home/git/gitosis-admin.git

+
+
+

5.5.3.3. 定义用户组和授权

+

下面的两个示例小节定义了两个用户组,并且用到了路径变换的指令。

+
1   [group ossxp-admin]
+2   members = @gitosis-admin jiangxin
+3   admin = ossxp/**
+4   read = gistore/*
+5   map admin redmine-* = ossxp/redmine/\1
+6   map admin ossxp/redmine-* = ossxp/(redmine-.*):ossxp/redmine/\1
+7   map admin ossxp/testlink-* = ossxp/(testlink-.*):ossxp/testlink/\1
+8   map admin ossxp/docbones* = ossxp/(docbones.*):ossxp/docutils/\1
+9
+10  [group all]
+11  read = ossxp/**
+12  map read redmine-* = ossxp/redmine/\1
+13  map read testlink-* = ossxp/testlink/\1
+14  map read pysvnmanager-gitsvn = mirrors/pysvnmanager-gitsvn
+15  map read ossxp/redmine-* = ossxp/(redmine-.*):ossxp/redmine/\1
+16  map read ossxp/testlink-* = ossxp/(testlink-.*):ossxp/testlink/\1
+17  map read ossxp/docbones* = ossxp/(docbones.*):ossxp/docutils/\1
+18  repositories = /gitroot
+
+
+

在上面的示例中,演示了授权指令以及Gitosis特色的map指令。

+
    +
  • 第1行,定义了用户组@ossxp-admin

    +
  • +
  • 第2行,设定该用户组包含用户jiangxin以及用户组@gitosis-admin的所有用户。

    +
  • +
  • 第3行,设定该用户组具有创建及读写与通配符ossxp/**匹配的版本库。

    +

    两个星号匹配任意字符包括路径分隔符(/)。此功能属于笔者扩展的功能。

    +
  • +
  • 第4行,设定该用户组可以只读访问gistore/*匹配的版本库。

    +

    一个星号匹配任意字符包括路径分隔符(/)。 此功能也属于笔者扩展的功能。

    +
  • +
  • 第5行,是Gitosis特有的版本库名称重定位功能。

    +

    即对redmine-*匹配的版本库,先经过名称重定位,在名称前面加上ossxp/remdine。其中\\1代表匹配的整个版本库名称。

    +

    用户组@ossxp-admin的用户对于重定位后的版本库,具有admin(创建和读写)权限。

    +
  • +
  • 第6行,是我扩展的版本库名称重定位功能,支持正则表达式。

    +

    等号左边的名称进行通配符匹配,匹配后,再经过右侧的一对正则表达式进行转换(冒号前的用于匹配,冒号后的用于替换)。

    +
  • +
  • 第10行,使用了内置的@all用户组,因此不需要通过members设定用户,因为所有用户均属于该用户组。

    +
  • +
  • 第11行,设定所有用户均可以只读访问ossxp/**匹配的版本库。

    +
  • +
  • 第12-17行,对特定路径进行映射,并分配只读权限。

    +
  • +
  • 第18行,设置版本库的根路径为/gitroot,而非缺省的版本库根路径。

    +
  • +
+
+
+

5.5.3.4. Gitweb整合

+

Gitosis和Gitweb的整合,提供了两个方面的内容。一个是可以设置版本库的描述信息,用于在gitweb的项目列表页面显示。另外一个是自动生成项目的列表文件供Gitweb参考,避免Gitweb使用效率低的目录递归搜索查找Git版本库列表。

+

例如在gitosis.conf中下面的配置用于对redmine-1.0.x版本库的Gitweb整合进行设置。

+
1  [repo ossxp/redmine/redmine-1.0.x]
+2  gitweb = yes
+3  owner = Jiang Xin
+4  description = Redmine 1.0.x 群英汇定制开发
+
+
+
    +
  • 第1行,repo小节用于设置版本库的Gitweb整合。

    +

    版本库的实际路径是用版本库缺省的根(即在[gitosis]小节中定义的或者缺省的)加上此小节中的版本库路径组合而成的。

    +
  • +
  • 第2行,启用Gitweb整合。如果省略,使用全局[gitosis]小节中gitweb的设置。

    +
  • +
  • 第3行,用于设置版本库的属主。

    +
  • +
  • 第4行,用于设置版本库的描述信息,显示在Gitweb的版本库列表中。

    +
  • +
+

每一个repo小节所指向的版本库,如果启用了Gitweb选项,则版本库名称汇总到一个项目列表文件中。该项目列表文件缺省保存在~/gitosis/projects.list中。

+
+
+
+

5.5.4. 创建新版本库

+

Gitosis维护的版本库位于安装用户主目录下的repositories目录中,即如果安装用户为git,则版本库都创建在/home/git/repositories目录之下。可以通过配置文件gitosis.conf修改缺省的版本库的根路径。

+

可以直接在服务器端创建,或者在客户端远程创建版本库。

+

克隆即创建,还是PUSH即创建?

+

在客户端远程创建版本库时,Gitosis的原始实现是对版本库具有writable(读写)权限的用户,对不存在的版本库执行克隆操作时,自动创建。但是我认为这不是一个好的实践,会经常因为克隆的URL写错,导致在服务器端创建垃圾版本库。笔者改进的实现如下:

+
    +
  • 增加了名为admin(或init)的授权指令,只有具有此授权的用户,才能够创建版本库。
  • +
  • 只具有writable(或write)权限的用户,不能在服务器上创建版本库。
  • +
  • 不通过克隆创建版本库,而是在对版本库进行PUSH的时候进行创建。当克隆一个不存在的版本库,会报错退出。
  • +
+

远程在服务器上创建版本库的方法如下:

+
    +
  • 首先,本地建库。

    +
    $ mkdir somerepo
    +$ cd somerepo
    +$ git init
    +$ git commit --allow-empty
    +
    +
    +
  • +
  • 使用git remote指令添加远程的源。

    +
    $ git remote add origin git@server:ossxp/somerepo.git
    +
    +
    +
  • +
  • 运行git push完成在服务器端版本库的创建

    +
    $ git push origin master
    +
    +
    +
  • +
+
+
+

5.5.5. 轻量级管理的Git服务

+

轻量级管理的含义是不采用缺省的稍显复杂的管理模式(远程克隆gitosis-admin库,修改并PUSH的管理模式),而是直接在服务器端通过预先定制的配置文件提供Git服务。这种轻量级管理模式,对于为某些应用建立快速的Git库服务提供了便利。

+

例如在使用备份工具Gistore进行文件备份时,可以用Gitosis架设轻量级的Git服务,可以在远程使用Git命令进行双机甚至是异地备份。

+

首先创建一个专用帐号,并设置该用户只能执行gitosis-serve命令。例如创建帐号gistore,通过修改/etc/ssh/sshd_config配置文件,实现限制该帐号登录的可执行命令。

+
Match user gistore
+    ForceCommand gitosis-serve gistore
+    X11Forwarding no
+    AllowTcpForwarding no
+    AllowAgentForwarding no
+    PubkeyAuthentication yes
+    #PasswordAuthentication no
+
+
+

上述配置信息告诉SSH服务器,凡是以gistore用户登录的帐号,强制执行Gitosis的命令。

+

然后,在该用户的主目录下创建一个配置文件.gitosis.conf(注意文件名前面的点号),如下:

+
[gitosis]
+repositories = /etc/gistore/tasks
+gitweb = yes
+daemon = no
+
+[group gistore]
+members = gistore
+map readonly * = (.*):\1/repo
+
+
+

上述配置的含义是:

+
    +
  • 用户gistore才能够访问/etc/gistore/tasks下的Git库。
  • +
  • 版本库的名称要经过变换,例如system库会变换为实际路径/etc/gistore/tasks/system/repo.git
  • +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/055-gerrit.html b/05-git-server/055-gerrit.html new file mode 100644 index 000000000..fc538c393 --- /dev/null +++ b/05-git-server/055-gerrit.html @@ -0,0 +1,1225 @@ + + + + + + + + + 5.6. Gerrit代码审核服务器 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

5.6. Gerrit代码审核服务器

+

谷歌Android开源项目在Git的使用上有两个重要的创新,一个是为多版本库协同而引入的repo,在前面第25章已经详细讨论过。另外一个重要的创新就是Gerrit——代码审核服务器。Gerrit为Git引入的代码审核是强制性的,就是说除非特别的授权设置,向Git版本库的推送(Push)必须要经过Gerrit服务器,修订必须经过代码审核的一套工作流之后,才可能经批准并纳入正式代码库中。

+

首先贡献者的代码通过Git命令(或repo封装)推送到Gerrit管理下的Git版本库,推送的提交转化为一个一个的代码审核任务,审核任务可以通过refs/changes/下的引用访问到。代码审核者可以通过Web界面查看审核任务、代码变更,通过Web界面做出通过代码审核或者打回等决定。测试者也可以通过refs/changes/之下的引用获取(fetch)修订对其进行测试,如果测试通过就可以将该评审任务设置为校验通过(verified)。最后经过了审核和校验的修订可以通过Gerrit界面中提交动作合并到版本库对应的分支中。

+

Android项目网站上有一个代码贡献流程图,详细的介绍了Gerrit代码审核服务器的工作流程。翻译后的工作流程图见图32-1。

+
+../images/gerrit-workflow.png +

图32-1:Gerrit代码审核工作流

+
+
+

5.6.1. Gerrit的实现原理

+

Gerrit更准确的说应该称为Gerrit2。因为Android项目最早使用的评审服务器Gerrit不是今天这个样子,最早版本的Gerrit是用Python开发运行于Google App Engine上,是从Python之父Guido van Rossum开发的Rietveld分支而来。在这里要讨论的Gerrit实为Gerrit2,是用Java语言实现的。从这里(http://code.google.com/p/gerrit/wiki/Background)可以看到Gerrit更为详尽的发展历史。

+
+

5.6.1.1. SSH协议的Git服务器

+

Gerrit本身基于SSH协议实现了一套Git服务器,这样就可以对Git数据推送进行更为精确的控制,为强制审核的实现建立了基础。

+

Gerrit提供的Git服务的端口并非标准的22端口,缺省是29418端口。可以访问Gerrit的Web界面得到这个端口。对Android项目的代码审核服务器,访问https://review.source.android.com/ssh_info就可以查看到Git服务的服务器域名和开放的端口。下面用curl命令查看网页的输出。

+
$ curl -L -k http://review.source.android.com/ssh_info
+review.source.android.com 29418
+
+
+
+
+

5.6.1.2. 特殊引用refs/for/<branch-name>refs/changes/nn/<review-id>/m

+

Gerrit的Git服务器,禁止用户向refs/heads命名空间下的引用执行推送(除非特别的授权),即不允许用户直接向分支进行提交。为了让开发者能够向Git服务器提交修订,Gerrit的Git服务器只允许用户向特殊的引用refs/for/<branch-name>下执行推送,其中<branch-name>即为开发者的工作分支。向refs/for/<branch-name>命名空间下推送并不会在其中创建引用,而是为新的提交分配一个ID,称为review-id ,并为该review-id的访问建立如下格式的引用refs/changes/nn/<review-id>/m,其中:

+
    +
  • review-id为Gerrit为评审任务顺序分配的全局唯一的号码。
  • +
  • nn为review-id的后两位数,位数不足用零补齐。即nn为review-id除以100的余数。
  • +
  • m为修订号,该review-id的首次提交修订号为1,如果该修订被打回,重新提交修订号会自增。
  • +
+
+
+

5.6.1.3. Git库的钩子脚本hooks/commit-msg

+

为了保证已经提交审核的修订通过审核入库后,被别的分支拣选(cherry-pick)后再推送至服务器时不会产生新的重复的评审任务,Gerrit设计了一套方法,即要求每个提交包含唯一的Change-Id,这个Change-Id因为出现在日志中,当执行拣选时也会保持,Gerrit一旦发现新的提交包含了已经处理过的Change-Id,就不再为该修订创建新的评审任务和review-id,而直接将提交入库。

+

为了实现Git提交中包含唯一的Change-Id,Gerrit提供了一个钩子脚本,放在开发者本地Git库中(hooks/commit-msg)。这个钩子脚本在用户提交时自动在提交说明中创建以“Change-Id:”及包含git hash-object命令产生的哈希值的唯一标识。当Gerrit获取到用户向refs/for/<branch-name>推送的提交中包含“Change-Id: I...”的变更ID,如果该Change-Id之前没有见过,会创建一个新的评审任务并分配新的review-id,并在Gerrit的数据库中保存Change-Id和review-id的关联。

+

如果当用户的提交因为某种原因被要求打回重做,开发者修改之后重新推送到Gerrit时就要注意在提交说明中使用相同的“Change-Id”(使用--amend提交即可保持提交说明),以免创建新的评审任务,还要在推送时将当前分支推送到refs/changes/nn/review-id/m中。其中nnreview-id和之前提交的评审任务的修订相同,m则要人工选择一个新的修订号。

+

以上说起来很复杂,但是在实际操作中只要使用repo这一工具,就相对容易多了。

+
+
+

5.6.1.4. 其余一切交给Web

+

Gerrit另外一个重要的组件就是Web服务器,通过Web服务器实现对整个评审工作流的控制。关于Gerrit工作流,参见在本章开头出现的Gerrit工作流程图。

+

感受一下Gerrit的魅力?直接访问Android项目的Gerrit网站:https://review.source.android.com/。会看到如图32-2的界面。

+
+
+../images/android-gerrit-merged.png +

图32-2:Android项目代码审核网站

+
+
+

Android项目的评审网站,匿名即可访问。点击菜单中的“Merged”显示了已经通过评审合并到代码库中的审核任务。图32-3中显示的就是Andorid一个已经合并到代码库中的历史评审任务。

+
+
+../images/android-gerrit-16993.png +

图32-3:Android项目的16993号评审

+
+
+

从图32-3可以看出:

+
    +
  • URL中显示的评审任务编号为16993。
  • +
  • 该评审任务的Change-Id以字母I开头,包含了一个唯一的40位SHA1哈希。
  • +
  • 整个评审任务有三个人参与,一个人进行了检查(verify),两个人进行了代码审核。
  • +
  • 该评审任务的状态为已合并:“merged”。
  • +
  • 该评审任务总共包含两个补丁集:Patch set 1和Patch set 2。
  • +
  • 补丁集的下载方法是:repo download platform/sdk 16993/2
  • +
+

如果使用repo命令获取补丁集是非常方便的,因为封装后的repo屏蔽掉了Gerrit的一些实现细节,例如补丁集在Git库中的存在位置。如前所述,补丁集实际保存在refs/changes命名空间下。使用git ls-remote命令,从Gerrit维护的代码库中可以看到补丁集对应的引用名称。

+
$ git ls-remote \
+      ssh://review.source.android.com:29418/platform/sdk \
+      refs/changes/93/16993*
+5fb1e79b01166f5192f11c5f509cf51f06ab023d        refs/changes/93/16993/1
+d342ef5b41f07c0202bc26e2bfff745b7c86d5a7        refs/changes/93/16993/2
+
+
+

接下来就来介绍一下Gerrit服务器的部署和使用方法。

+
+
+
+

5.6.2. 架设Gerrit的服务器

+

下载war包

+

Gerrit是由Java开发的,封装为一个war包:gerrit.war,安装非常简洁。如果需要从源码编译出war包,可以参照文档:http://gerrit.googlecode.com/svn/documentation/2.1.5/dev-readme.html。不过最简单的就是从Google Code上直接下载编译好的war包。

+

从下面的地址下载Gerrit的war包:http://code.google.com/p/gerrit/downloads/list。在下载页面会有一个文件名类似Gerrit-x.x.x.war的war包,这个文件就是Gerrit的全部。示例中使用的是2.1.5.1版本,把下载的Gerrit-2.1.5.1.war包重命名为Gerrit.war。下面的介绍就是基于这个版本。

+

数据库选择

+

Gerrit需要数据库来维护账户信息、跟踪评审任务等。目前支持的数据库类型有PostgreSQL、MySQL以及嵌入式的H2数据库。

+

选择使用默认的H2内置数据库是最简单的,因为这样无须任何设置。如果想使用更为熟悉的PostgreSQL或者MySQL,则预先建立数据库。

+

对于PostgreSQL,在数据库中创建一个用户gerrit,并创建一个数据库reviewdb。

+
createuser -A -D -P -E gerrit
+createdb -E UTF-8 -O gerrit reviewdb
+
+
+

对于MySQL,在数据库中创建一个用户gerrit并为其设置口令(不要真如下面的将口令置为secret),并创建一个数据库reviewdb。

+
$ mysql -u root -p
+
+mysql> CREATE USER 'gerrit'@'localhost' IDENTIFIED BY 'secret';
+mysql> CREATE DATABASE reviewdb;
+mysql> ALTER DATABASE reviewdb charset=latin1;
+mysql> GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
+mysql> FLUSH PRIVILEGES;
+
+
+

以一个专用用户帐号执行安装

+

在系统中创建一个专用的用户帐号如:gerrit。以该用户身份执行安装,将Gerrit的配置文件、内置数据库、war包等都自动安装在该用户主目录下的特定目录中。

+
$ sudo adduser gerrit
+$ sudo su gerrit
+$ cd ~gerrit
+$ java -jar gerrit.war init -d review_site
+
+
+

在安装过程中会提问一系列问题。

+
    +
  • 创建相关目录。

    +

    缺省Grerit在安装用户主目录下创建目录review_site并把相关文件安装在这个目录之下。Git版本库的根路径缺省位于此目录之下的git目录中。

    +
    *** Gerrit Code Review 2.1.5.1
    +***
    +
    +Create '/home/gerrit/review_site' [Y/n]?
    +
    +*** Git Repositories
    +***
    +
    +Location of Git repositories   [git]:
    +
    +
    +
  • +
  • 选择数据库类型。

    +

    选择H2数据库是简单的选择,无须额外的配置。

    +
    *** SQL Database
    +***
    +
    +Database server type           [H2/?]:
    +
    +
    +
  • +
  • 设置Gerrit Web界面认证的类型。

    +

    缺省为openid,即使用任何支持OpenID的认证源(如Google、Yahoo)进行身份认证。此模式支持用户自建帐号,当用户通过OpenID认证源的认证后,Gerrit会自动从认证源获取相关属性如用户全名和邮件地址等信息创建帐号。Android项目的Gerrit服务器即采用此认证模式。

    +

    如果有可用的LDAP服务器,那么ldap或者ldap_bind也是非常好的认证方式,可以直接使用LDAP中的已有帐号进行认证,不过此认证方式下Gerrit的自建帐号功能关闭。此安装示例选择的就是LDAP认证方式。

    +

    http认证也是可选的认证方式,此认证方式需要配置Apache的反向代理并在Apache中配置Web站点的口令认证,通过口令认证后Gerrit在创建帐号的过程中会询问用户的邮件地址并发送确认邮件。

    +
    *** User Authentication
    +***
    +
    +Authentication method          [OPENID/?]: ?
    +       Supported options are:
    +         openid
    +         http
    +         http_ldap
    +         ldap
    +         ldap_bind
    +         development_become_any_account
    +Authentication method          [OPENID/?]: ldap
    +LDAP server                    [ldap://localhost]:
    +LDAP username                  :
    +Account BaseDN                 : dc=foo,dc=bar
    +Group BaseDN                   [dc=foo,dc=bar]:
    +
    +
    +
  • +
  • 发送邮件设置。

    +

    缺省使用本机的SMTP发送邮件。

    +
    *** Email Delivery
    +***
    +
    +SMTP server hostname           [localhost]:
    +SMTP server port               [(default)]:
    +SMTP encryption                [NONE/?]:
    +SMTP username                  :
    +
    +
    +
  • +
  • Java相关设置。

    +

    使用OpenJava和Sun Java均可。Gerrit的war包要复制到review_site/bin目录中。

    +
    *** Container Process
    +***
    +
    +Run as                         [gerrit]:
    +Java runtime                   [/usr/lib/jvm/java-6-sun-1.6.0.21/jre]:
    +Copy gerrit.war to /home/gerrit/review_site/bin/gerrit.war [Y/n]?
    +Copying gerrit.war to /home/gerrit/review_site/bin/gerrit.war
    +
    +
    +
  • +
  • SSH服务相关设置。

    +

    Gerrit的基于SSH协议的Git服务非常重要,缺省的端口为29418。换做其他端口也无妨,因为repo可以自动探测到该端口。

    +
    *** SSH Daemon
    +***
    +
    +Listen on address              [*]:
    +Listen on port                 [29418]:
    +
    +Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
    +  If available, Gerrit can take advantage of features
    +  in the library, but will also function without it.
    +Download and install it now [Y/n]?
    +Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ...  OK
    +Checksum bcprov-jdk16-144.jar OK
    +Generating SSH host key ... rsa... dsa... done
    +
    +
    +
  • +
  • HTTP服务相关设置。

    +

    缺省启用内置的HTTP服务器,端口为8080,如果该端口被占用(如Tomcat),则需要更换为其他端口,否则服务启动失败。如下例就换做了8888端口。

    +
    *** HTTP Daemon
    +***
    +
    +Behind reverse proxy           [y/N]? y
    +Proxy uses SSL (https://)      [y/N]? y
    +Subdirectory on proxy server   [/]: /gerrit
    +Listen on address              [*]:
    +Listen on port                 [8081]:
    +Canonical URL                  [https://localhost/gerrit]:
    +
    +Initialized /home/gerrit/review_site
    +
    +
    +
  • +
+

启动Gerrit服务

+

Gerrit服务正确安装后,运行Gerrit启动脚本启动Gerrit服务。

+
+
$ /home/gerrit/review_site/bin/gerrit.sh start
+Starting Gerrit Code Review: OK
+
+
+
+

服务正确启动之后,会看到Gerrit服务打开两个端口,这两个端口是在Gerrit安装时指定的。您的输出和下面的示例可能略有不同。

+
$ sudo netstat -ltnp | grep -i gerrit
+tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN      26383/GerritCodeRev
+tcp        0      0 0.0.0.0:29418           0.0.0.0:*               LISTEN      26383/GerritCodeRev
+
+
+

设置Gerrit服务开机自动启动

+

Gerrit服务的启动脚本支持start、stop、restart参数,可以作为init脚本开机自动执行。

+
$ sudo ln -snf \
+       /home/gerrit/review_site/bin/gerrit.sh \
+       /etc/init.d/gerrit.sh
+$ sudo ln -snf ../init.d/gerrit.sh /etc/rc2.d/S90gerrit
+$ sudo ln -snf ../init.d/gerrit.sh /etc/rc3.d/S90gerrit
+
+
+

服务自动启动脚本/etc/init.d/gerrit.sh需要通过/etc/default/gerritcodereview提供一些缺省配置。以下面内容创建该文件。

+
GERRIT_SITE=/home/gerrit/review_site
+NO_START=0
+
+
+

Gerrit认证方式的选择

+

如果是开放服务的Gerrit服务,使用OpenId认证是最好的方法,就像谷歌Android项目的代码审核服务器配置的那样。任何人只要在具有OpenId provider的网站上(如Google、Yahoo等)具有帐号,就可以直接通过OpenId注册,Gerrit会在用户登录OpenId provider网站成功后,自动获取(经过用户的确认)用户在OpenId provider站点上的部分注册信息(如用户全名或者邮件地址)在Gerrit上自动为用户创建帐号。

+

如果架设有LDAP服务器,并且用户帐号都在LDAP中进行管理,那么采用LDAP认证也是非常好的方法。登录时提供的用户名和口令通过LDAP服务器验证之后,Gerrit会自动从LDAP服务器中获取相应的字段属性,为用户创建帐号。创建的帐号的用户全名和邮件地址因为来自于LDAP,因此不能在Gerrit更改,但是用户可以注册新的邮件地址。我在配置LDAP认证时遇到了一个问题就是创建帐号的用户全名是空白,这是因为在LDAP相关的字段没有填写的原因。如果LDAP服务器使用的是OpenLDAP,Gerrit会从displayName字段获取用户全名,如果使用Active Directory则用givenName和sn字段的值拼接形成用户全名。

+

Gerrit还支持使用HTTP认证,这种认证方式需要架设Apache反向代理,在Apache中配置HTTP认证。当用户访问Gerrit网站首先需要通过Apache配置的HTTP Basic Auth认证,当Gerrit发现用户已经登录后,会要求用户确认邮件地址。当用户邮件地址确认后,再填写其他必须的字段完成帐号注册。HTTP认证方式的缺点除了在口令文件管理上需要管理员手工维护比较麻烦之外,还有一个缺点就是用户一旦登录成功后,想退出登录或者更换其他用户帐号登录变得非常麻烦,除非关闭浏览器。关于切换用户有一个小窍门:例如Gerrit登录URL为https://server/gerrit/login/,则用浏览器访问https://nobody:wrongpass@server/gerrit/login/,即用错误的用户名和口令覆盖掉浏览器缓存的认证用户名和口令,这样就可以重新认证了。

+

在后面的Gerrit演示和介绍中,为了设置帐号的方便,使用了HTTP认证,因此下面再介绍一下HTTP认证的配置方法。

+

配置Apache代理访问Gerrit

+

缺省Gerrit的Web服务端口为8080或者8081,通过Apache的反向代理就可以使用标准的80(http)或者443(https)来访问Gerrit的Web界面。

+
ProxyRequests Off
+ProxyVia Off
+ProxyPreserveHost On
+
+<Proxy *>
+      Order deny,allow
+      Allow from all
+</Proxy>
+
+ProxyPass /gerrit/ http://127.0.0.1:8081/gerrit/
+
+
+

如果要配置Gerrit的http认证,则还需要在上面的配置中插入Http Basic认证的设置。

+
<Location /gerrit/login/>
+  AuthType Basic
+  AuthName "Gerrit Code Review"
+  Require valid-user
+  AuthUserFile /home/gerrit/review_site/etc/gerrit.passwd
+</Location>
+
+
+

在上面的配置中,指定了口令文件的位置:/home/gerrit/review_site/etc/gerrit.passwd。可以用htpasswd命令维护该口令文件。

+
$ touch /home/gerrit/review_site/etc/gerrit.passwd
+
+$ htpasswd -m /home/gerrit/review_site/etc/gerrit.passwd jiangxin
+New password:
+Re-type new password:
+Adding password for user jiangxin
+
+
+

至此为止,Gerrit服务安装完成。在正式使用Gerrit之前,先来研究一下Gerrit的配置文件,以免安装过程中遗漏或错误的设置影响使用。

+
+
+

5.6.3. Gerrit的配置文件

+

Gerrit的配置文件保存在部署目录下的etc/gerrit.conf文件中。如果对安装时的配置不满意,可以手工修改配置文件,重启Gerrit服务即可。

+

全部采用缺省配置时的配置文件:

+
[gerrit]
+        basePath = git
+        canonicalWebUrl = http://localhost:8080/
+[database]
+        type = H2
+        database = db/ReviewDB
+[auth]
+        type = OPENID
+[sendemail]
+        smtpServer = localhost
+[container]
+        user = gerrit
+        javaHome = /usr/lib/jvm/java-6-openjdk/jre
+[sshd]
+        listenAddress = *:29418
+[httpd]
+        listenUrl = http://*:8080/
+[cache]
+        directory = cache
+
+
+

如果采用LDAP认证,下面的配置文件片断配置了一个支持匿名绑定的LDAP服务器配置。

+
[auth]
+  type = LDAP
+[ldap]
+  server = ldap://localhost
+  accountBase = dc=foo,dc=bar
+  groupBase = dc=foo,dc=bar
+
+
+

如果采用MySQL而非缺省的H2数据库,下面的配置文件显示了相关配置。

+
[database]
+        type = MYSQL
+        hostname = localhost
+        database = reviewdb
+        username = gerrit
+
+
+

LDAP绑定或者数据库连接的用户口令保存在:file:` etc/secure.config`文件中。

+
[database]
+  password = secret
+
+
+

下面的配置将Web服务架设在Apache反向代理的后面。

+
[httpd]
+        listenUrl = proxy-https://*:8081/gerrit
+
+
+
+
+

5.6.4. Gerrit的数据库访问

+

之所以要对数据库访问多说几句,是因为一些对Gerrit的设置往往在Web界面无法配置,需要直接修改数据库,而大部分用户在安装Gerrit时都会选用内置的H2数据库,如何操作H2数据库可能大部分用户并不了解。

+

实际上无论选择何种数据库,Gerrit都提供了两种数据库操作的命令行接口。第一种方法是在服务器端调用gerrit.war包中的命令入口,另外一种方法是远程SSH调用接口。

+

对于第一种方法,需要在服务器端执行,而且如果使用的是H2内置数据库还需要先将Gerrit服务停止。先以安装用户身份进入Gerrit部署目录下,在执行命令调用gerrit.war包,如下:

+
$ java -jar bin/gerrit.war gsql
+Welcome to Gerrit Code Review 2.1.5.1
+(H2 1.2.134 (2010-04-23))
+
+Type '\h' for help.  Type '\r' to clear the buffer.
+
+gerrit>
+
+
+

当出现“gerrit>”提示符时,就可以输入SQL语句操作数据库了。

+

第一种方式需要登录到服务器上,而且操作H2数据库时还要预先停止服务,显然很不方便。但是这种方法也有存在的必要,就是不需要认证,尤其是在管理员帐号尚未建立之前就可以查看和更改数据库。

+

当在Gerrit上注册了第一个帐号,即拥有了管理员帐号,正确为该帐号配置公钥之后,就可以访问Gerrit提供的SSH登录服务。Gerrit的SSH协议提供第二个访问数据库的接口。下面的命令就是用管理员公钥登录Gerrit的SSH服务器,操作数据库。虽然演示用的是本机地址(localhost),但是操作远程服务器也是可以的,只要拥有管理员授权。

+
$ ssh -p 29418 localhost gerrit gsql
+Welcome to Gerrit Code Review 2.1.5.1
+(H2 1.2.134 (2010-04-23))
+
+Type '\h' for help.  Type '\r' to clear the buffer.
+
+gerrit>
+
+
+

即连接Gerrit的SSH服务,运行命令gerrit gsql。当连接上数据库管理接口后,便出现“gerrit>”提示符,在该提示符下可以输入SQL命令。下面的示例中使用的数据库后端为H2内置数据库。

+

可以输入show tables命令显示数据库列表。

+
gerrit> show tables;
+ TABLE_NAME                  | TABLE_SCHEMA
+ ----------------------------+-------------
+ ACCOUNTS                    | PUBLIC
+ ACCOUNT_AGREEMENTS          | PUBLIC
+ ACCOUNT_DIFF_PREFERENCES    | PUBLIC
+ ACCOUNT_EXTERNAL_IDS        | PUBLIC
+ ACCOUNT_GROUPS              | PUBLIC
+ ACCOUNT_GROUP_AGREEMENTS    | PUBLIC
+ ACCOUNT_GROUP_MEMBERS       | PUBLIC
+ ACCOUNT_GROUP_MEMBERS_AUDIT | PUBLIC
+ ACCOUNT_GROUP_NAMES         | PUBLIC
+ ACCOUNT_PATCH_REVIEWS       | PUBLIC
+ ACCOUNT_PROJECT_WATCHES     | PUBLIC
+ ACCOUNT_SSH_KEYS            | PUBLIC
+ APPROVAL_CATEGORIES         | PUBLIC
+ APPROVAL_CATEGORY_VALUES    | PUBLIC
+ CHANGES                     | PUBLIC
+ CHANGE_MESSAGES             | PUBLIC
+ CONTRIBUTOR_AGREEMENTS      | PUBLIC
+ PATCH_COMMENTS              | PUBLIC
+ PATCH_SETS                  | PUBLIC
+ PATCH_SET_ANCESTORS         | PUBLIC
+ PATCH_SET_APPROVALS         | PUBLIC
+ PROJECTS                    | PUBLIC
+ REF_RIGHTS                  | PUBLIC
+ SCHEMA_VERSION              | PUBLIC
+ STARRED_CHANGES             | PUBLIC
+ SYSTEM_CONFIG               | PUBLIC
+ TRACKING_IDS                | PUBLIC
+(27 rows; 65 ms)
+
+
+

输入show columns命令显示数据库的表结构。

+
gerrit> show columns from system_config;
+ FIELD                      | TYPE         | NULL | KEY | DEFAULT
+ ---------------------------+--------------+------+-----+--------
+ REGISTER_EMAIL_PRIVATE_KEY | VARCHAR(36)  | NO   |     | ''
+ SITE_PATH                  | VARCHAR(255) | YES  |     | NULL
+ ADMIN_GROUP_ID             | INTEGER(10)  | NO   |     | 0
+ ANONYMOUS_GROUP_ID         | INTEGER(10)  | NO   |     | 0
+ REGISTERED_GROUP_ID        | INTEGER(10)  | NO   |     | 0
+ WILD_PROJECT_NAME          | VARCHAR(255) | NO   |     | ''
+ BATCH_USERS_GROUP_ID       | INTEGER(10)  | NO   |     | 0
+ SINGLETON                  | VARCHAR(1)   | NO   | PRI | ''
+(8 rows; 52 ms)
+
+
+

关于H2数据库更多的SQL语法,参考:http://www.h2database.com/html/grammar.html

+

下面开始介绍Gerrit的使用。

+
+
+

5.6.5. 立即注册为Gerrit管理员

+

第一个Gerrit账户自动成为权限最高的管理员,因此Gerrit安装完毕后的第一件事情就是立即注册或者登录,以便初始化管理员帐号。下面的示例是在本机(localhost)以HTTP认证方式架设的Gerrit审核服务器。当第一次访问的时候,会弹出非常眼熟的HTTP Basic Auth认证界面,如图32-4。

+
+../images/gerrit-account-http-auth.png +

图32-4:Http Basic Auth 认证界面

+
+

输入正确的用户名和口令登录后,系统自动创建ID为1000000的帐号,该帐号是第一个注册的帐号,会自动该被赋予管理员身份。因为使用的是HTTP认证,用户的邮件地址等个人信息尚未确定,因此登录后首先进入到个人信息设置界面。如图32-5。

+
+../images/gerrit-account-init-1.png +

图32-5:Gerrit第一次登录后的个人信息设置界面

+
+

在图32-5中可以看到在菜单中有“Admin”菜单项,说明当前登录的用户被赋予了管理员权限。在图32-5的联系方式确认对话框中有一个注册新邮件地址的按钮,点击该按钮弹出邮件地址录入对话框,如图32-6。

+
+../images/gerrit-account-init-2.png +

图32-6:输入个人的邮件地址

+
+

必须输入一个有效的邮件地址以便能够收到确认邮件。这个邮件地址非常重要,因为Git代码提交时在提交说明中出现的邮件地址需要和这个地址一致。当填写了邮件地址后,会收到一封确认邮件,点击邮件中的确认链接会重新进入到Gerrit帐号设置界面,如图32-7。

+
+../images/gerrit-account-init-4-settings-username.png +

图32-7:邮件地址确认后进入Gerrit界面

+
+

Full Name字段输入用户名,点击保存更改后,右上角显示的“Anonymous Coward” 就会显示为登录用户的姓名和邮件地址。

+

接下来需要做的最重要的一件事就是配置公钥(如图32-8)。通过该公钥,注册用户可以通过SSH协议向Gerrit的Git服务器提交,如果具有管理员权限还能够远程管理Gerrit服务器。

+
+../images/gerrit-account-init-5-settings-ssh-pubkey.png +

图32-8:Gerrit的SSH公钥设置界面

+
+

在文本框中粘贴公钥。关于如何生成和管理公钥,参见第29章“使用SSH协议”相关内容。

+

点击“Add”按钮,完成公钥的添加。添加的公钥就会显示在列表中(如图32-9)。一个用户可以添加多个公钥。

+
+../images/gerrit-account-init-6-settings-ssh-pubkey-added.png +

图32-9:用户的公钥列表

+
+

点击左侧的“Groups”(用户组)菜单项,可以看到当前用户所属的分组,如图32-10。

+
+../images/gerrit-account-init-7-settings-groups.png +

图32-10:Gerrit用户所属的用户组

+
+

第一个注册的用户同时属于三个用户组,一个是管理员用户组(Administrators),另外两个分别是Anonymous Users(任何用户)和Registered Users(注册用户)。

+
+
+

5.6.6. 管理员访问SSH的管理接口

+

当在Gerrit个人配置界面中设置了公钥之后,就可以连接Gerrit的SSH服务器执行命令,示例使用的是本机(localhost),其实远程IP地址一样可以。只是对于远程主机需要确认端口不要被防火墙拦截,Gerrit的SSH服务器使用特殊的端口,缺省是29418。

+

任何用户都可以通过SSH连接执行gerrit ls-projects命令查看项目列表。下面的命令没有输出,是因为项目尚未建立。

+
$ ssh -p 29418 localhost gerrit ls-projects
+
+
+

可以执行scp命令从Gerrit的SSH服务器中拷贝文件。

+
$ scp -P 29418 -p -r localhost:/ gerrit-files
+
+$ find gerrit-files -type f
+gerrit-files/bin/gerrit-cherry-pick
+gerrit-files/hooks/commit-msg
+
+
+

可以看出Gerrit服务器提供了两个文件可以通过scp下载,其中commit-msg脚本文件应该放在用户本地Git库的钩子目录中以便在生成的提交中包含唯一的Change-Id。在之前的Gerrit原理中介绍过。

+

除了普通用户可以执行的命令外,管理员还可以通过SSH连接执行Gerrit相关的管理命令。例如之前介绍的管理数据库:

+
$ ssh -p 29418 localhost gerrit gsql
+Welcome to Gerrit Code Review 2.1.5.1
+(H2 1.2.134 (2010-04-23))
+
+Type '\h' for help.  Type '\r' to clear the buffer.
+
+gerrit>
+
+
+

此外管理员还可以通过SSH连接执行帐号创建,项目创建等管理操作,可以执行下面的命令查看帮助信息。

+
$ ssh -p 29418 localhost gerrit --help
+gerrit COMMAND [ARG ...] [--] [--help (-h)]
+
+ --          : end of options
+ --help (-h) : display this help text
+
+Available commands of gerrit are:
+
+   approve
+   create-account
+   create-group
+   create-project
+   flush-caches
+   gsql
+   ls-projects
+   query
+   receive-pack
+   replicate
+   review
+   set-project-parent
+   show-caches
+   show-connections
+   show-queue
+   stream-events
+
+See 'gerrit COMMAND --help' for more information.
+
+
+

更多的帮助信息,还可以参考Gerrit版本库中的帮助文件:Documentation/cmd-index.html

+
+
+

5.6.7. 创建新项目

+

一个Gerrit项目对应于一个同名的Git库,同时拥有一套可定制的评审流程。创建一个新的Gerrit项目就会在对应的版本库根目录下创建Git库。管理员可以使用命令行创建新项目。

+
$ ssh -p 29418 localhost gerrit create-project --name new/project
+
+
+

当执行gerrit ls-projects命令,可以看到新项目创建已经成功创建。

+
$ ssh -p 29418 localhost gerrit ls-projects
+new/project
+
+
+

在Gerrit的Web管理界面,也可以看到新项目已经建立,如图32-11。

+
+../images/gerrit-project-1-list.png +

图32-11:Gerrit中项目列表

+
+

在项目列表中可以看到除了新建的new/project项目之外还有一个名为“– All Projects –”的项目,其实它并非一个真实存在的项目,只是为了项目授权管理的方便。即在“– All Projects –” 中建立的项目授权能够被其他项目共享。

+

在服务器端也可以看到Gerrit部署中版本库根目录下已经有同名的Git版本库被创建。

+
$ ls -d /home/gerrit/review_site/git/new/project.git
+/home/gerrit/review_site/git/new/project.git
+
+
+

这个新的版本库刚刚初始化,尚未包括任何数据。是否可以通过git push向该版本库推送一些初始数据呢?下面用Gerrit的SSH协议克隆该版本库,并尝试向其推送数据。

+
$ git clone ssh://localhost:29418/new/project.git myproject
+Cloning into myproject...
+warning: You appear to have cloned an empty repository.
+
+$ cd myproject/
+
+$ echo hello > readme.txt
+
+$ git add readme.txt
+
+$ git commit -m "initialized."
+[master (root-commit) 15a549b] initialized.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 readme.txt
+09:58:54 jiangxin@hp:~/tmp/myproject$ git push origin master
+Counting objects: 3, done.
+Writing objects: 100% (3/3), 222 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/new/project.git
+ ! [remote rejected] master -> master (prohibited by Gerrit)
+error: failed to push some refs to 'ssh://localhost:29418/new/project.git'
+
+
+

向Gerrit的Git版本库推送失败,远程Git服务器返回错误信息:“prohibited by Gerrit”。这是因为Gerrit缺省不允许直接向分支推送,而是需要向refs/for/<branch-name>的特殊引用进行推送以便将提交转换为评审任务。

+

但是如果希望将版本库的历史提交不经审核直接推送到Gerrit维护的Git版本库中可以么?是的,只要通过Gerrit的管理界面为该项目授权:允许某个用户组(如Administrators组)的用户可以向分支推送。(注意该授权在推送完毕后尽快撤销,以免被滥用)

+

Gerrit的界面对用户非常友好(如图32-12)。例如在添加授权的界面中,只要在用户组的输入框中输入前几个字母,就会弹出用户组列表供选择。

+
+../images/gerrit-project-3-acl-create-branch.png +

图32-12:添加授权的界面

+
+

添加授权完毕后,项目“new/project”的授权列表就会出现新增的为Administrators管理员添加的“+2: Create Branch”授权,如图32-13。

+
+../images/gerrit-project-4-acl-created-branch.png +

图32-13:添加授权后的授权列表

+
+

因为已经为管理员分配了直接向refs/heads/*引用推送的授权,这样就能够向Git版本库推送数据了。再执行一次推送任务,看看能否成功。

+
$ git push origin master
+Counting objects: 3, done.
+Writing objects: 100% (3/3), 222 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/new/project.git
+ ! [remote rejected] master -> master (you are not committer jiangxin@ossxp.com)
+error: failed to push some refs to 'ssh://localhost:29418/new/project.git'
+
+
+

推送又失败了,但是服务器端返回的错误信息不同。上一次出错返回的是“prohibited by Gerrit”,而这一次返回的错误信息是“you are not committer”。

+

这是为什么呢?看看提交日志:

+
$ git log --pretty=full
+commit 15a549bac6bd03ad36e643984fed554406480b2c
+Author: Jiang Xin <jiangxin@ossxp.com>
+Commit: Jiang Xin <jiangxin@ossxp.com>
+
+    initialized.
+
+
+

提交者(Commit)为“Jiang Xin <jiangxin@ossxp.com>”,而Gerrit中注册的用户的邮件地址是“jiangxin@moon.ossxp.com”,两者之间的不一致,导致Gerrit再一次拒绝了提交。如果再到Gerrit看一下new/project的权限设置,会看到这样一条授权:

+
Category        Group Name        Reference Name  Permitted Range
+========        ==========        ==============  ===============
+Forge Identity  Registered Users  refs/*          +1: Forge Author Identity
+
+
+

这条授权的含义是提交中的Author字段不进行邮件地址是否注册的检查,但是要对Commit字段进行邮件地址检查。如果增加一个更高级别的“Forge Identity”授权,也可以忽略对Committer的邮件地址检查,但是尽量不要对授权进行非必须的改动,因为在提交的时候使用注册的邮件地址是一个非常好的实践。

+

下面就通过git config命令修改提交时所用的邮件地址,和Gerrit注册时用的地址保持一致。然后用--amend参数重新执行提交以便让修改后的提交者邮件地址在提交中生效。

+
$ git config user.email jiangxin@moon.ossxp.com
+
+$ git commit --amend -m initialized
+[master 82c8fc3] initialized
+ Author: Jiang Xin <jiangxin@ossxp.com>
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+ create mode 100644 readme.txt
+
+$ git push origin master
+Counting objects: 3, done.
+Writing objects: 100% (3/3), 233 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/new/project.git
+ * [new branch]      master -> master
+
+
+

看这次提交成功了!之所以成功,是因为提交者的邮件地址更改了。看看重新提交的日志,可以发现作者(Author)和提交者(Commit)的邮件地址的不同,Commit字段的邮件地址和注册时使用的邮件地址相同。

+
$ git log --pretty=full
+commit 82c8fc3805d57cc0d17d58e1452e21428910fd2d
+Author: Jiang Xin <jiangxin@ossxp.com>
+Commit: Jiang Xin <jiangxin@moon.ossxp.com>
+
+    initialized
+
+
+

注意,版本库初始化完成之后,应尽快把为项目新增的“Push Branch”类型的授权删除,对新的提交强制使用Gerrit的评审流程。

+
+
+

5.6.8. 从已有Git库创建项目

+

如果已经拥有很多版本库,希望从这些版本库创建Gerrit项目,如果像上面介绍的那样一个一个的创建项目,再执行git push命令推送已经包含历史数据的版本库,将是十分麻烦的事情。那么有没有什么简单的办法呢?可以通过下面的步骤,实现多项目的快速创建。

+

首先将已有版本库创建到Gerrit的版本库根目录下。注意版本库名称将会成为项目名(除去.git后缀),而且创建(或克隆)的版本库应为裸版本库,即使用--bare参数创建。

+

例如在Gerrit的Git版本库根目录下创建名为hello.git的版本库。下面的示例中我偷了一下懒,直接从new/project克隆到hello.git。:)

+
$ git clone --mirror \
+      /home/gerrit/review_site/git/new/project.git \
+      /home/gerrit/review_site/git/hello.git
+
+
+

这时查看版本库列表,却看不到新建立的名为hello.git的Git库出现在项目列表中。

+
$ ssh -p 29418 localhost gerrit ls-projects
+new/project
+
+
+

可以通过修改Gerrit数据库来注册新项目,即连接到Gerrit数据库,输入SQL插入语句。

+
$ ssh -p 29418 localhost gerrit gsql
+Welcome to Gerrit Code Review 2.1.5.1
+(H2 1.2.134 (2010-04-23))
+
+Type '\h' for help.  Type '\r' to clear the buffer.
+
+gerrit> INSERT INTO projects
+     -> (use_contributor_agreements ,submit_type ,name)
+     -> VALUES
+     -> ('N' ,'M' ,'hello');
+UPDATE 1; 1 ms
+gerrit>
+
+
+

注意SQL语句中的项目名称是版本库名称除去.git后缀的部分。在数据库插入数据后,再来查看项目列表就可以看到新注册的项目了。

+
$ ssh -p 29418 localhost gerrit ls-projects
+hello
+new/project
+
+
+

可以登录到Gerrit项目对新建立的项目进行相关设置。例如修改项目的说明,项目的提交策略,是否要求提交说明中必须包含“Signed-off-by”信息等,如图32-14。

+
+../images/gerrit-project-5-newproject-settings.png +

图32-14:项目基本设置

+
+

这种通过修改数据库从已有版本库创建项目的方法适合大批量的项目创建。下面就对新建立的hello项目进行一次完整的Gerrit评审流程。

+
+
+

5.6.9. 定义评审工作流

+

刚刚安装好的Gerrit的评审工作流并不完整,还不能正常的开展评审工作,需要对项目授权进行设置以定制适合的评审工作流。

+

缺省安装的Gerrit中只内置了四个用户组,如表32-1所示。

+
+

表32-1:Gerrit内置用户组

+ ++++ + + + + + + + + + + + + + + + + + + + +
用户组说明
AdministratorsGerrit 管理员
Anonymous Users任何用户,登录或未登录
Non-Interactive UsersGerrit 中执行批处理的用户
Registered Users任何登录用户
+
+

未登录的用户只属于Anonymous Users,登录用户则同时拥有Anonymous Users和Registered Users的权限。对于管理员则还拥有Administrators用户组权限。

+

查看全局(伪项目“– All Projects –”)的初始权限设置。会看到如表32-2一样的授权表格。

+
+

表32-2:Gerrit授权表格

+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
编号类别用户组名称引用名称权限范围
1Code ReviewRegistered Usersrefs/heads/*-1: I would prefer that you didn’t submit this
+1: Looks good to me, but someone else must approve
2Forge IdentityRegistered Usersrefs/*+1: Forge Author Identity
3Read AccessAdministratorsrefs/*+1: Read access
4Read AccessAnonymous Usersrefs/*+1: Read access
5Read AccessRegistered Usersrefs/*+2: Upload permission
+
+

对此表格中的授权解读如下:

+
    +
  • 对于匿名用户:根据第4条授权策略,匿名用户能够读取任意版本库。

    +
  • +
  • 对于注册用户:根据第5条授权策略,注册用户具有比第四条授权高一个等级的权限,即注册用户除了具有读取版本库权限外,还可以向版本库的refs/for/<branch-name>引用推送,产生评审任务的权限。

    +

    之所以这种可写的权限也放在“Read Access”类别中,是因为Git的写操作必须建立在拥有读权限之上,因此Gerrit将其与读取都放在“Read Access”归类之下,只不过更高一个级别。

    +
  • +
  • 对于注册用户:根据第2条授权策略,在向服务器推送提交的时候,忽略对提交中Author字段的邮件地址检查。这个在之前已经讨论过。

    +
  • +
  • 对于注册用户:根据第1条授权策略,注册用户具有代码审核的一般权限,即能够将评审任务设置为“+1”级别(看起来不错,但需要通过他人认可),或者将评审任务标记为“-1”,即评审任务没有通过不能提交。

    +
  • +
  • 对于管理员:根据第3条策略,管理员能够读取任意版本库。

    +
  • +
+

上面的授权策略仅仅对评审流程进行了部分设置。如:提交能够进入评审流程,因为登录用户(注册用户)可以将提交以评审任务方式上传;注册用户可以将评审任务标记为“+1: 看起来不错,但需其他人认可”。但是没有人有权限可以将评审任务提交——合并到正式版本库中,即没人能够对评审任务做最终的确认及提交,因此评审流程是不完整的。

+

要想实现对评审最终确认的授权,有两种方法可以实现,一种是赋予特定用户Verified类别中的“+1: Verified”的授权,另外一个方法是赋予特定用户Code Review类别中更高级别的授权:“+2: Looks good to me, approved”。要想实现对经过确认的评审任务提交,还需要赋予特定用户Submit类别中的“+1: Submit”授权。

+

下面的示例中,创建两个新的用户组Reviewer和Verifier,并为其赋予相应的授权。

+

创建用户组,可以通过Web界面或者命令行。如果通过Web界面添加用户组,选择“Admin”菜单下的“Groups”子菜单,如图32-15。

+
+../images/gerrit-addgroup-1.png +

图32-15:Gerrit用户组创建

+
+

输入用户组名称后,点击“Create Group”按钮。进入创建用户组后的设置页,如图32-16。

+
+../images/gerrit-addgroup-2.png +

图32-16:Gerrit用户组设置页

+
+

注意到在用户设置页面中有一个Owners字段名称和用户组名称相同,实际上这是Gerrit关于用户组的一个特别的功能。一个用户组可以设置另外一个用户组为本用户组的Owners,属于Owners用户组的用户实际上相当于本用户组的管理者,可以添加用户、修改用户组名称等。不过一般最常用的设置是使用同名的用户组作为Owners。

+

在用户组设置页面的最下面,是用户组用户分配对话框,可以将用户分配到用户组中。注意Gerrit的用户组不能包含,即只能将用户分配到用户组中。

+

图32-17是添加了两个新用户组后的用户组列表:

+
+../images/gerrit-addgroup-3-list.png +

图32-17:Gerrit用户组列表

+
+

接下来要为新的用户组授权,需要访问“Admin”菜单下的“Projects”子菜单,点击对应的项目进入权限编辑界面。为了简便起见,选择“– All Projects –”,对其授权的更改可以被所有其他的项目共享。图32-18是为Reviewer用户组建立授权过程的页面。

+
+../images/gerrit-acl-1-reviewer.png +

图32-18:为Reviewer用户组建立授权

+
+

分别为两个新建立的用户组分配授权,如表32-3所示。编号从6开始,是因为这里补充的授权是建立在前面的缺省授权列表的基础上的。

+
+

表32-3:新用户组权限分配表

+ +++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
编号类别用户组名称引用名称权限范围
6Code ReviewReviewerrefs/*-2: Do not submit
+2: Looks good to me, approved
7VerifiedVerifierrefs/*-1: Fails
+1: Verified
8SubmitVerifierrefs/*+1: Submit
+
+

这样,就为Gerrit所有的项目设定了可用的评审工作流。

+
+
+

5.6.10. Gerrit评审工作流实战

+

分别再注册两个用户帐号dev1@moon.ossxp.comdev2@moon.ossxp.com,两个用户分别属于Reviewer用户组和Verifier用户组。这样Gerrit部署中就拥有了三个用户帐号,用帐号jiangxin进行代码提交,用dev1帐号对任务进行代码审核,用dev2用户对审核任务进行最终的确认。

+
+

5.6.10.1. 开发者在本地版本库中工作

+

Repo是Gerrit的最佳伴侣,凡是需要和Gerrit版本库交互的工作都封装在repo命令中。关于repo的用法在上一部分的repo多版本库协同的章节中已经详细介绍了。这里只介绍开发者如何只使用Git命令来和Gerrit服务器交互。这样也可以更深入的理解repo和gerrit整合的机制。

+

首先克隆Gerrit管理的版本库,使用Gerrit提供的运行于29418端口的SSH协议。

+
$ git clone ssh://localhost:29418/hello.git
+Cloning into hello...
+remote: Counting objects: 3, done
+remote: Compressing objects: 100% (3/3)
+Receiving objects: 100% (3/3), done.
+
+
+

然后拷贝Gerrit服务器提供的commit-msg钩子脚本。

+
$ cd hello
+$ scp -P 29418 -p localhost:/hooks/commit-msg .git/hooks/
+
+
+

别忘了修改Git配置中提交者的邮件地址,以便和Gerrit中注册的地址保持一致。不使用--global参数调用git config可以只对本版本库的提交设定提交者邮件。

+
$ git config user.email jiangxin@moon.ossxp.com
+
+
+

然后修改readme.txt文件,并提交。注意提交的时候使用了-s参数,目的是在提交说明中加入“Signed-off-by:”标记,这在Gerrit提交中可能是必须的。

+
$ echo "gerrit review test" >> readme.txt
+$ git commit -a -s -m "readme.txt hacked."
+[master c65ab49] readme.txt hacked.
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

查看一下提交日志,会看到其中有特殊的标签。

+
$ git log --pretty=full -1
+commit c65ab490f6d3dc36429b8f1363b6191357202f2e
+Author: Jiang Xin <jiangxin@moon.ossxp.com>
+Date:   Mon Nov 15 17:50:08 2010 +0800
+
+    readme.txt hacked.
+
+    Change-Id: Id7c9d88ebf5dac2d19a7e0896289de1ae6fb6a90
+    Signed-off-by: Jiang Xin <jiangxin@moon.ossxp.com>
+
+
+

提交说明中出现了“Change-Id:”标签,这个标签是由钩子脚本commit-msg自动生成的。至于这个标签的含义,在前面Gerrit的实现原理中介绍过。

+

好了,准备把这个提交PUSH到服务器上吧。

+
+
+

5.6.10.2. 开发者向审核服务器提交

+

由Gerrit控制的Git版本库不能直接提交,因为正确设置的Gerrit服务器,会拒绝用户直接向refs/heads/*推送。

+
$ git status
+# On branch master
+# Your branch is ahead of 'origin/master' by 1 commit.
+#
+nothing to commit (working directory clean)
+
+$ git push
+Counting objects: 5, done.
+Writing objects: 100% (3/3), 332 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/hello.git
+ ! [remote rejected] master -> master (prohibited by Gerrit)
+error: failed to push some refs to 'ssh://localhost:29418/hello.git'
+
+
+

直接推送就会出现遇到“prohibited by Gerrit”的错误。

+

正确的做法是向特殊的引用推送,这样Gerrit会自动将新提交转换为评审任务。

+
$ git push origin HEAD:refs/for/master
+Counting objects: 5, done.
+Writing objects: 100% (3/3), 332 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/hello.git
+ * [new branch]      HEAD -> refs/for/master
+
+
+

看到了么,向refs/for/master推送成功。

+
+
+

5.6.10.3. 审核评审任务

+

dev1用户登录Gerrit网站,点击“All”菜单下的“Open”标签,可以新提交到Gerrit状态为Open的评审任务,如图32-19。

+
+../images/gerrit-review-1-tasklist.png +

图32-19:Gerrit评审任务列表

+
+

点击该评审任务,显示关于此评审任务的详细信息,如图32-20。

+
+../images/gerrit-review-2-changeid_full.png +

图32-20:Gerrit评审任务概述

+
+

从URL地址栏可以看到该评审任务的评审编号为1。目前该评审任务有一个补丁集(Patch Set 1),可以点击“Diff All Side-by-Side”查看变更集,以决定该提交是否应该被接受。作为测试,先让此次提交通过代码审核,于是以dev1用户身份点击“Review”按钮。

+

点击“Review”按钮后,弹出代码评审对话框,如图32-21。

+
+../images/gerrit-review-3-review-approved.png +

图32-21:Gerrit任务评审对话框

+
+

选择“+2: Looks good to me, approved.”,点击按钮“Publish Comments”以通过评审。注意因为没有给dev1用户(Reviewer用户组)授予Submit权限,因此此时dev1还不能将此审核任务提交。

+

dev1用户做出通过评审的决定后,代码提交者jiangxin会收到一封邮件,如图32-22。

+
+../images/gerrit-review-4-review-mail-notify.png +

图32-22:Gerrit通知邮件

+
+
+
+

5.6.10.4. 评审任务没有通过测试

+

下面以dev2帐号登录Gerrit,查看处于打开状态的评审任务,如图32-23。会看到评审任务1的代码评审已经通过,但是尚未进行测试检查(Verify)。于是dev2可以下载该补丁集,在本机进行测试。

+
+../images/gerrit-review-5-review-verify-view.png +

图32-23:Gerrit评审任务显示

+
+

假设测试没有通过,dev2用户点击该评审任务的“Review”按钮,重置该任务的评审状态,如图32-24。

+
+../images/gerrit-review-6-review-verify-failed.png +

图32-24:Gerrit评审任务未通过

+
+

注意到图32-24中dev2用户的评审对话框有三个按钮,多出的“Publish and Submit”按钮是因为dev2拥有Submit授权。dev2用户在上面的对话框中,选择了“-1: Fails”,当点击“Publish Comments”按钮,该评审任务的评审记录被重置,同时提交者和其他评审参与者会收到通知邮件,如图32-25。

+
+../images/gerrit-review-7-review-mail-notify-failed.png +

图32-25:Gerrit通知邮件:评审未通过

+
+
+
+

5.6.10.5. 重新提交新的补丁集

+

提交者收到代码被打回的邮件,一定很难过。不过这恰恰说明了这个软件过程已经相当的完善,现在发现问题总比在集成测试时甚至被客户发现要好的多吧。

+

根据评审者和检验者的提示,开发者对代码进行重新修改。下面的bugfix过程仅仅是一个简单的示例,bugfix没有这么简单的,对么?;-)

+
$ echo "fixed" >> readme.txt
+
+
+

重新修改后,需要使用--amend参数进行提交,即使用前次提交的日志重新提交,这一点非常重要。因为这样就会对原提交说明中的“Change-Id:”标签予以原样保留,当再将新提交推送到服务器时,Gerrit不会为新提交生成新的评审任务编号而是会重用原有的任务编号,将新提交转化为老的评审任务的新的补丁集。

+

在执行git commit –amend时,可以修改提交说明,但是注意不要删除Change-Id标签,更不能修改它。

+
$ git add -u
+$ git commit --amend
+
+readme.txt hacked with bugfix.
+
+Change-Id: Id7c9d88ebf5dac2d19a7e0896289de1ae6fb6a90
+Signed-off-by: Jiang Xin <jiangxin@moon.ossxp.com>
+
+# Please enter the commit message for your changes. Lines starting
+# with '#' will be ignored, and an empty message aborts the commit.
+# On branch master
+# Your branch is ahead of 'origin/master' by 1 commit.
+#
+# Changes to be committed:
+#   (use "git reset HEAD^1 <file>..." to unstage)
+#
+# modified:   readme.txt
+#
+
+
+

提交成功后,执行git ls-remote命令会看到Gerrit维护的Git库中只有一个评审任务(编号1),且该评审任务只有一个补丁集(Patch Set 1)。

+
$ git ls-remote origin
+82c8fc3805d57cc0d17d58e1452e21428910fd2d        HEAD
+c65ab490f6d3dc36429b8f1363b6191357202f2e        refs/changes/01/1/1
+82c8fc3805d57cc0d17d58e1452e21428910fd2d        refs/heads/master
+
+
+

把修改后的提交推送到Gerrit管理下的Git版本库中。注意依旧推送到refs/for/master引用中。

+
$ git push origin HEAD:refs/for/master
+Counting objects: 5, done.
+Writing objects: 100% (3/3), 353 bytes, done.
+Total 3 (delta 0), reused 0 (delta 0)
+To ssh://localhost:29418/hello.git
+ * [new branch]      HEAD -> refs/for/master
+
+
+

推送成功后,再执行git ls-remote命令,会看到唯一的评审任务(编号1)有了两个补丁集。

+
$ git ls-remote origin
+82c8fc3805d57cc0d17d58e1452e21428910fd2d        HEAD
+c65ab490f6d3dc36429b8f1363b6191357202f2e        refs/changes/01/1/1
+1df9e8e05fcf97a46588488918a476abd1df8121        refs/changes/01/1/2
+82c8fc3805d57cc0d17d58e1452e21428910fd2d        refs/heads/master
+
+
+
+
+

5.6.10.6. 新修订集通过评审

+

当提交者重新针对评审任务进行提交时,原评审任务的审核者会收到通知邮件,提醒有新的补丁集等待评审,如图32-26。

+
+../images/gerrit-review-8-2-review-new-patchset-mail-notify.png +

图32-26:Gerrit通知邮件:新补丁集

+
+

登录Gerrit的Web界面,可以看到评审任务1有了新的补丁集,如图32-27。

+
+../images/gerrit-review-8-review-new-patchset.png +

图32-27:Gerrit新补丁集显示

+
+

再经过代码审核和测试,这次dev2用户决定让评审通过,点击了“Publish and Submit”按钮。Submit(提交)动作会将评审任务(refs/changes/01/1/2)合并到对应分支(master)。图32-28显示的是通过评审完成合并的评审任务1。

+
+../images/gerrit-review-9-review-patchset-merged.png +

图32-28:Gerrit合并后的评审任务

+
+
+
+

5.6.10.7. 从远程版本库更新

+

dev1dev2用户完成代码评审,提交者会收到多封通知邮件。这其中最让人激动的就是代码被接受并合并到开发主线(master)中(如图32-29),这是多么另开发者感到荣耀的啊。

+
+../images/gerrit-review-10-review-merged-mail-notify.png +

图32-29:Gerrit通知邮件:修订已合并

+
+

代码提交者执行git pull,和Gerrit管理的版本库同步。

+
$ git ls-remote origin
+1df9e8e05fcf97a46588488918a476abd1df8121        HEAD
+c65ab490f6d3dc36429b8f1363b6191357202f2e        refs/changes/01/1/1
+1df9e8e05fcf97a46588488918a476abd1df8121        refs/changes/01/1/2
+1df9e8e05fcf97a46588488918a476abd1df8121        refs/heads/master
+
+$ git pull
+From ssh://localhost:29418/hello
+   82c8fc3..1df9e8e  master     -> origin/master
+Already up-to-date.
+
+
+
+
+
+

5.6.11. 更多Gerrit参考

+

Gerrit涉及到的内容非常庞杂,还有诸如和Gitweb、git-daemon整合,Gerrit界面定制等功能,恕不在此一一列举。可以直接参考Gerrit网站上的帮助。

+

参见:http://gerrit.googlecode.com/svn/documentation/

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/060-github-like.html b/05-git-server/060-github-like.html new file mode 100644 index 000000000..c357bfdb1 --- /dev/null +++ b/05-git-server/060-github-like.html @@ -0,0 +1,186 @@ + + + + + + + + + 5.7. Git版本库托管 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

5.6. Gerrit代码审核服务器

+

下一个主题

+

6. 迁移到Git

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5.7. Git版本库托管

+

想不想在互联网上为自己的Git版本库建立一个克隆?这样再也不必为数据的安全担忧(异地备份),还可以和他人数据共享、协同工作?但是这样做会不会很贵呢?比如要购买域名、虚拟主机、搭建Git服务器什么的?

+

实际上这种服务(Git版本库托管服务)可以免费获得!GitHub、Gitorious、Bitbucket等都可以免费提供这些服务。

+
+

5.7.1. Github

+

如果读者是按部就班式的阅读本书,那么可能早就注意到本书的很多示例版本库都是放在GitHub上的。GitHub提供了Git版本库托管服务,即包括收费商业支持,也提供免费的服务,很多开源项目把版本库直接放在了GitHub上,如:jQuery、curl、Ruby on Rails等。

+

注册一个GitHub帐号非常简单,访问GitHub网站:https://github.com/,点击菜单中的“Pricing and Signup”就可以看到GitHub的服务列表(如图33-1)。会看到其中有一个免费的服务:“Free for open source” ,并且版本库托管的数量不受限制。当然免费的午餐是不管饱的,托管的空间只有300MB,而且不能创建私有版本库。

+
+../images/github-plans.png +

图33-1:GitHub服务价目表

+
+

点击按钮“Create a free account”,就可以创建一个免费的帐号。GitHub的用法和前面介绍的Gerrit Web界面的用法很类似,一旦帐号创建,应该马上为新建立的帐号设置公钥,以便能够用SSH协议读写自己帐号下创建的版本库,如图33-2。

+
+../images/github-whoru.png +

图33-2:GitHub上配置公钥

+
+

创建仓库的操作非常简单,首先点击菜单上的“主页”(Dashboard),再点击右侧边栏上的“新建仓库”按钮就可以创建新的版本库了,如图33-3。

+
+../images/github-create-repo.png +

图33-3:GitHub页面上的新建版本库按钮

+
+

新建版本库会浪费本来就不多的托管空间,从GitHub上已有版本库派生(fork)一个克隆是一个好办法。首先通过GitHub搜索版本库名称,找到后点击“派生”按钮,就可以在自己的托管空间内建立相应版本库的克隆,如图33-4。

+
+../images/github-fork-repo.png +

图33-4:自GitHub上的版本库派生

+
+

版本库建立后就可以用Git命令访问GitHub上托管的版本库了。GitHub提供三种协议可供访问,如图33-5。其中SSH协议和HTTP协议支持读写,Git-daemon提供只读访问。对于自己的版本库当然选择支持读写的服务方式了,其中SSH协议是首选。

+
+../images/github-repo-url.png +

图33-5:版本库访问URL

+
+
+
+

5.7.2. Gitorious

+

Gitorious是另外一个Git版本库托管提供商,网址为http://gitorious.org/。最酷的是Gitorious本身的架站软件也是开源的,可以通过Gitorious上的Gitorious项目访问。如果读者熟悉Ruby on Rails,可以架设一个本地的Gitorious服务。

+
+../images/gitorious_full.png +

图33-6:Gitorious上的Gitorious项目

+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/05-git-server/index.html b/05-git-server/index.html new file mode 100644 index 000000000..77a32a6cc --- /dev/null +++ b/05-git-server/index.html @@ -0,0 +1,329 @@ + + + + + + + + + 5. 搭建Git服务器 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

4.7. Git和SVN协同模型

+

下一个主题

+

5.1. 使用HTTP协议

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

5. 搭建Git服务器

+

团队协作就涉及到搭建Git服务器。

+

搭建Git服务器可以非常简单,例如直接将Git裸版本库“扔到”Web服务器中作为一个共享目录,或者运行git daemon命令,甚至只需要轻点一下鼠标[1]就可以迅速将自己的版本库设置为只读共享。利用这个技术可以在团队中创建一个基于拉拽(pull)操作的Git工作流。

+

如果需要一个支持“写”操作的Git服务器,常用的方案包括使用Git本身提供的TODO CGI实现的智能HTTP服务,或者使用Gitolite提供基于SSH协议的支持精细读写授权的Git服务器。

+

安卓(Android)项目以Git做版本控制,但其工作模式非常特殊,提交操作产生的“补丁”先要在一个Web平台上做代码审核,审核通过才合并到Git版本库中。谷歌开源了这个代码审核平台,称为Gerrit。在第 TODO 章将会介绍Gerrit服务器搭建和工作流程。

+

不过您可能不必去亲手搭建Git服务器,因为有GitHub[2]。GitHub是开源软件的大本营,为开源软件提供免费的版本库托管和社交编程服务,并且还提供Git版本库的商业托管服务。类似GitHub的Git版本库托管服务提供商还有很多(如Bitbucket[3]、国内的GitCafe[4]、GitShell[5]、CSDN-Code[6]、开源中国[7]等),您可以根据需要进行选择。

+

想在本地搭建一个GitHub克隆?至少有两个开源软件GitLab[8] 和Gitorious[9] 可供选择,它们都提供了GitHub相仿的功能。在第 TODO 章介绍用GitLab在本地搭建专有的GitHub服务。

+

目录:

+
+ +
+ + + + + +
[1]在TortoiseGit中只需要点击右键菜单中的“Git Daemon”。
+ + + + + +
[2]https://github.com
+ + + + + +
[3]https://bitbucket.org
+ + + + + +
[4]https://gitcafe.com
+ + + + + +
[5]https://gitshell.com
+ + + + + +
[6]https://code.csdn.net
+ + + + + +
[7]http://git.oschina.net
+ + + + + +
[8]http://gitlab.org
+ + + + + +
[9]https://gitorious.org
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/010-cvs.html b/06-migrate/010-cvs.html new file mode 100644 index 000000000..233028bd8 --- /dev/null +++ b/06-migrate/010-cvs.html @@ -0,0 +1,558 @@ + + + + + + + + + 6.1. CVS版本库到Git的迁移 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

6.1. CVS版本库到Git的迁移

+

CVS是最早广泛使用的版本控制系统,因为其服务器端存储结构的简单直白,至今仍受到不少粉丝的钟爱。但是毕竟是几十年前的产物,因为设计上的原因导致缺乏现代版本控制系统的一些必须功能,如:没有原子提交,分支管理不便(慢),分支合并困难因为合并过程缺乏跟踪,不支持文件名/目录名的修改等等。很多CVS的用户都已经转换到Subversion这一更好的集中式版本控制系统了。如果还在使用CVS,那么可以考虑直接迁移到Git。

+

CVS到Git迁移可以使用cvs2svn软件包中的cvs2git命令。为什么该项目叫做cvs2svn而非cvs2git呢?这是因为该项目最早是为CVS版本库迁移到Subversion版本库服务的,只是最近才增加了CVS版本转换为Git版本库的功能。cvs2svn将CVS转换为Subversion版本库的过程一直以稳定著称,在cvs2svn 2.1版开始,增加了将CVS版本库转换为Git版本库的功能,无疑让这个工具更具生命力,也减少了之前CVS到Git库的转换环节。在推出cvs2git功能之前,通常的CVS到Git迁移路径是用cvs2svn将CVS版本库迁移到Subversion版本库,再用git-svn将Subversion版本库迁移到Git。

+

关于cvs2svn及cvs2git可以参考下面的链接:

+ +
+

6.1.1. 安装cvs2svn(含cvs2git)

+

Linux下cvs2svn的安装

+

大部分Linux发行版都提供cvs2svn的发布包,可以直接用平台自带的cvs2svn软件包。cvs2svn在2.1版本之后开始引入了到Git库的转换,2.3.0版本有了独立的cvs2git转换脚本,cvs2git正在逐渐完善当中,因此尽量选择最新版本的cvs2svn。

+

例如在Debian或Ubuntu下,可以通过下面命令查看源里面的cvs2svn版本。

+
$ aptitude versions cvs2svn
+p   2.1.1-1               stable                     990
+pi  2.3.0-2               testing,unstable           1001
+
+
+

可以看出Debian的Testing和Sid的仓库中才有2.3.0版本的cvs2svn。于是执行下面的命令安装在Testing版本才有的2.3.0-2版本的cvs2svn:

+
$ sudo aptitude cvs2svn/testing
+
+
+

如果对应的Linux发行版没有对应的版本也可以从源码开始安装。cvs2svn的官方版本库在http://cvs2svn.tigris.org/svn/cvs2svn/trunk,已经有人将cvs2svn项目转换为Git库。可以从Git库下载源码,安装cvs2svn。

+
    +
  • 下载cvs2svn源代码

    +
    $ git clone git://repo.or.cz/cvs2svn.git
    +
    +
    +
  • +
  • 进入cvs2svn源码目录,安装cvs2svn。

    +
    $ cd cvs2svn
    +$ sudo make install
    +
    +
    +
  • +
  • 安装用户手册。

    +
    $ sudo make man
    +
    +
    +
  • +
+

cvs2svn对其他软件包的依赖:

+
    +
  • Python 2.4或以上版本(Python 3.x暂不支持)。
  • +
  • RCS:如果在转换中使用了--use-rcs,就需要安装RCS软件包。参见:http://www.cs.purdue.edu/homes/trinkle/RCS/
  • +
  • CVS:如果在转换中使用了--use-cvs,就需要安装CVS软件包。参见:http://ccvs.cvshome.org/
  • +
  • Git:1.5.4.4或以上的版本。之前版本的Git的git fast-import 命令有Bug,加载cvs2git导出文件有问题。
  • +
+

Mac OS X下cvs2svn的安装

+

Mac OS X下可以使用Homebrew安装cvs2svn。

+
    +
  • Mac OS X缺省安装的Python缺少cvs2svn依赖的gdbm模组,先用Homebrew来重新安装python。

    +
    $ brew install python
    +
    +
    +
  • +
  • 安装cvs2svn

    +
    $ export PATH=/usr/local/bin:$PATH
    +$ brew install cvs2svn
    +
    +
    +
  • +
+
+
+

6.1.2. 版本库转换(命令行参数模式)

+

转换CVS版本库的注意事项:

+
    +
  • 使用cvs2git对CVS版本库转换,必须在CVS的服务器端执行,即cvs2git必须能够通过文件系统直接访问CVS版本库中的,v文件。

    +
  • +
  • 在转换前,确保所有人的修改都已经提交到CVS版本库中。

    +
  • +
  • 在转换前,停止CVS版本库的访问,以免在转换过程中有新提交写入。

    +
  • +
  • 在转换前,对原始版本库进行备份,以免误操作对版本库造成永久的破坏。

    +
  • +
  • 在转换完成后,永久停止CVS版本库的写入服务,可以仅开放只读服务。

    +

    这是由于cvs2git是一次性操作,不能对CVS后续提交执行增量式的到Git库转换,因此当CVS版本库转换完毕后,须停止CVS服务。

    +
  • +
  • 先做小规模的试验性转换。

    +

    转换CVS版本库切忌一上来就对整个版本库进行转换,等到发现日志乱码、文件名乱码、提交者ID不完全后重新转换会浪费大量时间。

    +

    应该先选择CVS版本库中的部分文件和目录作为样本,进行小规模的转换测试。

    +
  • +
  • 不要对包含CVSROOT目录的版本库的根进行操作,可以先对服务器目录布局进行调整。

    +

    如果转换直接针对包含CVSROOT目录的版本库根目录进行操作,会导致CVSROOT目录下的文件及更改历史也被纳入到Git版本库,这是不需要的。

    +
  • +
+

检查CVS版本库中的文件名乱码

+

CVS中保存的数据在服务器端直接和同名文件(文件多了一个“,v”后缀)相对应,当转换的CVS版本库是从其他平台(如Windows)拷贝过来的,就可能因为平台本身字符集不一致导致中文文件名包含乱码,在CVS版本库转换过程造成乱码。可以先对有问题的目录名和文件名进行重命名,转换为当前平台正确的编码。

+

小规模的转换试验

+

前面提到过,最好先进行小规模的转换试验,然后再对整个版本库进行转换。例如版本库是如下方式部署:CVSROOT/cvshome/user,需要将之下的jiangxin/homepage/worldhello转换为一个Git版本库。先检查一下版本库中的数据,找出典型的目录用于转换。

+

典型的数据是这样的:包含中文文件名,并且日志中包含中文。例如在版本库中,执行CVS查看日志命令,看到类似下面的输出。

+
RCS file: /cvshome/user/jiangxin/homepage/worldhello/archive/2003/.mhonarc.db,v
+Working file: archive/2003/.mhonarc.db
+head: 1.16
+branch:
+locks: strict
+access list:
+symbolic names:
+keyword substitution: kv
+total revisions: 16;    selected revisions: 16
+description:
+----------------------------
+revision 1.16
+date: 2004-09-21 15:56:30 +0800;  author: jiangxin;  state: Exp;  lines: +3 -3;  commitid: c2c414fdea20000;
+<D0><U+07B8><C4><D3>ʼ<FE><B5><D8><A3><BB>
+<D0><U+07B8><C4><CB><D1><CB><F7><D2><FD><C7>棻
+----------------------------
+
+
+

日志乱码是因为CVS并没有对日志的字符转换为统一的UTF-8字符集。此版本库之前用CVSNT维护,缺省字符集为GBK。那么就先对有乱码的这一个目录进行一下试验性的转换。

+
    +
  • 调用cvs2git执行转换,产生两个导出文件。这两个导出文件将作为Git版本库创建时的导入文件。

    +

    命令行用了两个--encoding参数设置编码,会依次进行尝试将日志中的非Ascii字符转换为UTF-8。

    +
    $ cvs2git --blobfile git-blob.dat --dumpfile git-dump.dat \
    +  --encoding utf8 --encoding gbk --username cvs2git \
    +  /cvshome/user/jiangxin/homepage/worldhello/archive/2003/
    +
    +
    +
  • +
  • 成功导出后,产生两个导出文件,一个保存各个文件的各个不同版本的数据内容,即在命令行指定的输出文件git-blob.dat。另外一个文件是上面命令行指定的git-dump.dat用于保存各个提交相关信息(提交者、提交时间、提交日志等)。

    +
    $ du -sh git*dat
    +9.8M    git-blob.dat
    +24K     git-dump.dat
    +
    +
    +

    可以看出保存文件内容的导出文件(git-blob.dat)相对更大一些。

    +
  • +
  • 创建空的Git库,使用Git通用的数据迁移命令git fast-import将cvs2git的导出文件导入版本库中。

    +
    $ mkdir test
    +$ cd test
    +$ git init
    +$ cat ../git-blob.dat ../git-dump.dat | git fast-import
    +
    +
    +
  • +
  • 检查导出结果。

    +
    $ git reset HEAD
    +$ git checkout .
    +$ git log -1
    +commit 8334587cb241076bcd2e710b321e8e16b5e46bba
    +Author: jiangxin <>
    +Date:   Tue Sep 21 07:56:31 2004 +0000
    +
    +    修改邮件地址;
    +    修改搜索引擎;
    +
    +
    +
  • +
+

很好,导出的Git库的日志,中文乱码问题已经解决。但是会发现提交日志中的作者(Author)字段信息不完整:缺乏邮件地址。这是因为CVS的提交者仅为用户登录ID,而Git的提交者信息还要包含邮件地址。cvs2git提供参数实现两种提交者ID的转换,不过需要通过配置文件予以指定,这就需要采用下面介绍的转换方法。

+
+
+

6.1.3. 版本库转换(配置文件模式)

+

使用命令行参数调用cvs2git麻烦、可重用性差,而且可配置项有限。采用cvs2git配置文件模式运行不但能够简化cvs2git的命令行参数,而且能够提供更多的命令行无法提供的配置项,可以更精确的对CVS到Git版本库转换进行定制。

+

cvs2svn软件包提供了一个cvs2git的配置示例文件,见源码中的cvs2git-example.options[1]。将该示例文件在本地复制一份,对其进行更改。该文件是Python代码格式,以“#”(井号)开始的行是注释,文件缩进不要随意更改,因为缩进也是Python语法的一部分。可以考虑针对下列选项进行定制。

+
    +
  • 设置CVS版本库位置。

    +

    使用配置文件方式运行cvs2git,只能在配置文件中设置要转换的CVS版本库位置,而不能在命令行进行设置。具体说是在配置文件的最后面run_optionsset_project方法中指定。

    +
    run_options.set_project(
    +    # CVS 版本库的位置(不是工作区,而是包含,v 文件的版本库)
    +    # 可以是版本库下的子目录。
    +    r'/cvshome/user/jiangxin/homepage/worldhello/archive/2003/',
    +
    +
    +
  • +
  • 导出文件的位置也在配置文件中预先设置好了,也不能再在命令行中设置。

    +
      +
    • 导出CVS版本文件的内容至文件cvs2svn-tmp/git-blob.dat

      +

      缺省使用cvs命令做导出,最稳定。

      +
      ctx.revision_collector = GitRevisionCollector(
      +    'cvs2svn-tmp/git-blob.dat',
      +
      +    #RCSRevisionReader(co_executable=r'co'),
      +    CVSRevisionReader(cvs_executable=r'cvs'),
      +    )
      +
      +
      +
    • +
    • 另外一个导出文件的缺省位置:cvs2svn-tmp/git-dump.dat

      +
      ctx.output_option = GitOutputOption(
      +    os.path.join(ctx.tmpdir, 'git-dump.dat'),
      +
      +    # The blobs will be written via the revision recorder, so in
      +    # OutputPass we only have to emit references to the blob marks:
      +    GitRevisionMarkWriter(),
      +
      +    # Optional map from CVS author names to git author names:
      +    author_transforms=author_transforms,
      +    )
      +
      +
      +
    • +
    +
  • +
  • 设置无提交用户信息时使用的用户名。这个用户名可以用接下来的用户映射转换为Git用户名。

    +
    ctx.username = 'cvs2svn'
    +
    +
    +
  • +
  • 建立CVS用户和Git用户之间的映射。Git用户名可以用Python的tuple语法(name, email)或者用字符串name <email>来表示。

    +
    author_transforms={
    +    'jiangxin'  : ('Jiang Xin', 'jiangxin@ossxp.com'),
    +    'dev1'      : u'开发者1 <dev1@ossxp.com>',
    +
    +    'cvs2svn'   : 'cvs2svn <admin@example.com>',
    +    }
    +
    +
    +
  • +
  • 字符集编码。即如何转换日志中的用户名、提交说明以及文件名的编码。

    +

    对于可能在日志中出现中,必须做出下面类似设置。编码的顺序对输出也会有影响,一般将utf8放在gbk之前能保证当日志中同时出现两种编码时都能正常转换[2]

    +
    ctx.cvs_author_decoder = CVSTextDecoder(
    +    [
    +        'utf8',
    +        'gbk',
    +        ],
    +    fallback_encoding='gbk'
    +    )
    +
    +ctx.cvs_log_decoder = CVSTextDecoder(
    +    [
    +        'utf8',
    +        'gbk',
    +        ],
    +    fallback_encoding='gbk'
    +    )
    +
    +ctx.cvs_filename_decoder = CVSTextDecoder(
    +    [
    +        'utf8',
    +        'gbk',
    +        ],
    +    #fallback_encoding='ascii'
    +    )
    +
    +
    +
  • +
  • 是否忽略.cvsignore文件?缺省保留.cvsignore文件。

    +

    无论选择保留或是不保留,最好在转换后手工进行.cvsignore.gitignore的转换。因为 cvs2git不能自动将.cvsignore文件转换为.gitignore文件。

    +
    ctx.keep_cvsignore = True
    +
    +
    +
  • +
  • 对文件换行符等的处理。下面的配置原本是针对CVS到Subversion的属性转换,但是也会影响到Git转换时的换行符设置。

    +

    维持默认值比较安全。

    +
    ctx.file_property_setters.extend([
    +    # 基于配置文件设置文件的 mime 类型
    +    #MimeMapper(r'/etc/mime.types', ignore_case=False),
    +
    +    # 对于二进制文件(-kb模式)不设置 svn:eol-style 属性(对于 Subverson 来说)
    +    CVSBinaryFileEOLStyleSetter(),
    +
    +    # 如果文件是二进制,并且 svn:mime-type 没有设置,将其设置为 'application/octet-stream'。
    +    CVSBinaryFileDefaultMimeTypeSetter(),
    +
    +    # 如果希望根据文件的 mime 类型来判断文件的换行符,打开下面注释
    +    #EOLStyleFromMimeTypeSetter(),
    +
    +    # 如果上面的规则没有为文件设置换行符类型,则为 svn:eol-style 设置缺省类型。
    +    # (二进制文件除外)
    +    # 缺省把文件视为二进制,不为其设置换行符类型,这样最安全。
    +    # 如果确认 CVS 的二进制文件都已经设置了 -kb 参数,或者使用上面的规则能够对
    +    # 文件类型做出正确判断,也可以使用下面参数为非二进制文件设置缺省换行符号。
    +    ## 'native': 服务器端文件的换行符保存为 LF,客户端根据需要自动转换。
    +    ## 'CRLF':   服务器端文件的换行符保存为 CRLF,客户端亦为 CRLF。
    +    ## 'CR':     服务器端文件的换行符保存为 CR,客户端亦为 CR。
    +    ## 'LF':     服务器端文件的换行符保存为 LF,客户端亦为 LF。
    +    DefaultEOLStyleSetter(None),
    +
    +    # 如果文件没有设置 svn:eol-style ,也不为其设置 svn:keywords 属性
    +    SVNBinaryFileKeywordsPropertySetter(),
    +
    +    # 如果 svn:keywords 未色环只,基于文件的 CVS 模式进行设置。
    +    KeywordsPropertySetter(config.SVN_KEYWORDS_VALUE),
    +
    +    # 设置文件的 svn:executable 属性,如果文件在 CVS 中标记为可执行文件。
    +    ExecutablePropertySetter(),
    +    ])
    +
    +
    +
  • +
  • 是否只迁移主线,忽略分支和里程碑?

    +

    缺省对所有分支和里程碑都进行转换。如果选择忽略分支和里程碑,将False修改为True

    +
    ctx.trunk_only = False
    +
    +
    +
  • +
  • 分支和里程碑迁移及转换。

    +
    global_symbol_strategy_rules = [
    +
    +    # 和正则表达式匹配的 CVS 标识,转换为 Git 的分支。
    +    #ForceBranchRegexpStrategyRule(r'branch.*'),
    +
    +    # 和正则表达式匹配的 CVS 标识,转换为 Git 的里程碑。
    +    #ForceTagRegexpStrategyRule(r'tag.*'),
    +
    +    # 忽略和正则表达式匹配的 CVS 标识,不进行(到Git分支/里程碑)转换。
    +    #ExcludeRegexpStrategyRule(r'unknown-.*'),
    +
    +    # 岐义的CVS标识的处理选项。
    +    # 缺省根据使用频率自动确定转换为分支或里程碑。
    +    HeuristicStrategyRule(),
    +    # 或者全部转换为分支。
    +    #AllBranchRule(),
    +    # 或者全部转换为里程碑。
    +    #AllTagRule(),
    +
    +    ...
    +
    +run_options.set_project(
    +
    +    ...
    +
    +    # A list of symbol transformations that can be used to rename
    +    # symbols in this project.
    +    symbol_transforms=[
    +        # 是否需要重新命名里程碑?第一个参数用于匹配,第二个参数用于替换。
    +        #RegexpSymbolTransform(r'release-(\d+)_(\d+)',
    +        #                      r'release-\1.\2'),
    +        #RegexpSymbolTransform(r'release-(\d+)_(\d+)_(\d+)',
    +        #                      r'release-\1.\2.\3'),
    +
    +
    +
  • +
+

使用配置文件的 cvs2git转换过程

+

参照上面的方法,从缺省的cvs2git配置文件定制,在本地创建一个文件,例如名为cvs2git.options文件。

+
    +
  • 使用cvs2git配置文件,命令行大大简化了。

    +
    $ cvs2git --options cvs2git.options
    +
    +
    +
  • +
  • 成功导出后,产生两个导出文件,都保存在cvs2git-tmp目录中。

    +

    一个保存各个文件的各个不同版本的数据内容,即在命令行指定的输出文件git-blob.dat。另外一个文件是上面命令行指定的git-dump.dat用于保存各个提交相关信息(提交者、提交时间、提交日志等)。

    +

    可以看出保存文件内容的导出文件相对更大一些。

    +
    $ du -sh cvs2svn-tmp/*
    +9.8M    cvs2svn-tmp/git-blob.dat
    +24K     cvs2svn-tmp/git-dump.dat
    +
    +
    +
  • +
  • 创建空的Git库,使用Git通用的数据迁移命令git fast-import将cvs2git的导出文件导入版本库中。

    +
    $ mkdir test
    +$ cd test
    +$ git init
    +$ cat ../cvs2svn-tmp/git-blob.dat \
    +      ../cvs2svn-tmp/git-dump.dat | git fast-import
    +
    +
    +
  • +
  • 检查导出结果。

    +
    $ git reset HEAD
    +$ git checkout .
    +$ git log -1
    +commit e3f12f57a77cbffcf62e19012507d041f1c9b03d
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Tue Sep 21 07:56:31 2004 +0000
    +
    +    修改邮件地址;
    +    修改搜索引擎;
    +
    +
    +
  • +
+

可以看到,这一次的转换结果不但日志中的中文可以显示,而且提交者ID也转换成了Git的风格。

+

修改cvs2git.optoins中的CVS版本库地址,开始正式的转换过程。

+
+
+

6.1.4. 迁移后版本库检查

+

完成迁移还不能算是大功告成,还需要进行细致的检验。

+
+

6.1.4.1. 文件名和日志的中文

+

如果转换过程参考了前面的步骤和注意事项,文件名和版本库提交日志中的中文不应该出现乱码。

+
+
+

6.1.4.2. 图片文件被破坏

+

最典型的错误就是转换后部分图片被破坏导致无法显示。这是怎么造成的呢?

+

CVS缺省将提交的文件以文本方式添加,除非用户在添加文件时使用了-kb参数。用命令行提交的用户经常会忘记,这就导致一些二进制文件(如图片文件)被以文本文件的方式添加到其中。文本文件在CVS检入和检出时会进行换行符转换 ,在服务器端换行符保存为LF,在Windows上检出时为CRLF。如果误做文本文件方式添加的图片中恰好出现CRLF,则在Windows上似乎没有问题(仍然是CRLF),但是CVS库转换成 Git库后,图片文件在Windows上再检出时文件数据中原来CRLF被换成了LF,导致文件被破坏。

+

出现这种情况是CVS版本库使用和管理上出现了问题,应该在CVS版本库中对有问题的文件重新设置属性,标记为二进制文件。然后再进行CVS版本库到Git库的转换。

+
+
+

6.1.4.3. .cvsignore文件的转换

+

CVS版本库中可能存在.cvsignore文件用于设置文件忽略,相当于Git版本库中的.gitignore。因为当前版本的 cvs2git不能自动将.cvsignore转换为.gitignore,需要在版本库迁移后手工完成。CVS的.cvsignore文件只对目录内文件有效,不会向下作用到子目录上,这一点和Git的.gitignore相区别。还有不同就是.cvsignore文件每一行用空格分割多个忽略,而Git每个忽略为单独的一行。

+
+
+

6.1.4.4. 迁移后的测试

+

一个简单的检查方法是,在同一台机器上分别用CVS和Git检出(或克隆),然后比较本地的差异。要在不同的系统上(Windows,Linux)分别进行测试。

+
+ + + + + +
[1]http://repo.or.cz/w/cvs2svn.git/blob/HEAD:/cvs2git-example.options
+ + + + + +
[2]部分中文的UTF8编码在GBK中存在古怪的对应
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/020-others.html b/06-migrate/020-others.html new file mode 100644 index 000000000..079e77440 --- /dev/null +++ b/06-migrate/020-others.html @@ -0,0 +1,156 @@ + + + + + + + + + 6.2. 更多版本控制系统的迁移 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

6.1. CVS版本库到Git的迁移

+

下一个主题

+

6.2.1. SVN版本库到Git的迁移

+

本页

+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/06-migrate/025-svn.html b/06-migrate/025-svn.html new file mode 100644 index 000000000..caa482459 --- /dev/null +++ b/06-migrate/025-svn.html @@ -0,0 +1,179 @@ + + + + + + + + + 6.2.1. SVN版本库到Git的迁移 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

6.2. 更多版本控制系统的迁移

+

下一个主题

+

6.2.2. Hg版本库到Git的迁移

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

6.2.1. SVN版本库到Git的迁移

+

Subversion版本库到Git版本库的转换,最好的方法就是git-svn。而git-svn的使用方法在前面“Git和SVN协同模型”一章已经详细介绍过。本章的内容将不再对git-svn的用法做过多的重复,只在这里强调一下版本库迁移时的注意事项,相关git-svn内容还请参照前面的内容。

+

在迁移之前要确认一个问题,Subversion转换到Git库之后,Subversion还继续使用么?意思是说还允许向Subversion提交么?

+

如果回答是,那么直接查看“Git和SVN协同模型”一章,用Git作为前端工具来操作Subversion版本库,而不要理会下面的内容。因为下面描述的迁移步骤针对的是一次性的Subversion到Git版本库的迁移。

+

需要提交中出现git-svn-id标识么?

+

如果一次性、永久性的将Subverison迁移到Git库,可以选择git-svn-id:标识不在转换后Git的提交日志中出现,这样转换后的Git库根本看不出来曾经用Subversion版本库维护过。

+

在git-svn的clone或者init子命令行中使用参数:--no-metadata。Git库的配置会自动配置svn-remote.noMetadata为1。之后执行git svn fetch时就不会在日志中产生git-svn-id:的标识。

+

Subversion用户名到Git用户名的映射

+

缺省转换后Git库的提交者ID为如下格式:userid <userid@SVN-REPOS-UUID>。即在邮件地址域名处以SVN版本库的UUID代替。可以在执行git svn fetch时通过下面的参数提供一个映射文件完成SVN用户名到Git用户名的转换。

+
-A<filename>, --authors-file=<filename>
+
+
+

即用-A或者--authors-file参数给出一个映射文件,这个文件帮助git-svn将Subversion用户名映射为Git用户名。此文件的每一行定义一个用户名映射,每一行的格式为:

+
loginname = User Name <user@example.com>
+
+
+

也可以通过下面的命令在Git库的config文件中设置,这样就不必在每次执行git svn fetch都带上这个参数。

+
$ git config svn.authorsfile /path/to/authersfile
+
+
+

当设定了用户映射文件后,如果在执行git svn fetch是发现SVN的用户在该映射文件中没有定义,转换过程被中断。需要重新编辑用户映射文件,补充新的用户映射后,再重新执行git-svn命令。

+

将Subversion分支和里程碑直接转换为Git分支和里程碑,不要放在``refs/remotes``下

+

使用缺省参数执行SVN到Git的转换时,SVN的里程碑和分支转换到Git库的refs/remotes引用下。这会导致其他人从转换后的Git库克隆时,看不到Subversion原有的分支和里程碑。

+

当以缺省参数执行git svn init时,Git的配置文件中会生成下面的配置:

+
[svn-remote "svn"]
+        fetch = trunk:refs/remotes/trunk
+        branches = branches/*:refs/remotes/*
+        tags = tags/*:refs/remotes/tags/*
+
+
+

可以直接编辑Git配置文件,将其内容调整如下:

+
[svn-remote "svn"]
+        fetch = trunk:refs/heads/master
+        branches = branches/*:refs/heads/*
+        tags = tags/*:refs/tags/*
+
+
+

之后再执行git svn fetch后,就可以实现SVN的分支和里程碑正确的转换为Git库的里程碑。否则就需要将.git/refs/remots/下的引用移动到.git/refs/heads以及.git/refs/tags下。

+

清除git-svn的中间文件

+

git-svn的中间文件位于目录.git/svn下,删除此目录完成对git-svn转换数据库文件的清理。

+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/030-hg.html b/06-migrate/030-hg.html new file mode 100644 index 000000000..325500a79 --- /dev/null +++ b/06-migrate/030-hg.html @@ -0,0 +1,213 @@ + + + + + + + + + 6.2.2. Hg版本库到Git的迁移 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

6.2.1. SVN版本库到Git的迁移

+

下一个主题

+

6.2.3. 通用版本库迁移

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

6.2.2. Hg版本库到Git的迁移

+

Mercurial(水银)是和Git同时代的、与之齐名的一款著名的分布式版本控制系统,也有相当多的使用者。就像水银又名汞,作为版本控制系统的Mercurial又称作Hg(水银元素符号)。Hg具有简单易用的优点,至少Hg提交的顺序递增的数字编号让Subversion用户感到更为亲切。Hg的开发语言除少部分因性能原因使用C语言外,大部分用Python语言开发完成,因而更易扩展,最终形成了Hg最具特色的插件系统。例如MQ就是Hg一个很有用的插件,通过Quilt式的补丁集实现对定制开发的特性分支的版本控制,当然StGit和Topgit也可以实现类似的功能。

+

但是Hg存在一些不足。例如服务器的存储效率不能和Git相比,服务器存储空间占用更大。Hg还不支持真正的分支,只能通过版本库克隆来进行分支开发。因为Hg不支持真正的分支,所以不能向git-svn那样完整的将Subversion版本库转换和互操作。Hg的速度相比Git要慢,尤其是网络操作没有像Git一样精确的进度显示。Hg提交只能回退一次,要想多次回退和整理版本库需要用到MQ插件。作为定制开发的利器“Hg+MQ”不适合多人协作开发而“Git+Topgit”更为适合。

+

不论是何原因想从Hg迁移到Git,用一个名为fast-export的转换工具可以很方便的实现。fast-export是一个用Python开发的命令行工具,可以将本地的Hg版本库迁移为Git版本库。其原理和CVS版本库迁移至Git时使用的cvs2git相仿,都是先从源版本库生成导出文件,再用Git的通用版本库转换工具git fast-import导入到新建的Git版本库中。

+

安装fast-export非常简单,只要用Git克隆fast-export的版本库即可。

+
$ cd /path/to
+$ git clone git://repo.or.cz/fast-export.git
+
+
+

完成克隆后,会看到/path/to/fast-export目录中有一个名为hg-fast-import.sh的脚本文件,该文件封装了对相应Python脚本的调用。使用该脚本可以实现Hg版本库到Git版本库的迁移。

+

下面就演示一下Hg版本库到Git版本库的转换。

+
    +
  • 要转换的Hg版本库位于路径/path/to/hg/hello/.hg下。

    +

    Hg不支持真正的分支,而且版本库中可能存在尚未合并的多个头指针。检查一下不要存在具有相同分支名但尚未合并的多个头指针,否则转换会失败。下面显示的该Hg版本库中具有两个具名分支r1.xnext,还有一个缺省未设置名称的头指针,因为分支名各不相同所以不会为转换过程造成麻烦。

    +
    $ hg heads
    +修改集:      7:afdd475caeee
    +分支:        r1.x
    +标签:        tip
    +父亲:        0:798a9568e10e
    +用户:        Jiang Xin <jiangxin@ossxp.com>
    +日期:        Fri Jan 14 17:01:47 2011 +0800
    +描述:
    +start new branch: r1.x
    +
    +
    +修改集:      6:7f5a46201dda
    +分支:        next
    +用户:        Jiang Xin <jiangxin@ossxp.com>
    +日期:        Fri Jan 14 17:01:04 2011 +0800
    +文件:        src/locale/zh_CN/LC_MESSAGES/helloworld.po
    +描述:
    +imported patch 100_locale_zh_cn.patch
    +
    +
    +修改集:      1:97f0a21021c6
    +用户:        Jiang Xin <worldhello.net AT gmail DOT com>
    +日期:        Sun Aug 23 23:53:05 2009 +0800
    +文件:        src/COPYRIGHT src/main.bak src/main.c
    +描述:
    +Fixed #6: import new upstream version hello-2.0.0
    +
    +
    +
  • +
  • 初始化一个Git版本库,该版本库就是迁移的目标版本库。

    +
    $ mkdir -p /path/to/my/workspace/hello
    +$ cd /path/to/my/workspace/hello
    +$ git init
    +Initialized empty Git repository in /path/to/my/workspace/hello/.git/
    +
    +
    +
  • +
  • 在刚刚完成初始化的Git工作区中调用hg-fast-export.sh脚本完成版本库转换。

    +
    $ /path/to/fast-export/hg-fast-export.sh -r /path/to/hg/hello
    +
    +
    +
  • +
  • 转换完毕,执行git branch会看到Hg版本库中的具名分支都转换为相应的分支,没有命名的缺省头指针转换为master分支。

    +
    $ git branch
    +* master
    +  next
    +  r1.x
    +
    +
    +
  • +
+

在转换后的Git版本库目录中,保存了几个用于记录版本库转换进度的状态文件(.git/hg2git-*),当在Git工作区不带任何参数执行hg-fast-export.sh命令时,会继续增量式的进行转换,将Hg版本库中的新提交迁移到Git版本库中。

+

如果使用了多个不同的Hg克隆版本库进行分支管理,就需要一一对Hg版本库进行转换,然后在对转换后的Git版本库进行合并。在合并Git版本库的时候可以参考下面的命令。

+
$ git remote add <name1> <path/to/repos/1>
+$ git remote add <name2> <path/to/repos/2>
+$ git remote update
+$ git checkout -b <branch1> origin/<name1>/master
+$ git checkout -b <branch2> origin/<name2>/master
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/040-others.html b/06-migrate/040-others.html new file mode 100644 index 000000000..a52b37d33 --- /dev/null +++ b/06-migrate/040-others.html @@ -0,0 +1,376 @@ + + + + + + + + + 6.2.3. 通用版本库迁移 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

6.2.2. Hg版本库到Git的迁移

+

下一个主题

+

6.2.4. Git版本库整理

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

6.2.3. 通用版本库迁移

+

如果读者的版本控制工具在前面的迁移方案没有涉及到,也不要紧,因为很可能通过搜索引擎就能找到一款合适的迁移工具。如果找不到相应的工具,可能是您使用的版本控制工具太冷门,或者是一款不提供迁移接口的商业版本控制工具。这时您可以通过手工检入的方式或者针对Git提供的版本库导入接口git fast-import实现版本库导入。

+

手工检入的方式适合于只有少数几个提交或者对大部分提交历史不关心而只需要对少数里程碑版本执行导入。这种版本库迁移方式非常简单,相当于在完成Git版本库初始化后,在工作区重复执行:工作区文件清理,文件复制,执行git add -A添加到暂存区,执行git commit提交。

+

但是如果需要将版本库完整的历史全部迁移到新的Git版本库中,手工检入方法就不可取了,采用针对git fast-import编程是一个可以考虑的方法。Git提供了一个通用的版本库导入解决方案,即通过向命令git fast-import传递特定格式的字节流,就可以实现Git版本库的创建。工具git fast-import的导入文件格式设计的相对比较简单,当理解了其格式约定后,可以相对容易的开发出针对特定版本库的迁移工具。

+

下面就是一个简单的导入文件,为说明方便前面标注了行号。将这个文件保存为/path/to/file/dump1.dat

+
 1 commit refs/heads/master
+ 2 mark :1
+ 3 committer User1 <user1@ossxp.com> 1295312699 +0800
+ 4 data <<EOF
+ 5 My initial commit.
+ 6 EOF
+ 7 M 644 inline README
+ 8 data <<EOF
+ 9 Hello, world.
+10 EOF
+11 M 644 inline team/user1.txt
+12 data <<EOF
+13 I'm user1.
+14 EOF
+
+
+

上面这段文字应该这样理解:

+
    +
  • 第1行以commit开头,标记一个提交的开始。该提交会创建(或更新)引用refs/heads/master
  • +
  • 第2行以mark开头,是一个标记指令,将这个提交用“:1”标示以方便后面的提交参照。
  • +
  • 第3行记录了这个提交的提交者是User1,邮件地址为<user1@ossxp.com>,提交时间则采用Unix时间格式。
  • +
  • 第4-6行是该提交的提交说明,提交说明用data数据块的方式进行定义。
  • +
  • 第4行在data语句后紧接着的<<EOF含义为data的内容到以EOF标记的行截止。这样的表示法称为“Here Documents”表示法。
  • +
  • 第7行以字母M开头,含义是修改(或新建)了一个文件,文件名为README,而文件的内容以inline的方式提供。
  • +
  • 第8-10行则是以内联(inline)数据块的方式提供README文件的内容。
  • +
  • 第11行定义了该提交修改的第二个文件team/user1.txt。该文件的内容也是以内联(inline)的方式给出。
  • +
  • 第12-14行给出文件team/user1.txt的内容。
  • +
+

下面初始化一个新的版本库,并通过导入文件/path/to/file/dump1.dat的方式为版本库注入数据。

+
    +
  • 初始化版本库。

    +
    $ mkdir -p /path/to/my/workspace/import
    +$ cd /path/to/my/workspace/import
    +$ git init
    +
    +
    +
  • +
  • 调用git fast-import命令。

    +
    $ git fast-import < /path/to/file/dump1.dat
    +git-fast-import statistics:
    +---------------------------------------------------------------------
    +Alloc'd objects:       5000
    +Total objects:            5 (         0 duplicates                  )
    +      blobs  :            2 (         0 duplicates          0 deltas)
    +      trees  :            2 (         0 duplicates          0 deltas)
    +      commits:            1 (         0 duplicates          0 deltas)
    +      tags   :            0 (         0 duplicates          0 deltas)
    +Total branches:           1 (         1 loads     )
    +      marks:           1024 (         1 unique    )
    +      atoms:              3
    +Memory total:          2344 KiB
    +       pools:          2110 KiB
    +     objects:           234 KiB
    +---------------------------------------------------------------------
    +pack_report: getpagesize()            =       4096
    +pack_report: core.packedGitWindowSize = 1073741824
    +pack_report: core.packedGitLimit      = 8589934592
    +pack_report: pack_used_ctr            =          1
    +pack_report: pack_mmap_calls          =          1
    +pack_report: pack_open_windows        =          1 /          1
    +pack_report: pack_mapped              =        323 /        323
    +---------------------------------------------------------------------
    +
    +
    +
  • +
  • 看看提交日志。

    +
    $ git log --pretty=fuller --stat
    +commit 18f4310580ca915d7384b116fcb2e2ca0b833714
    +Author:     User1 <user1@ossxp.com>
    +AuthorDate: Tue Jan 18 09:04:59 2011 +0800
    +Commit:     User1 <user1@ossxp.com>
    +CommitDate: Tue Jan 18 09:04:59 2011 +0800
    +
    +    My initial commit.
    +
    + README         |    1 +
    + team/user1.txt |    1 +
    + 2 files changed, 2 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+

再来看一个导入文件。将下面的内容保存到文件/path/to/file/dump2.dat中。

+
 1 blob
+ 2 mark :2
+ 3 data 25
+ 4 Hello, world.
+ 5 Hi, user2.
+ 6 blob
+ 7 mark :3
+ 8 data <<EOF
+ 9 I'm user2.
+10 EOF
+11 commit refs/heads/master
+12 mark :4
+13 committer User2 <user2@ossxp.com> 1295312799 +0800
+14 data <<EOF
+15 User2's test commit.
+16 EOF
+17 from :1
+18 M 644 :2 README
+19 M 644 :3 team/user2.txt
+
+
+

上面的内容标注了行号,注意不要把行号也代入文件中。其中:

+
    +
  • 第1-5行定义了编号为“:2”的文件内容。该文件的内容共有25字节,第3行开始的data文字块就通过在后面跟上一个表示文件长度的十进制数字界定了内容的起止。
  • +
  • 第6-10行定义了编号为“:3”的文件内容。第8行界定该文件内容使用了“Here Documents”的语法,该语法对于文本内容比较适合,使用内容长度标示内容起止对于二进制文件更为适合。
  • +
  • 第11行开始定义了一个新的提交。
  • +
  • 第12行设定该提交的编号为“:4”。
  • +
  • 第17行以from开头,定义了该提交的父提交为编号为“:1”的提交,即在/path/to/file/dump1.dat中定义的提交。
  • +
  • 第18行和第19行设定了该提交更改的两个文件,这两个文件的内容不像之前的导出文件dump1.dat那样使用内联方式定义内容,而是采用引用方式引用前面定义的二进制数据流(blob)作为文件的内容。
  • +
+

如果以增量方式导入dump2.dat会报错,因为在第17行引用的“:1”没有定义。

+
$ git fast-import < /path/to/file/dump2.dat
+fatal: mark :1 not declared
+fast-import: dumping crash report to .git/fast_import_crash_21772
+
+
+

如果将文件/path/to/file/dump2.dat的第17行的引用修改为提交ID,是可以增量导入的。不过为了说明的方便,还是通过将两个导入文件一次性传递给git fast-import创建一个新版本库。

+
    +
  • 初始化版本库import2

    +
    $ mkdir -p /path/to/my/workspace/import2
    +$ cd /path/to/my/workspace/import2
    +$ git init
    +
    +
    +
  • +
  • 调用git fast-import命令。

    +
    $ cat /path/to/file/dump1.dat \
    +      /path/to/file/dump2.dat | git fast-import
    +
    +
    +
  • +
  • 导入之后的日志显示:

    +
    $ git log --graph --stat
    +* commit 73a6f2742f9da7c1b4bb8748e018a2becad39dd6
    +| Author: User2 <user2@ossxp.com>
    +| Date:   Tue Jan 18 09:06:39 2011 +0800
    +|
    +|     User2's test commit.
    +|
    +|  README         |    1 +
    +|  team/user2.txt |    1 +
    +|  2 files changed, 2 insertions(+), 0 deletions(-)
    +|
    +* commit 18f4310580ca915d7384b116fcb2e2ca0b833714
    +  Author: User1 <user1@ossxp.com>
    +  Date:   Tue Jan 18 09:04:59 2011 +0800
    +
    +      My initial commit.
    +
    +   README         |    1 +
    +   team/user1.txt |    1 +
    +   2 files changed, 2 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
+

下面再来看一个导入文件,在这个导入文件中,包含了合并提交以及创建里程碑。

+
 1 blob
+ 2 mark :5
+ 3 data 25
+ 4 Hello, world.
+ 5 Hi, user1.
+ 6 blob
+ 7 mark :6
+ 8 data 35
+ 9 Hello, world.
+10 Hi, user1 and user2.
+11 commit refs/heads/master
+12 mark :7
+13 committer User1 <user1@ossxp.com> 1295312899 +0800
+14 data <<EOF
+15 Say helo to user1.
+16 EOF
+17 from :1
+18 M 644 :5 README
+19 commit refs/heads/master
+20 mark :8
+21 committer User2 <user2@ossxp.com> 1295312900 +0800
+22 data <<EOF
+23 Say helo to both users.
+24 EOF
+25 from :4
+26 merge :7
+27 M 644 :6 README
+28 tag refs/tags/v1.0
+29 from :8
+30 tagger Jiang Xin <jiangxin@ossxp.com> 1295312901 +0800
+31 data <<EOF
+32 Version v1.0
+33 EOF
+
+
+

将这个文件保存到/path/to/file/dump3.dat。下面针对该文件内容进行简要的说明:

+
    +
  • 第1-5行和第6-10行定义了两个blob对象,代表了两个对README文件的不同修改。

    +
  • +
  • 第11行开始定义了编号为“:7”的提交。从第17行可以看出该提交的父提交也是由dump1.dat导入的第一个提交。

    +
  • +
  • 第19行开始定义了编号为“:8``”的提交。该提交为一个合并提交,除了在第25行设定了第一个父提交外,还由第26行给出了第二个父提交。

    +
  • +
  • 第28行开始定义了一个里程碑。里程碑的名字为refs/tags/v1.0。第29行指定了该里程碑对应的提交。里程碑说明由第31-33行指令给出。

    +
  • +
  • 初始化版本库import3

    +
    $ mkdir -p /path/to/my/workspace/import3
    +$ cd /path/to/my/workspace/import3
    +$ git init
    +
    +
    +
  • +
  • 调用git fast-import命令。

    +
    $ cat /path/to/file/dump1.dat /path/to/file/dump2.dat \
    +      /path/to/file/dump3.dat | git fast-import
    +
    +
    +
  • +
  • 查看创建的版本库的日志。

    +

    从日志中可以看出里程碑v1.0已经建立在最新的提交上了。

    +
    $ git log --oneline --graph --decorate
    +*   a47790e (HEAD, tag: refs/tags/v1.0, master) Say helo to both users.
    +|\
    +| * f486a44 Say helo to user1.
    +* | 73a6f27 User2's test commit.
    +|/
    +* 18f4310 My initial commit.
    +
    +
    +
  • +
+

理解了git fast-import的导入文件格式,针对特定的版本控制系统开发一个新的迁移工具不是难事。Hg的迁移工具fast-export是一个很好的参照。

+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/050-git-to-git.html b/06-migrate/050-git-to-git.html new file mode 100644 index 000000000..1668a036a --- /dev/null +++ b/06-migrate/050-git-to-git.html @@ -0,0 +1,376 @@ + + + + + + + + + 6.2.4. Git版本库整理 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

6.2.3. 通用版本库迁移

+

下一个主题

+

7. Git的其它应用

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

6.2.4. Git版本库整理

+

Git提供了太多武器进行版本库的整理,可以将一个Git版本库改动换面成为另外的一个Git版本库。

+
    +
  • 使用交互式变基操作,将多个提交合并为一个。
  • +
  • 使用StGit,合并提交以及更改提交。
  • +
  • 借助变基操作,抛弃部分历史提交。
  • +
  • 使用子树合并,将多个版本库整合在一起。
  • +
  • 使用git-subtree插件,将版本库的一个目录拆分出来成为独立版本库的根目录。
  • +
+

但是有些版本库重整工作如果使用上面的工具会非常困难,而采用另外一个还没有用到的Git命令git filter-branch却可以做到事半功倍。看看使用这个新工具来实现下面的这几个任务是多么的简单和优美。

+
    +
  • 将版本库中某个文件彻底删除。即凡是有该文件的提交都一一作出修改,撤出该文件。

    +

    下面的命令并非最优实现,后面会介绍一个运行更快的命令。

    +
    $ git filter-branch --tree-filter 'rm -f filename' -- --all
    +
    +
    +
  • +
  • 更改历史提交中某一提交者的姓名及邮件地址。

    +
    $ git filter-branch --commit-filter '
    +      if [ "$GIT_AUTHOR_NAME" = "Xin Jiang" ]; then
    +          GIT_AUTHOR_NAME="Jiang Xin"
    +          GIT_AUTHOR_EMAIL="jiangxin@ossxp.com"
    +          GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
    +          GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
    +      fi
    +      git commit-tree "$@";
    +      ' HEAD
    +
    +
    +
  • +
  • 为没有包含签名的历史提交添加签名。

    +
    $ git filter-branch -f --msg-filter '
    +      signed=false
    +      while read line; do
    +          if echo $line | grep -q Signed-off-by; then
    +              signed=true
    +          fi
    +          echo $line
    +      done
    +      if ! $signed; then
    +          echo ""
    +          echo "Signed-off-by: YourName <your@email.address>"
    +      fi
    +      ' HEAD
    +
    +
    +
  • +
+

通过上面的例子,可以看出命令git filter-branch通过针对不同的过滤器提供可执行脚本,从不同的角度对Git版本库进行重构。该命令的用法:

+
git filter-branch [--env-filter <command>] [--tree-filter <command>]
+        [--index-filter <command>] [--parent-filter <command>]
+        [--msg-filter <command>] [--commit-filter <command>]
+        [--tag-name-filter <command>] [--subdirectory-filter <directory>]
+        [--prune-empty]
+        [--original <namespace>] [-d <directory>] [-f | --force]
+        [--] [<rev-list options>...]
+
+
+

这条命令异常复杂,但是大部分参数是用于提供不同的接口,因此还是比较好理解的。

+
    +
  • 该命令最后的<rev-list>参数提供要修改的版本范围,如果省略则相当于HEAD指向的当前分支。也可以使用--all来指代所有引用,但是要在--all和前面的参数间使用分隔符--
  • +
  • 运行git filter-branch命令改写分支之后,被改写的分支会在refs/original中对原始引用做备份。对于在refs/original中已有备份的情况下,该命令拒绝执行,除非使用-f--force参数。
  • +
  • 其他需要接以<command>的参数都为git filter-branch提供相应的接口进行过虑,在下面会针对各个过滤器进行介绍。
  • +
+
+

6.2.4.1. 环境变量过滤器

+

参数--env-filter用于设置一个环境过滤器。该过滤器用于修改环境变量,对特定的环境变量的修改会改变提交。下面的示例[1]可以用于修改作者/提交者的邮件地址。

+
$ git filter-branch --env-filter '
+    an="$GIT_AUTHOR_NAME"
+    am="$GIT_AUTHOR_EMAIL"
+    cn="$GIT_COMMITTER_NAME"
+    cm="$GIT_COMMITTER_EMAIL"
+
+    if [ "$cn" = "Kanwei Li" ]; then
+      cm="kanwei@gmail.com"
+    fi
+    if [ "$an" = "Kanwei Li" ]; then
+      am="kanwei@gmail.com"
+    fi
+
+    export GIT_AUTHOR_EMAIL=$am
+    export GIT_COMMITTER_EMAIL=$cm
+    '
+
+
+

这个示例和本节一开始介绍的更改作者/提交者信息的示例功能相同,但是使用了不同的过滤器,读者可以根据喜好选择。

+
+
+

6.2.4.2. 树过滤器

+

参数--tree-filter用于设置树过滤器。树过滤器会将每个提交检出到特定目录中(.git-rewrite/目录或者用-d参数指定的目录),针对检出目录中文件的修改、添加、删除会改变提交。注意此过滤器忽略.gitignore,因此任何对检出目录的修改都会记录在新的提交中。之前介绍的文件删除就是一例。再比如对文件名的修改:

+
$ git filter-branch --tree-filter '
+      [ -f oldfile ] && mv oldfile newfile || true
+      ' -- --all
+
+
+
+
+

6.2.4.3. 暂存区过滤器

+

树过滤器因为要将每个提交检出,因此非常费时,而参数--index-filter给出的暂存区过滤器则没有这个缺点。之前使用树过滤器删除文件的的操作如果换做用暂存区过滤器实现运行的会更快。

+
$ git filter-branch --index-filter '
+      git rm --cached --ignore-unmatch filename
+      ' -- --all
+
+
+

其中参数--ignore-unmatchgit rm命令不至于因为暂存区中不存在filename文件而失败。

+
+
+

6.2.4.4. 父节点过滤器

+

参数--parent-filter用于设置父节点过滤器。该过滤器用于修改提交的父节点。提交原始的父节点通过标准输入传入脚本,而脚本的输出将作为提交新的父节点。父节点参数的格式为:如果没有父节点(初始提交)则为空。如果有一个父节点,参数为-p parent。如果是合并提交则有多个父节点,参数为-p parent1 -p parent2 -p parent3 ...

+

下面的命令将当前分支的初始提交嫁接到<graft-id>所指向的提交上。

+
$ git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' HEAD
+
+
+

如果不是将初始提交(没有父提交)而是任意的一个提交嫁接到另外的提交上,可以通过GIT_COMMIT环境变量对提交进行判断,更改其父节点以实现嫁接。

+
$ git filter-branch --parent-filter \
+          'test $GIT_COMMIT = <commit-id> && \
+           echo "-p <graft-id>" || cat
+          ' HEAD
+
+
+

关于嫁接,Git可以通过配置文件.git/info/grafts实现,而git filter-branch命令可以基于该配置文件对版本库实现永久性的更改。

+
$ echo "$commit-id $graft-id" >> .git/info/grafts
+$ git filter-branch $graft-id..HEAD
+
+
+
+
+

6.2.4.5. 提交说明过滤器

+

参数--msg-filter用于设置提交说明过滤器。该过滤器用于改写提交说明。原始的提交说明作为标准输入传入脚本,而脚本的输出作为新的提交说明。

+

例如将使用git-svn从Subversion迁移过来的Git版本库,缺省情况下在提交说明中饱含git-svn-id:字样的说明,如果需要将其清除可以不必重新迁移,而是使用下面的命令重写提交说明。

+
$ git filter-branch --msg-filter 'sed -e "/^git-svn-id:/d"' -- --all
+
+
+

再如将最新的10个提交添加“Acked-by:”格式的签名。

+
$ git filter-branch --msg-filter '
+      cat &&
+      echo "Acked-by: Bugs Bunny <bunny@bugzilla.org>"
+      ' HEAD~10..HEAD
+
+
+
+
+

6.2.4.6. 提交过滤器

+

参数--commit-filter用于设置树过滤器。提交过滤器所给出的脚本,在版本库重整过程的每次提交时运行,取代缺省要执行的git commit-tree命令。不过一般情况会在脚本中调用git commit-tree命令。传递给脚本的参数格式为<TREE_ID> [(-p <PARENT_COMMIT_ID>)...],提交日志以标准输入的方式传递给脚本。脚本的输出是新提交的提交ID。作为扩展,如果脚本输出了多个提交ID,则这些提交ID作为子提交的多个父节点。

+

使用下面的命令,可以过滤掉空提交(合并提交除外)。

+
$ git filter-branch --commit-filter 'git_commit_non_empty_tree "$@"'
+
+
+

函数git_commit_non_empty_tree函数是在脚本git-filter-branch中已经定义过的函数。可以打开文件$(git --exec-path)/git-filter-branch查看。

+
# if you run 'git_commit_non_empty_tree "$@"' in a commit filter,
+# it will skip commits that leave the tree untouched, commit the other.
+git_commit_non_empty_tree()
+{
+  if test $# = 3 && test "$1" = $(git rev-parse "$3^{tree}"); then
+    map "$3"
+  else
+    git commit-tree "$@"
+  fi
+}
+
+
+

如果想某个用户的提价非空但是也想跳过,可以使用下面的命令:

+
$ git filter-branch --commit-filter '
+      if [ "$GIT_AUTHOR_NAME" = "badboy" ];
+      then
+              skip_commit "$@";
+      else
+              git commit-tree "$@";
+      fi' HEAD
+
+
+

其中函数skip_commit也是在git-filter-branch脚本中已经定义好的。该函数的作用就是将传递给提交过滤器脚本的参数<tree_id> -p parent1 -p parent2 ...进行处理,形成parent1 parent2的输出。参见Git命令脚本$(git --exec-path)/git-filter-branch中相关函数。

+
# if you run 'skip_commit "$@"' in a commit filter, it will print
+# the (mapped) parents, effectively skipping the commit.
+skip_commit()
+{
+  shift;
+  while [ -n "$1" ];
+  do
+    shift;
+    map "$1";
+    shift;
+  done;
+}
+
+
+
+
+

6.2.4.7. 里程碑名字过滤器

+

参数--tag-name-filter用于设置里程碑名字过滤器。该过滤器也是经常要用到的过滤器。上面介绍的各个过滤器都有可能改变提交ID,如果在原有的提交ID上建有里程碑,可能会随之更新但是会产生大量的警告日志,提示使用里程碑过滤器。里程碑过滤器脚本以原始里程碑名称作为标准输入,并把新里程碑名称作为标准输出。如果不打算变更里程碑名称,而只是希望里程碑随提交而更新,可以在脚本中使用cat命令。例如下面的命令中里程碑名字过滤器和目录树过滤器同时使用。

+
$ git filter-branch --tree-filter '
+      [ -f oldfile ] && mv oldfile newfile || true
+      ' -- tag-name-filter 'cat' -- --all
+
+
+

在前面的里程碑一章曾经提到过git branch命令没有提供里程碑重名名的功能,而使用里程碑名字过滤器可以实现里程碑的重命名。下面的的示例会修改里程碑的名字,将前缀为old-prefix的里程碑改名为前缀为new-prefix的里程碑。

+
$ git filter-branch --tag-name-filter '
+      oldtag=`cat`
+      newtag=${oldtag#old-prefix}
+      if [ "$oldtag" != "$newtag" ]; then
+          newtag="new-prefix$newtag"
+      fi
+      echo $newtag
+      '
+
+
+

注意因为签名里程碑重建后,因为签名不可能保持所以新里程碑会丢弃签名,成为一个普通的包含说明的里程碑。

+
+
+

6.2.4.8. 子目录过滤器

+

参数--subdirectory-filter用于设置子目录过滤器。子目录过滤器可以将版本库的一个子目录提取为一个新版本库,并将该子目录作为版本库的根目录。例如从Subversion转换到Git版本库因为参数使用不当,将原Subversion的主线转换为Git版本库的一个目录trunk。可以使用git filter-branch命令的子目录过滤器将trunk提取为版本库的根。

+
$ git filter-branch --subdirectory-filter trunk HEAD
+
+
+
+ + + + + +
[1]摘自http://kanwei.com/code/2009/03/29/fixing-git-email.html
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/06-migrate/index.html b/06-migrate/index.html new file mode 100644 index 000000000..5b8654933 --- /dev/null +++ b/06-migrate/index.html @@ -0,0 +1,172 @@ + + + + + + + + + 6. 迁移到Git — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

5.7. Git版本库托管

+

下一个主题

+

6.1. CVS版本库到Git的迁移

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

6. 迁移到Git

+

随着Git版本控制系统的成熟,越来越多的项目把版本控制系统迁移到了Git上。迁移大多是无损的,即迁移到Git后忠实的保留之前的变更历史、分支和里程碑。如果正打算迁移版本控制系统,本篇介绍的版本库迁移方法和注意事项将会为你提供帮助。

+

本篇首先会介绍CVS、Subversion、Mercurial等几个著名的开源版本控制系统如何迁移到Git上。除此之外的其他版本控制系统也许可以找到类似的迁移方案,或者可以针对git fast-import通过编程定制转换过程。在本篇的最后,还会介绍一个让Git版本库改头换面的更为强大的工具git filter-branch

+

目录:

+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/07-git-app/010-etckeeper.html b/07-git-app/010-etckeeper.html new file mode 100644 index 000000000..bb1b9d7c7 --- /dev/null +++ b/07-git-app/010-etckeeper.html @@ -0,0 +1,202 @@ + + + + + + + + + 7.1. etckeeper — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

7. Git的其它应用

+

下一个主题

+

7.2. Gistore

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

7.1. etckeeper

+

Linux/Unix的用户对/etc目录都是再熟悉不过了,在这个最重要的目录中保存了大部分软件的配置信息,借以实现软件的配置以及整个系统的启动过程控制。对于Windows用户来说,可以把/etc目录视为Windows中的注册表,只不过文件化了,可管理了。

+

这么重要的/etc目录,如果其中的文件被错误编辑或者删除,将会损失惨重。etckeeper这个软件可以帮助实现/etc目录的持续备份,借用分布式版本控制工具,如:git、mercurial、bazaar、darcs。

+

那么etckeeper是如何实现的呢?以git作为etckeeper的后端为例进行说明,其他的分布式版本控制系统大同小异。

+
    +
  • /etc目录Git化。将会创建Git库于目录/etc/.git中,/etc目录作为工作区。
  • +
  • 与系统的包管理器,如Debian/Ubuntu的apt,Redhat上的yum等整合。一旦有软件包安装或删除,对/etc目录下的改动执行提交操作。
  • +
  • 除了能够记录/etc目录中的文件内容,还可以记录文件属性等元信息。因为/etc目录下的文件的权限设置往往是非常重要和致命的。
  • +
  • 因为/etc目录已经是一个版本库了,可以用git命令对/etc下的文件进行操作:查看历史,回退到历史版本...
  • +
  • 也可以将/etc克隆到另外的主机中,实现双机备份。
  • +
+
+

7.1.1. 安装etckeeper

+

安装etckeeper是一个最简单的活,因为etckeeper在主流的Linux发行版都有对应的安装包。使用相应Linux平台的包管理器(apt、yum)即可安装。

+

在Debian/Ubuntu上安装etckeeper如下:

+
$ sudo aptitude install etckeeper
+
+
+

安装etckeeper软件包,会自动安装上一个分布式版本控制系统工具,除非已经安装了。这是因为etckeeper需要使用一个分布式版本控制系统作为存储管理后端。在Debian/Ubuntu上会依据下面的优先级进行安装:git > mercurial > bzr > darcs。

+

在Debian/Ubuntu上,使用dpkg -s命令查看etckeeper的软件包依赖,就会看到这个优先级。

+
$ dpkg -s etckeeper | grep "^Depends"
+Depends: git-core (>= 1:1.5.4) | git (>= 1:1.7) | mercurial | bzr (>= 1.4~) | darcs, debconf (>= 0.5) | debconf-2.0
+
+
+
+
+

7.1.2. 配置etckeeper

+

配置etckeeper首先要选择好某一分布式版本库控制工具,如Git,然后用相应的版本控制工具初始化/etc目录,并做一次提交。

+
    +
  • 编辑配置文件/etc/etckeeper/etckeeper.conf

    +

    只要有下面一条配置就够了。告诉etckeeper使用git作为数据管理后端。

    +
    VCS="git"
    +
    +
    +
  • +
  • 初始化/etc目录。即将其Git化。执行下面的命令(需要以root用户身份),会将/etc目录Git化。

    +

    整个过程可能会比较慢,因为要对/etc下的文件执行git add,因为文件太多,会慢一些。

    +
    $ sudo etckeeper init
    +
    +
    +
  • +
  • 执行第一次提交。注意使用etckeeper命令而非git命令进行提交。

    +
    $ sudo etckeeper commit "this is the first etckeeper commit..."
    +
    +
    +

    整个过程可能会比较慢,主要是因为etckeeper要扫描/etc下不属于root用户的文件以及特殊权限的文件并进行记录。这是为了弥补Git本身不能记录文件属主、权限信息等。

    +
  • +
+
+
+

7.1.3. 使用etckeeper

+

实际上由于etckeeper已经和系统的包管理工具进行了整合(如Debian/Ubuntu的apt,Redhat上的yum等),etckeeper可以免维护运行。即一旦有软件包安装或删除,对/etc目录下的改动会自动执行提交操作。

+

当然也可以随时以root用户身份调用etckeeper commit命令对/etc目录的改动手动进行提交。

+

剩下的工作就交给Git了。可以在/etc目录执行git loggit show等操作。但要注意以root用户身份运行,因为/etc/.git目录的权限不允许普通用户操作。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/07-git-app/020-gistore.html b/07-git-app/020-gistore.html new file mode 100644 index 000000000..06a8ff27c --- /dev/null +++ b/07-git-app/020-gistore.html @@ -0,0 +1,593 @@ + + + + + + + + + 7.2. Gistore — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

7.2. Gistore

+

当了解了etckeeper之后,读者可能会如我一样的提问到:“有没有像etckeeper一样的工具,但是能备份任意的文件和目录呢?”

+

我在Google上搜索类似的工具无果,终于决定动手开发一个,因为无论是我还是我的客户,都需要一个更好用的备份工具。这就是Gistore。

+
Gistore = Git + Store
+
+
+

2010年1月,我在公司的博客上发表了Gistore 0.1版本的消息,参见:http://blog.ossxp.com/2010/01/406/。并将Gistore的源代码托管在了Github上,参见:http://github.com/ossxp-com/gistore

+

Gistore出现受到了etckeeper的启发,通过Gistore用户可以对全盘任何目录的数据纳入到备份中,定制非常简单和方便。特点有:

+
    +
  • 使用Git作为数据后端。数据回复和历史查看等均使用熟悉的Git命令。
  • +
  • 每次备份即为一次Git提交,支持文件的添加/删除/修改/重命名等。
  • +
  • 每次备份的日志自动生成,内容为此次修改的摘要信息。
  • +
  • 支持备份回滚,可以设定保存备份历史的天数,让备份的空间占用维持在一个相对稳定的水平上。
  • +
  • 支持跨卷备份。备份的数据源可以来自任何卷/目录或者文件。
  • +
  • 备份源如果已经Git化,也能够备份。例如/etc目录因为etckeeper被Git化,仍然可以对其用gistore进行备份。
  • +
  • 多机异地备份非常简单,使用git克隆即可解决。可以采用git协议、http、或者更为安全的ssh协议。
  • +
+

说明:Gistore只能运行在Linux/Unix上,而且最好以root用户身份运行,以避免因为授权问题导致有的文件不能备份。

+
+

7.2.1. Gistore的安装

+
+

7.2.1.1. 从源码安装Gistore

+

从源代码安装Gistore,可以确保安装的是最新的版本。

+
    +
  • 先用git从Github上克隆代码库。

    +
    $ git clone git://github.com/ossxp-com/gistore.git
    +
    +
    +
  • +
  • 执行setup.py脚本完成安装

    +
    $ cd gistore
    +$ sudo python setup.py install
    +
    +$ which gistore
    +/usr/local/bin/gistore
    +
    +
    +
  • +
+
+
+

7.2.1.2. 用easy_install安装

+

Gistore是用Python语言开发,已经在PYPI上注册:http://pypi.python.org/pypi/gistore。就像其他Python软件包一样,可以使用easy_install进行安装。

+
    +
  • 确保机器上已经安装了setuptools。

    +

    Setuptools的官方网站在http://peak.telecommunity.com/DevCenter/setuptools。几乎每个Linux发行版都有setuptools的软件包,因此可以直接用包管理器进行安装。

    +

    在Debian/Ubuntu上可以使用下面的命令安装setuptools:

    +
    $ sudo aptitude install python-setuptools
    +
    +$ which easy_install
    +/usr/bin/easy_install
    +
    +
    +
  • +
  • 使用easy_install命令安装Gistore

    +
    $ sudo easy_install -U gistore
    +
    +
    +
  • +
+
+
+
+

7.2.2. Gistore的使用

+

先熟悉一下Gistore的术语:

+
    +
  • 备份库:通过gistore init命令创建的,用于数据备份的数据仓库。备份库包含的数据有:

    +
      +
    • Git版本库相关目录和文件。如repo.git目录(相当于.git目录),.gitignore文件等。
    • +
    • Gistore相关配置。如.gistore/config文件。
    • +
    +
  • +
  • 备份项:可以为一个备份库指定任意多的备份项目。

    +
      +
    • 例如备份/etc目录,/var/log目录,/boot/grub/menulist文件等。

      +
    • +
    • 备份项在备份库的.gistore/config文件中指定,如上述备份项在配置文件中写法为:

      +
      [store /etc]
      +[store /var/log]
      +[store /boot/grub/menu.lst]
      +
      +
      +
    • +
    +
  • +
  • 备份任务:在执行gistore命令时,可以指定一个任务或者多个任务。

    +
      +
    • 备份任务可以是对应的备份库的路径。可以使用绝对路径,也可以使用相对路径。
    • +
    • 如果不提供备份任务,缺省将当前目录作为备份库的所在。
    • +
    • 也可以使用一个任务别名来标识备份任务。
    • +
    +
  • +
  • 任务别名。

    +
      +
    • /etc/gistore/tasks目录中创建的备份库的符号链接的名称,作为这些备份库的任务别名。
    • +
    • 通过任务别名的机制,将可能分散在磁盘各处的备份库汇总一起,便于管理员定位备份库。
    • +
    • 将所有的别名显示出来,就是任务列表。
    • +
    +
  • +
+
+

7.2.2.1. 创建并初始化备份库

+

在使用Gistore开始备份之前,必须先初始化一个备份库。命令行格式如下:

+
gistore init [备份任务]
+
+
+

初始化备份库的示例如下:

+
    +
  • 将当前目录作为备份库进行初始化:

    +
    $ mkdir backup
    +$ cd backup
    +$ gistore init
    +
    +
    +
  • +
  • 将指定的目录作为备份库进行初始化:

    +
    $ sudo gistore init /backup/database
    +
    +
    +
  • +
+

当一个备份库初始化完毕后,包含下列文件和目录:

+
    +
  • 目录repo.git:存储备份的Git版本库。
  • +
  • 文件.gistore/config:Gistore配置文件。
  • +
  • 目录logs:Gistore运行的日志记录。
  • +
  • 目录locks:Gistore运行的文件锁目录。
  • +
+
+
+

7.2.2.2. Gistore的配置文件

+

在每一个备份库的.gistore目录下的config文件是该备份库的配置文件,用于记录Gistore的备份项内容以及备份回滚设置等。

+

例如下面的配置内容:

+
1   # Global config for all sections
+2   [main]
+3   backend = git
+4   backup_history = 200
+5   backup_copies = 5
+6   root_only = no
+7   version = 2
+8
+9   [default]
+10  keep_empty_dir = no
+11  keep_perm = no
+12
+13  # Define your backup list below. Section name begin with 'store ' will be backup.
+14  # eg: [store /etc]
+15  [store /opt/mailman/archives]
+16  [store /opt/mailman/conf]
+17  [store /opt/mailman/lists]
+18  [store /opt/moin/conf]
+19  [store /opt/moin/sites]
+
+
+

如何理解这个配置文件呢?

+
    +
  • 第2行到第7行的[main]小节用于Gistore的全局设置。

    +
  • +
  • 第3行设置了Gistore使用的SCM后端为Git,这是目前唯一可用的设置。

    +
  • +
  • 第4行设置了Gistore的每一个历史分支保存的最多的提交数目,缺省200个提交。当超过这个提交数目,进行备份回滚。

    +
  • +
  • 第5行设置了Gistore保存的历史分支数量,缺省5个历史分支。每当备份回滚时,会将备份主线保存到名为gistore/1的历史分支。

    +
  • +
  • 第6行设置非root_only模式。如果开启root_only模式,则只有root用户能够执行此备份库的备份。

    +
  • +
  • 第7行设置了Gistore备份库的版本格式。

    +
  • +
  • 第9行开始的[default]小节设置后面的备份项小节的缺省设置。在后面的[store ...]小节可以覆盖此缺省设置。

    +
  • +
  • 第10行设置是否保留空目录。暂未实现。

    +
  • +
  • 第11行设置是否保持文件属主和权限。暂未实现。

    +
  • +
  • 第15行到第19行是备份项小节,小节名称以store开始,后面的部分即为备份项的路径。

    +

    [store /etc]的含义是:要对/etc目录进行备份。

    +
  • +
+
+
+

7.2.2.3. Gistore的备份项管理

+

当然可以直接编辑.gistore/config文件,通过添加或者删除[store...]小节的方式管理备份项。Gistore还提供了两个命令进行备份项的管理。

+

添加备份项

+

进入备份库目录,执行下面的命令,添加备份项/some/dir。注意备份项要使用全路径,即要以“/”开始。

+
$ gistore add /some/dir
+
+
+

删除备份项

+

进入备份库目录,执行下面的命令,策删除备份项/some/dir

+
$ gistore rm /some/dir
+
+
+

查看备份项

+

进入备份库目录,执行gistore status命令,显示备份库的设置以及备份项列表。

+
$ gistore status
+         Task name : system
+         Directory : /data/backup/gistore/system
+           Backend : git
+ Backup capability : 200 commits * 5 copies
+       Backup list :
+                     /backup/databases (--)
+                     /backup/ldap (--)
+                     /data/backup/gistore/system/.gistore (--)
+                     /etc (AD)
+                     /opt/cosign/conf (--)
+                     /opt/cosign/factor (--)
+                     /opt/cosign/lib (--)
+                     /opt/gosa/conf (--)
+                     /opt/ossxp/conf (--)
+                     /opt/ossxp/ssl (--)
+
+
+

从备份库的状态输出,可以看到:

+
    +
  • 备份库的路径是/data/backup/gistore/system

    +
  • +
  • 备份库有一个任务别名为system

    +
  • +
  • 备份的容量是200*5,如果按每天一次备份计算的话,总共保存1000天,差不多3年的数据备份。

    +
  • +
  • 在备份项列表,可以看到多达10项备份列表。

    +

    每个备份项后面的括号代表其备份选项,其中/etc的备份选项为ADA代表记录并保持授权,D的含义是保持空目录。

    +
  • +
+
+
+

7.2.2.4. 执行备份任务

+

执行备份任务非常简单:

+
    +
  • 进入到备份库根目录下,执行:

    +
    $ sudo gistore commit
    +
    +
    +
  • +
  • 或者在命令行上指定备份库的路径。

    +
    $ sudo gistore ci /backup/database
    +
    +
    +

    说明:cicommit命令的简称。

    +
  • +
+
+
+

7.2.2.5. 查看备份日志及数据

+

备份库中的repo.git就是备份数据所在的Git库,这个Git库是一个不带工作区的裸库。可以对其执行git log命令来查看备份日志。

+

因为并非采用通常.git作为版本库名称,而且不带工作区,需要通过--git-dir参数制定版本库位置,如下:

+
$ git --git-dir=repo.git log
+
+
+

当然,也可以进入到repo.git目录,执行git log命令。

+

下面是我公司内的服务器每日备份的日志片断:

+
commit 9d16b5668c1a09f6fa0b0142c6d34f3cbb33072f
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Aug 5 04:00:23 2010 +0800
+
+    Changes summary: total= 423, A: 407, D: 1, M: 15
+    ------------------------------------------------
+        A => etc/gistore/tasks/Makefile, opt/cosign/lib/share/locale/cosign.pot, opt/cosign/lib/templates-local.old/expired_error.html, opt/cosign/lib/templates-local.old3/error.html, opt/cosign/lib/templates/inc/en/0020_scm.html, ...402 more...
+        D => etc/gistore/tasks/default
+        M => .gistore/config, etc/gistore/tasks/gosa, etc/gistore/tasks/testlink, etc/group, etc/gshadow-, ...10 more...
+
+commit 01b6bce2e4ee2f8cda57ceb3c4db0db9eb90bbed
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Wed Aug 4 04:01:09 2010 +0800
+
+    Changes summary: total= 8, A: 7, M: 1
+    -------------------------------------
+        A => backup/databases/blog_bj/blog_bj.sql, backup/databases/ossxp/mysql.sql, backup/databases/redmine/redmine.sql, backup/databases/testlink/testlink-1.8.sql, backup/databases/testlink/testlink.sql, ...2 more...
+        M => .gistore/config
+
+commit 15ef2e88f33dfa7dfb04ecbcdb9e6b2a7c4e6b00
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Aug 3 16:59:12 2010 +0800
+
+    Changes summary: total= 2665, A: 2665
+    -------------------------------------
+        A => .gistore/config, etc/apache2/sites-available/gems, etc/group-, etc/pam.d/dovecot, etc/ssl/certs/0481cb65.0, ...2660 more...
+
+commit 6883d5c2ca77caab9f9b2cfd68dcbc27526731c8
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Aug 3 16:55:49 2010 +0800
+
+    gistore root commit initialized.
+
+
+

从上面的日志可以看出:

+
    +
  • 备份发生在晚上4点钟左右。这是因为备份是晚上自动执行的。
  • +
  • 最老的备份,即ID为6883d5c的提交,实际上是一个不包含任何数据的空备份,在数据发生回滚的时候,设置为回滚的起点。这个后面会提到。
  • +
  • ID为15ef2e8的提交是一次手动提交。提交说明中可以看到添加了2665个文件。
  • +
  • 最新的备份ID为9d16b56,其中既又文件添加(A),又有文件删除(D),还有文件变更(M),会随机选择各5个文件出现在提交日志中。
  • +
+

如果想查看详细的文件变更列表?

+

使用下面的命令:

+
$ git --git-dir=repo.git show --stat 9d16b56
+
+commit 9d16b5668c1a09f6fa0b0142c6d34f3cbb33072f
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Aug 5 04:00:23 2010 +0800
+
+    Changes summary: total= 423, A: 407, D: 1, M: 15
+    ------------------------------------------------
+        A => etc/gistore/tasks/Makefile, opt/cosign/lib/share/locale/cosign.pot, opt/cosign/lib/templates-local.old/expired_error.html, opt/cosign/lib/templ
+        D => etc/gistore/tasks/default
+        M => .gistore/config, etc/gistore/tasks/gosa, etc/gistore/tasks/testlink, etc/group, etc/gshadow-, ...10 more...
+
+ .gistore/config                                    |    4 +
+ backup/databases/redmine/redmine.sql               |   44 +-
+ etc/apache2/include/redmine/redmine.conf           |   40 +-
+ etc/gistore/tasks/Makefile                         |    1 +
+ etc/gistore/tasks/default                          |    1 -
+ etc/gistore/tasks/gosa                             |    2 +-
+
+ ...
+
+ opt/gosa/conf/sieve-spam.txt                       |    6 +
+ opt/gosa/conf/sieve-vacation.txt                   |    4 +
+ opt/ossxp/conf/cron.d/ossxp-backup                 |    8 +-
+ 423 files changed, 30045 insertions(+), 51 deletions(-)
+
+
+

在备份库的logs目录下,还有一个备份过程的日志文件logs/gitstore.log。记录了每次备份的诊断信息,主要用于调试Gistore。

+
+
+

7.2.2.6. 查看及恢复备份数据

+

所有的备份数据,实际上都在repo.git目录指向的Git库中维护。如何获取呢?

+

克隆方式检出

+

执行下面的命令,克隆裸版本库repo.git

+
$ git clone repo.git data
+
+
+

进入data目录,就可以以Git的方式查看历史数据,以及恢复历史数据。当然恢复的历史数据还要拷贝到原始位置才能实现数据的恢复。

+

分离的版本库和工作区方式检出

+

还有一个稍微复杂的方法,就是既然版本库已经在repo.git了,可以直接利用它,避免克隆导致空间上的浪费,尤其是当备份库异常庞大的情况。

+
    +
  • 创建一个工作目录,如export

    +
    $ mkdir export
    +
    +
    +
  • +
  • 设置环境变量,制定版本库和工作区的位置。注意使用绝对路径。

    +

    下面的命令中,用pwd命令获得当前工作路径,借以得到绝对路径。

    +
    $ export GIT_DIR=`pwd:file:`/repo.git
    +$ export GIT_WORK_TREE=`pwd:file:`/export
    +
    +
    +
  • +
  • 然后就可以进入:file:` export`目录,执行Git操作了。

    +
    $ git status
    +$ git checkout .
    +
    +
    +
  • +
+

为什么没有历史备份?

+

当针对repo.git执行git log的时候,满心期望能够看到备份的历史,但是看到的却只有孤零零的几个备份记录。不要着急,可能是备份回滚了。

+

参见下节的备份回滚,会找到如何获取更多历史备份的方法。

+
+
+

7.2.2.7. 备份回滚及设置

+

我在开发Gistore时,最麻烦的就是备份历史的管理。如果不对备份历史进行回滚,必然会导致提交越来越多,备份空间占用越来越大,直至磁盘空间占慢。

+

最早的想法是使用git rebase。即将准备丢弃的早期备份历史合并成为一个提交,后面的提交变基到合并提交之上,这样就实现了对历史提交的丢弃。但是这样的操作即费时,又比较复杂。忽然又一天灵机一动,为什么不用分支来实现对回滚数据的保留?至于备份主线(master分支)从一个新提交开始重建。

+

回滚后master分支如何从一个新提交开始呢?较早的实现是直接重置到一个空提交(gistore/0)上,但是这样会导致接下来的备份非常耗时。一个更好的办法是使用git commit-tree命令,直接从回滚前的master分支创建新提交。在读者看到这本书的时候,我应该已经才用了新的实现。

+

具体的实现过程是:

+
    +
  • 首先在备份库初始化的时候,就会建立一个空的提交,并打上里程碑Tag:gistore/0(新的实现这个步骤变得没有必要)。
  • +
  • 每次备份,都提交在Git库的主线master上。
  • +
  • 当Git库的master主线的提交数达到规定的阈值(缺省200),对gistore分支进行回滚,并基于当前master打上分支:gistore/1
      +
    • 如果设置了5个回滚分支,并且存在其他回滚分支,则分支依次向后回滚。
    • +
    • 删除gistore/5gistore/4分支改名为gistore/5,等等,最后将gistore/1重命名为gistore/2
    • +
    • 基于当前master建立分支gistore/1
    • +
    • 将当前master以最新提交的树创建一个不含历史的提交,并重置到该提交。即master分支抛弃所有的备份历史。
    • +
    • 在新的master分支进行一次新的备份。
    • +
    +
  • +
  • 当回滚发生后,对备份库的远程数据同步不会有什么影响,传输的数据量也仅是新增备份和上一次备份的差异。
  • +
+

如何找回历史备份?

+

通过上面介绍的Gistore回滚的实现方法,会知道当回滚发生后,主线master只包含两个提交。一个是上一次备份的数据,另外一个是最新的数据备份。似乎大部分备份历史被完全丢弃了。其实,可以从分支gistore/1中看到最近备份的历史,还可以从其他分支(如果有的话)会看到更老的历史。

+

查看回滚分支的提交历史:

+
$ git --git-dir=repo.git log gistore/1
+
+
+

通过日志找出要恢复的时间点和提交号,使用git checkout即可检出历史版本。

+
+
+

7.2.2.8. 注册备份任务别名

+

因为Gistore可以在任何目录下创建备份任务,管理员很难定位当前到底存在多少个备份库,因此需要提供一个机制,让管理员能够看到系统中有哪些备份库。还有,就是在使用Gistore时若使用长长的备份库路径作为参数会显得非常笨拙。任务别名就是用来解决这些问题的。

+

任务别名实际上就是在备份库在目录/etc/gistore/tasks下创建的符号连接。

+

为备份任务创建任务别名非常简单,只需要在/etc/gistore/tasks目录中创建的备份库的符号链接,该符号链接的名称,作为这些备份库的任务别名。

+
$ sudo ln -s /home/jiangxin/Desktop/mybackup /etc/gistore/tasks/jx
+$ sudo ln -s /backup/database /etc/gistore/tasks/db
+
+
+

于是,就创建了两个任务别名,在以后执行备份时,可以简化备份命令:

+
$ sudo gistore commit jx
+$ sudo gistore commit db
+
+
+

查看一份完整备份列表也非常简单,执行gistore list命令即可。

+
$ gistore list
+db        : /backup/database
+jx        : /home/jiangxin/Desktop/mybackup
+
+
+

gistore list命令后面指定某个任务列表时,相当于执行gistore status命令,查看备份状态信息:

+
$ gistore list db
+
+
+

可以用一条命令对所有的任务别名执行备份:

+
$ gistore commit-all
+
+
+
+
+

7.2.2.9. 自动备份:crontab

+

/etc/cron.d/目录下创建一个文件,如/etc/cron.d/gistore,包含如下内容:

+
## gistore backup
+0   4  *   *   *    root  /usr/bin/gistore commit-all
+
+
+

这样每天凌晨4点,就会以root用户身份执行gistore commit-all命令。

+

为了执行相应的备份计划,需要将备份库在/etc/gistore/tasks目录下创建符号链接。

+
+
+
+

7.2.3. Gistore双机备份

+

Gistore备份库的主体就是repo.git,即一个Git库。可以通过架设一个Git服务器,远程主机通过克隆该备份库实现双机备份甚至是异地备份。而且最酷的是,整个数据同步的过程是可视的、快速的和无痛的,感谢伟大而又神奇的Git。

+

最好使用公钥认证的基于SSH的Git服务器架设,因为一是可以实现无口令的数据同步,二是增加安全性,因为备份数据中可能包含敏感数据。

+

还有可以直接利用现成的/etc/gistore/tasks目录作为版本库的根。当然还需要在架设的Git服务器上,使用一个地址变换的小巧门。Gitosis服务器软件的地址变换魔法正好可以帮助实现。参见第31章第31.5节“轻量级管理的Git服务”。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/07-git-app/030-binary-diff.html b/07-git-app/030-binary-diff.html new file mode 100644 index 000000000..905fe0d92 --- /dev/null +++ b/07-git-app/030-binary-diff.html @@ -0,0 +1,419 @@ + + + + + + + + + 7.3. 补丁中的二进制文件 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

7.2. Gistore

+

下一个主题

+

7.4. 云存储

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

7.3. 补丁中的二进制文件

+

有的时候,需要将对代码的改动以补丁文件的方式进行传递,最终合并入版本库。例如直接在软件部署目录内进行改动,再将改动传送到开发平台。或者是因为在某个开源软件的官方版本库中没有提交权限,需要将自己的改动以补丁文件的方式提供给官方。

+

关于补丁文件的格式,补丁的生成和应用在第3篇第20章“补丁文件交互”当中已经进行了介绍,使用的是git format-patchgit am命令,但这两个命令仅对Git库有效。如果没有使用Git对改动进行版本控制,而仅仅是两个目录:一个改动前的目录和一个改动后的目录,大部分人会选择使用GNU的diff命令及patch命令实现补丁文件的生成和补丁的应用。

+

但是GNU的diff命令(包括很多版本控制系统,如SVN的svn diff命令)生成的差异输出有一个非常大的不足或者说漏洞。就是差异输出不支持二进制文件。如果生成了新的二进制文件(如图片),或者二进制文件发生了变化,在差异输出中无法体现,当这样的差异文件被导出,应用到代码树中,会发现二进制文件或二进制文件的改动丢失了!

+

Git突破了传统差异格式的限制,通过引入新的差异格式,实现了对二进制文件的支持。并且更为神奇的是,不必使用Git版本库对数据进行维护,可以直接对两个普通目录进行Git方式的差异比较和输出。

+
+

7.3.1. Git版本库中二进制文件变更的支持

+

对Git工作区的修改进行差异比较(git diff –binary),可以输出二进制的补丁文件。包含二进制文件差异的补丁文件可以通过git apply命令应用到版本库中。可以通过下面的示例,看看Git的补丁文件是如何对二进制文件提供支持的。

+
    +
  • 首先建立一个空的Git版本库。

    +
    $ mkdir /tmp/test
    +$ cd /tmp/test
    +$ git init
    +initialized empty Git repository in /tmp/test/.git/
    +
    +$ git ci --allow-empty -m initialized
    +[master (root-commit) 2ca650c] initialized
    +
    +
    +
  • +
  • 然后在工作区创建一个文本文件readme.txt,以及一个二进制文件binary.data

    +

    二进制的数据读取自系统中的二进制文件/bin/ls,当然可以用任何其他二进制文件代替。

    +
    $ echo hello > readme.txt
    +$ dd if=/bin/ls of=binary.data count=1 bs=32
    +记录了1+0 的读入
    +记录了1+0 的写出
    +32字节(32 B)已复制,0.0001062 秒,301 kB/秒
    +
    +
    +

    注:拷贝/bin/ls可执行文件(二进制)的前32个字节作为binary.data文件。

    +
  • +
  • 如果执行git diff –cached看到的是未扩展的差异格式。

    +
    $ git add .
    +$ git diff --cached
    +diff --git a/binary.data b/binary.data
    +new file mode 100644
    +index 0000000..dc2e37f
    +Binary files /dev/null and b/binary.data differ
    +diff --git a/readme.txt b/readme.txt
    +new file mode 100644
    +index 0000000..ce01362
    +--- /dev/null
    ++++ b/readme.txt
    +@@ -0,0 +1 @@
    ++hello
    +
    +
    +

    可以看到对于binary.data,此差异文件没有给出差异内容,而只是一行“Binary files ... and ... differ”。

    +
  • +
  • 再用git diff –cached –binary即增加了--binary参数试试。

    +
    $ git diff --cached --binary
    +diff --git a/binary.data b/binary.data
    +new file mode 100644
    +index 0000000000000000000000000000000000000000..dc2e37f81e0fa88308bec48cd5195b6542e61a20
    +GIT binary patch
    +literal 32
    +bcmb<-^>JfjWMqH=CI&kO5HCR00W1UnGBE;C
    +
    +literal 0
    +HcmV?d00001
    +
    +diff --git a/readme.txt b/readme.txt
    +new file mode 100644
    +index 0000000..ce01362
    +--- /dev/null
    ++++ b/readme.txt
    +@@ -0,0 +1 @@
    ++hello
    +
    +
    +

    看到了么,此差异文件给出了二进制文件binary.data差异的内容,并且差异内容经过base85文本化了。

    +
  • +
  • 提交后,并用新的内容覆盖binary.data文件。

    +
    $ git commit -m "new text file and binary file"
    +[master 7ab2d01] new text file and binary file
    + 2 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 binary.data
    + create mode 100644 readme.txt
    +
    +$ dd if=/bin/ls of=binary.data count=1 bs=64
    +记录了1+0 的读入
    +记录了1+0 的写出
    +64字节(64 B)已复制,0.00011264 秒,568 kB/秒
    +
    +$ git commit -a -m "change binary.data."
    +[master a79bcbe] change binary.data.
    + 1 files changed, 0 insertions(+), 0 deletions(-)
    +
    +
    +
  • +
  • 看看更改二进制文件的新差异格式。

    +
    $ git show HEAD --binary
    +commit a79bcbe50c1d278db9c9db8e42d9bc5bc72bf031
    +Author: Jiang Xin <jiangxin@ossxp.com>
    +Date:   Sun Oct 10 19:22:30 2010 +0800
    +
    +    change binary.data.
    +
    +diff --git a/binary.data b/binary.data
    +index dc2e37f81e0fa88308bec48cd5195b6542e61a20..bf948689934caf2d874ff8168cb716fbc2a127c3 100644
    +GIT binary patch
    +delta 37
    +hcmY#zn4qBGzyJX+<}pH93=9qo77QFfQiegA0RUZd1MdI;
    +
    +delta 4
    +LcmZ=zn4kav0;B;E
    +
    +
    +
  • +
  • 更简单的,使用git format-patch命令,直接将最近的两次提交导出为补丁文件。

    +
    $ git format-patch HEAD^^
    +0001-new-text-file-and-binary-file.patch
    +0002-change-binary.data.patch
    +
    +
    +

    毫无疑问,这两个补丁文件都包含了对二进制文件的支持。

    +
    $ cat 0002-change-binary.data.patch
    +From a79bcbe50c1d278db9c9db8e42d9bc5bc72bf031 Mon Sep 17 00:00:00 2001
    +From: Jiang Xin <jiangxin@ossxp.com>
    +Date: Sun, 10 Oct 2010 19:22:30 +0800
    +Subject: [PATCH 2/2] change binary.data.
    +
    +---
    + binary.data |  Bin 32 -> 64 bytes
    + 1 files changed, 0 insertions(+), 0 deletions(-)
    +
    +diff --git a/binary.data b/binary.data
    +index dc2e37f81e0fa88308bec48cd5195b6542e61a20..bf948689934caf2d874ff8168cb716fbc2a127c3 100644
    +GIT binary patch
    +delta 37
    +hcmY#zn4qBGzyJX+<}pH93=9qo77QFfQiegA0RUZd1MdI;
    +
    +delta 4
    +LcmZ=zn4kav0;B;E
    +
    +--
    +1.7.1
    +
    +
    +
  • +
+

那么如何将补丁合并入代码树呢?

+

不能使用GNUpatch命令,因为前面曾经说过GNU的diffpatch不支持二进制文件的补丁。当然也不支持Git的新的补丁格式。将Git格式的补丁应用到代码树,只能使用git命令,即git apply命令。

+

接着前面的例子。首先将版本库重置到最近两次提交之前的状态,即丢弃最近的两次提交,然后将两个补丁都合并到代码树中。

+
    +
  • 重置版本库到两次提交之前。

    +
    $ git reset --hard HEAD^^
    +HEAD is now at 2ca650c initialized
    +
    +$ ls
    +0001-new-text-file-and-binary-file.patch  0002-change-binary.data.patch
    +
    +
    +
  • +
  • 使用git apply应用补丁。

    +
    $ git apply 0001-new-text-file-and-binary-file.patch 0002-change-binary.data.patch
    +
    +
    +
  • +
  • 可以看到64字节长度的binary.data又回来了。

    +
    $ ls -l
    +总用量 16
    +-rw-r--r-- 1 jiangxin jiangxin 754 10月 10 19:28 0001-new-text-file-and-binary-file.patch
    +-rw-r--r-- 1 jiangxin jiangxin 524 10月 10 19:28 0002-change-binary.data.patch
    +-rw-r--r-- 1 jiangxin jiangxin  64 10月 10 19:34 binary.data
    +-rw-r--r-- 1 jiangxin jiangxin   6 10月 10 19:34 readme.txt
    +
    +
    +
  • +
  • 最后不要忘了提交。

    +
    $ git add readme.txt binary.data
    +$ git commit -m "new text file and binary file from patch files."
    +[master 7c1389f] new text file and binary file from patch files.
    + 2 files changed, 1 insertions(+), 0 deletions(-)
    + create mode 100644 binary.data
    + create mode 100644 readme.txt
    +
    +
    +
  • +
+

Git对补丁文件的扩展,实际上不只是增加了二进制文件的支持,还提供了对文件重命名(rename fromrename to指令),文件拷贝(copy fromcopy to指令),文件删除(deleted file指令)以及文件权限(new file modenew mode指令)的支持。

+
+
+

7.3.2. 对非Git版本库中二进制文件变更的支持

+

不在Git版本库中的文件和目录可以比较生成Git格式的补丁文件么,以及可以执行应用补丁(apply patch)的操作么?

+

是的,Git的diff命令和apply命令支持对非Git版本库/工作区进行操作。但是当前Git最新版本(1.7.3)的git apply命令有一个bug,这个bug导致目前的git apply命令只能应用patch level(补丁文件前缀级别)为1的补丁。我已经将改正这个Bug的补丁文件提交到Git开发列表中,但有其他人先于我修正了这个Bug。不管最终是谁修正的,在新版本的Git中,这个问题应该已经解决。参见我发给Git邮件列表的相关讨论。

+ +

下面的示例演示一下如何对非Git版本库使用git diffgit patch命令。首先准备两个目录,一个为hello-1.0目录,在其中创建一个文本文件以及一个二进制文件。

+
$ mkdir hello-1.0
+$ echo hello > hello-1.0/readme.txt
+$ dd if=/bin/ls of=hello-1.0/binary.dat count=1 bs=32
+记录了1+0 的读入
+记录了1+0 的写出
+32字节(32 B)已复制,0.0001026 秒,312 kB/秒
+
+
+

另外一个hello-2.0目录,其中的文本文件和二进制文件都有所更改。

+
$ mkdir hello-2.0
+$ printf "hello\nworld\n" > hello-2.0/readme.txt
+$ dd if=/bin/ls of=hello-2.0/binary.dat count=1 bs=64
+记录了1+0 的读入
+记录了1+0 的写出
+64字节(64 B)已复制,0.0001022 秒,626 kB/秒
+
+
+

然后执行git diff命令。命令中的--no-index参数对于不在版本库中的目录/文件进行比较时可以省略。其中还用了--no-prefix参数,这样就可以生成前缀级别(patch level)为1的补丁文件。

+
$ git diff --no-index --binary --no-prefix \
+      hello-1.0 hello-2.0 > patch.txt
+$ cat patch.txt
+diff --git hello-1.0/binary.dat hello-2.0/binary.dat
+index dc2e37f81e0fa88308bec48cd5195b6542e61a20..bf948689934caf2d874ff8168cb716fbc2a127c3 100644
+GIT binary patch
+delta 37
+hcmY#zn4qBGzyJX+<}pH93=9qo77QFfQiegA0RUZd1MdI;
+
+delta 4
+LcmZ=zn4kav0;B;E
+
+diff --git hello-1.0/readme.txt hello-2.0/readme.txt
+index ce01362..94954ab 100644
+--- hello-1.0/readme.txt
++++ hello-2.0/readme.txt
+@@ -1 +1,2 @@
+ hello
++world
+
+
+

进入到hello-1.0目录,执行git apply应用补丁,即使hello-1.0不是一个Git库。

+
$ cd hello-1.0
+$ git apply ../patch.txt
+
+
+

会惊喜的发现hello-1.0应用补丁后,已经变得和hello-2.0一样了。

+
$ git diff --stat . ../hello-2.0
+
+
+

命令git apply也支持反向应用补丁。反向应用补丁后,hello-1.0中文件被还原,和hello-2.0比较又可以看到差异了。

+
$ git apply -R ../patch.txt
+$ git diff --stat . ../hello-2.0
+ {. => ../hello-2.0}/binary.dat |  Bin 32 -> 64 bytes
+ {. => ../hello-2.0}/readme.txt |    1 +
+ 2 files changed, 1 insertions(+), 0 deletions(-)
+
+
+
+
+

7.3.3. 其他工具对Git扩展补丁文件的支持

+

Git对二进制提供支持的扩展的补丁文件格式,已经成为补丁文件格式的新标准被其他一些应用软件所接受。例如Mercual/Hg就提供了对Git扩展补丁格式的支持。

+

hg diff命令增加--git参数,实现Git扩展diff格式输出。

+
$ hg diff --git
+
+
+

Hg的MQ插件提供对Git补丁的支持。

+
$ cat .hg/patches/1.diff
+# HG changeset patch
+# User Jiang Xin <worldhello.net AT gmail DOT com>
+# Date 1286711219 -28800
+# Node ID ba66b7bca4baec41a7d29c5cae6bea6d868e2c4b
+# Parent  0b44094c755e181446c65c16a8b602034e65efd7
+new data
+
+diff --git a/binary.data b/binary.data
+new file mode 100644
+index 0000000000000000000000000000000000000000..dc2e37f81e0fa88308bec48cd5195b6542e61a20
+GIT binary patch
+literal 32
+bc$}+u^>JfjWMqH=CI&kO5HCR00n7&gGBE;C
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/07-git-app/040-cloud-storage.html b/07-git-app/040-cloud-storage.html new file mode 100644 index 000000000..8cb795744 --- /dev/null +++ b/07-git-app/040-cloud-storage.html @@ -0,0 +1,187 @@ + + + + + + + + + 7.4. 云存储 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

7.3. 补丁中的二进制文件

+

下一个主题

+

8. Git杂谈

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

7.4. 云存储

+

通过云存储,将个人数据备份在网络上是非常吸引人的服务,比较著名的公司或产品有dropbox、surgarsync、Live Mesh、Syncplicity等。这些产品的特点是能够和操作系统的shell整合,例如和Windows的资源管理器或者Linux上的nautilus,当本地有数据改动会自动的同步到远程的“云存储”上。用户可以在多个计算机或者手持设备上配置和同一个“云端”的帐号同步,从而实现在多个计算机或者多个手持设备上的数据同步。

+
+

7.4.1. 现有云存储的问题

+

遗憾的是我并未使用过上述云存储服务,主要是支持Linux操作系统的云存储客户端比较少,或者即使有也因为网络的局限而无法访问。但是通过相关文档,还是可以了解到其实现的机理。

+
    +
  • 仅支持对部分历史数据的备份。

    +

    dropbox支持30天数据备份,surgarsync每个文件仅保留5个备份(付费用户),对于免费用户仅2个备份。

    +
  • +
  • 数据同步对网络带宽依赖比较高。

    +
  • +
  • “云端”被多个设备共享,冲突解决比较困难。

    +

    Surgarsync会将冲突的文件自动保存为多份,造成磁盘空间超出配额。其他有的产品在遇到冲突时停止同步,让用户决定选择哪个版本。

    +
  • +
+

在Git书里介绍云存储,是因为上述云存储实现和Git有关么?不是。实际上通过上面各个云存储软件特性的介绍,有经验的Linux用户会感觉这些产品在数据同步时和Linux下的rsync、unison等数据同步工具非常类似,也许只是在服务器端增加了历史备份而已。

+

已经有用户尝试将云存储和Git结合使用,就是将Git库本身放在本机的云存储同步区(例如dropbox的Dropbox目录下),Git库被同步至云端。即用云存储作为二传手,实际上还是基于本地协议操作Git。这样实际会有问题的。

+
    +
  • 如果两台机器各自进行了提交,云存储同步一定会引发冲突,这种冲突是难以解决的。
  • +
  • 云端对Git的的每个文件都进行备份,包括执行git gc命令打包后丢弃掉的松散对象。这实际对于Git是不需要的,会浪费本来就有限的空间配额。
  • +
  • 因为版本库周期性的执行git gc –auto会导致即使Git版本库的一个小提交也可能会触发大量的云存储数据传输。
  • +
+
+
+

7.4.2. Git式云存储畅想

+

GitHub是Git风格的云存储,但缺乏像前提到的云存储提供的傻瓜式服务,只有Git用户才能真正利用好,这大大限制了Git在云存储领域的推广。下面是我的一个预言:一个结合了Git和傻瓜式云存储的网络存储服务终将诞生。新的傻瓜式云存储有下列特征:

+

差异同步传输

+

对用户体验最为关键的是网络传输,如果用Git可以在同步时实现仅对文件差异进行数据传输,会大大提高同步效率。之所以现有的在线备份系统实现不了“差异同步传输”,是因为没有在本地对上一次同步时的数据做备份,只能通过时间戳或者文件的哈希值判断文件是否改变,而无法得出文件修改前后的差异。

+

可以很容易的测试云存储软件的网络传输性能。准备一个大的压缩包(使同步时压缩传输可以忽略),测试一下同步时间。再在该文件后面追加几个字节,然后检查同步时间。比较前后两个时间,就可以看出同步是否实现了仅对差异的同步传输。

+

可预测的本地及云端存储空间的占用

+

要想实现前面提到的差异同步传输,就必须在本地保存上一次同步时文件的备份。Subversion是用一份冗余的本地拷贝实现的,这样本地存储是实际文件的两倍。Git在本地是完全版本库,占用空间逐渐增加变得不可预测。

+

使用Git实现云存储,就要解决在本地以及在服务器端空间占用不可预测的问题。对于服务器端,可以采用前面介绍的Gistore软件采用的重整版本库的方法,或者通过基于历史版本重建提交然后变基来实现提交数量的删减。对于客户端来说,只保留一个提交就够了,类似Subversion的文件原始拷贝,这就需要在客户端基于Git原理的重新实现。

+

更高效的云端存储效率

+

现有的云存储效率不高,很有可能因为冗余备份而导致存储超过配额,即使服务提供商的配额计算是以最后一个版本计算的,实际的磁盘占用还是很可观。

+

Git底层实现了一个对内容跟踪的文件系统,相同内容的文件即使文件名和目录不同,在Git看来都是一个对象并用一个文件存储(文件名是内容相关的SHA1哈希值)。因此Git方式实现的云存储在空间的节省上有先天的优势。

+

自动的冲突解决

+

冲突解决是和文件同步相关的,只有通过“差异同步传输”解决了同步的性能瓶颈,才能为冲突解决打下基础。先将冲突的各个版本都同步到本地,然后进行自动冲突解决,如果冲突无法自动解决,再提示用户手工解决冲突。还有,如果在手工冲突解决是引入类似kdiff3一样的工具,对用户更有吸引力。

+

Git提交中引入特殊标识

+

如果使用变基或其他技术实现备份提交数量的删减,就会在云端的提交和本地数据合并上产生问题。可以通过为提交引入特殊的唯一性标识,不随着Git变基而改变,就像在Gerrit中的Change-Id标签一样。

+

我相信,基于Git的文件系统以及传输机理可以实现一个更好用的云存储服务。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/07-git-app/index.html b/07-git-app/index.html new file mode 100644 index 000000000..05a8d2895 --- /dev/null +++ b/07-git-app/index.html @@ -0,0 +1,182 @@ + + + + + + + + + 7. Git的其它应用 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

6.2.4. Git版本库整理

+

下一个主题

+

7.1. etckeeper

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

7. Git的其它应用

+

Git的伟大之处,还在于它不仅仅是作为版本库控制系统。Linus Torvalds对自己最初设计的Git原型是这么评价的:Git是一系列的底层工具用于内容的追踪,基于Git可以实现一个版本控制系统。现在Git已经是一个最成功的版本控制系统了,而基于Git的其他应用才刚刚开始。

+

维基是使用格式文本编辑网页,协同网页编辑的工具,又称为“Web的版本控制”。在http://www.mzlinux.org/node/116可以看到一份用Git作为后端实现的维基列表(大部分是技术上的试验)。

+

SpaghettiFS项目尝试用Git作为数据存储后端提供了一个用户空间的文件系统(FUSE、Filesystem in Userspace)。而另外的一些项目gitfs可以直接把Git版本库挂载为文件系统。

+

下面的章节,通过几个典型应用介绍Git在版本控制领域之外的应用,可以领略到Git的神奇。

+

目录:

+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/010-git-cross-os.html b/08-git-misc/010-git-cross-os.html new file mode 100644 index 000000000..b38d8c96e --- /dev/null +++ b/08-git-misc/010-git-cross-os.html @@ -0,0 +1,152 @@ + + + + + + + + + 8.1. 跨平台操作Git — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8. Git杂谈

+

下一个主题

+

8.1.1. 字符集问题

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.1. 跨平台操作Git

+

读者是在什么平台(操作系统)中使用Git呢?图40-1是网上一个Git调查结果的截图,从中可以看出排在前三位的是:Linux、Mac OS X和Windows。而Windows用户中又以使用msysGit的用户居多。

+
+../images/git-survs-os.png +

图40-1:Git用户操作系统使用分布图(摘自:http://www.survs.com/results/33Q0OZZE/MV653KSPI2

+
+

在如今手持设备争夺激烈的年代,进行软件开发工作在什么操作系统上已经变得不那么重要了,很多手持设备都提供可以运行在各种主流操作系统的虚拟器,因此一个项目团队的成员根据各自习惯,可能使用不同的操作系统。当一个团队中不同成员在不同平台中使用Git进行交互时,可能会遇到平台兼容性问题。

+

即使团队成员都在同一种操作系统上工作(如Windows),但是Git服务器可能架设在另外的平台上(如Linux),也同样会遇到平台兼容性问题。

+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/020-git-charset.html b/08-git-misc/020-git-charset.html new file mode 100644 index 000000000..0ff716a0e --- /dev/null +++ b/08-git-misc/020-git-charset.html @@ -0,0 +1,168 @@ + + + + + + + + + 8.1.1. 字符集问题 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8.1. 跨平台操作Git

+

下一个主题

+

8.1.2. 文件名大小写问题

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.1.1. 字符集问题

+

在本书第1篇“第3章安装Git”中,就已经详细介绍了不同平台对本地字符集(如中文)的支持情况,本章再做以简单的概述。

+

Linux、Mac OS X以及Windows下的Cygwin缺省使用UTF-8字符集。Git运行这这些平台下,能够使用本地语言(如中文)写提交说明、命名文件,甚至使用本地语言命名分支和里程碑。在这些平台上唯一要做的就是对Git进行如下设置,以便使用了本地语言(如中文)命名文件时,能够在状态查看、差异比较时,正确显示文件名。

+
$ git config --global core.quotepath false
+
+
+

但是如果在Windows平台使用msysGit或者其他平台使用了非UTF-8字符集,要想使用本地语言撰写提交说明、命名文件名和目录名就非常具有挑战性了。例如对于使用GBK字符集的中文Windows,需要为Git进行如下设置,以便能够在提交说明中正确使用中文。

+
$ git config --system core.quotepath false
+$ git config --system i18n.commitEncoding gbk
+$ git config --system i18n.logOutputEncoding gbk
+
+
+

当像上面那样对i18n.commitEncoding进行设置后,如果执行提交,就会在提交对象中嵌入编码设置的指令。例如在Windows中使用msysGit执行一次提交,在Linux上使用git cat-file命令查看提交时会出现乱码,需要使用iconv命令对输出进行字符集转换才能正确查看该提交对象。下面输出的倒数第三行可以看到encoding gbk这条对字符集设置的指令。

+
$ git cat-file -p HEAD | iconv -f gbk -t utf-8
+tree 00e814cda96ac016bcacabcf4c8a84156e304ac6
+parent 52e6454db3d99c85b1b5a00ef987f8fc6d28c020
+author Jiang Xin <jiangxin@ossxp.com> 1297241081 +0800
+committer Jiang Xin <jiangxin@ossxp.com> 1297241081 +0800
+encoding gbk
+
+添加中文说明。
+
+
+

因为在提交对象中声明了正确的字符集,因此Linux下可以用git log命令正确显示msysGit生成的包含中文的提交说明。

+

但是对于非UTF-8字符集平台(如msysGit)下,使用本地字符(如中文)命名文件或目录,Git当前版本(1.7.4)的支持尚不完善。文件名和目录名实际上是写在树对象中的,Git没能在创建树对象时,将本地字符转换为UTF-8字符进行保存,因而在跨平台时造成文件名乱码。例如下面的示例显示的是在Linux平台(UTF-8字符集)下查看由msysGit提交的包含中文文件的树对象。注意要在git cat-file命令的后面通过管道符号调用iconv命令进行字符转换,否则不能正确地显示中文。如果直接在Linux平台检出,检出的文件名显示为乱码。

+
$ git cat-file -p HEAD^{tree} | iconv -f gbk -t utf-8
+100644 blob 8c0b112f56b3b9897007031ea38c130b0b161d5a    说明.txt
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/030-case-insensitive.html b/08-git-misc/030-case-insensitive.html new file mode 100644 index 000000000..d1da9da9a --- /dev/null +++ b/08-git-misc/030-case-insensitive.html @@ -0,0 +1,163 @@ + + + + + + + + + 8.1.2. 文件名大小写问题 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8.1.1. 字符集问题

+

下一个主题

+

8.1.3. 换行符问题

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.1.2. 文件名大小写问题

+

Linux、Solaris、BSD及其他类Unix操作系统使用的是大小写敏感的文件系统,而Windows和Mac OS X(默认安装)的文件系统则是大小写不敏感的文件系统。即用文件名READMEreadme以及Readme(混合大小写)进行访问,在Linux等操作系统上访问的是不同的文件,而在Windows和Mac OS X上则指向同一个文件。换句话说,两个不同文件READMEreadme在Linux等操作系统上可以共存,而在Windows和Mac OS X上,这两个文件只能同时存在一个,另一个会被覆盖,因为在大小写不敏感的操作系统看来,这两个文件是同一个文件。

+

如果在Linux上为Git版本库添加了两个文件名仅大小写不同的文件(文件内容各不相同),如READMEreadme。当推送到服务器的共享版本库上,并在文件名大小写不敏感的操作系统中克隆或同步时,就会出现问题。例如在Windows和Mac OS X平台上执行git clone后,在本地工作区中出现两个同名文件中的一个,而另外一个文件被覆盖,这就会导致Git对工作区中文件造成误判,在提交时会导致文件内容被破坏。

+

当一个项目存在跨平台开发的情况时,为了避免这类问题的发生,在一个文件名大小写敏感的操作系统(如Linux)中克隆版本库后,应立即对版本库进行如下设置,让版本库的行为好似对文件大小写不敏感。

+
$ git config core.ignorecase true
+
+
+

Windows和Mac OS X在初始化版本库或者克隆一个版本库时,会自动在版本库中包含配置变量core.ignorecasetrue的设置,除非版本库不是通过克隆而是直接从Linux上拷贝而来。

+

当版本库包含了core.ignorecasetrue的配置后,文件名在添加时便被唯一确定。如果之后修改文件内容及修改文件名中字母的大小写,再提交亦不会改变文件名。如果对添加文件时设置的文件名的大小写不满意,需要对文件重命名,对于Linux来说非常简单。例如执行下面的命令就可以将changelog文件的文件名修改为ChangeLog

+
$ git mv changelog ChangeLog
+$ git commit
+
+
+

但是对于Windows和Mac OS X,却不能这么操作,因为会拒绝这样的重命名操作:

+
$ git mv changelog ChangeLog
+fatal: destination exists, source=changelog, destination=ChangeLog
+
+
+

而需要像下面这样,先将文件重命名为另外的一个名称,再执行一次重命名改回正确的文件名,如下:

+
$ git mv changelog non-exist-filename
+$ git mv non-exist-filename ChangeLog
+$ git commit
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/040-eol.html b/08-git-misc/040-eol.html new file mode 100644 index 000000000..fd2d68656 --- /dev/null +++ b/08-git-misc/040-eol.html @@ -0,0 +1,198 @@ + + + + + + + + + 8.1.3. 换行符问题 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8.1.2. 文件名大小写问题

+

下一个主题

+

8.2. Git 的其他特性

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.1.3. 换行符问题

+

每一个通用的版本控制系统,无论是CVS、Subversion、Git或是其他,都要面对换行符转换的问题。这是因为作为通用的版本控制系统要面对来自不同操作系统的文件,而不同的操作系统在处理文本文件时,可能使用不同的换行符。

+

不同的操作系统可能使用不同的换行符

+

文本文件的每一行结尾用一个或者两个特殊的ASCII字符进行标识,这个标识就是换行符。主要的换行符有三种:LF(Line Feed即换行,C语言等用“\\n”表示,相当于十六进制的0x0A),CR(Carriage Return 即回车,C语言等用“\\r”表示,相当于十六进制的0x0D)和CRLF(即由两个字符“CR+LF”组成,即“\\r\\n”,相当于十六进制的0x0D 0x0A),分别用在不同的操作系统中。(以下内容摘自http://en.wikipedia.org/wiki/Newline。)

+
    +
  • LF换行符:用于Multics、Unix、类Unix(如GNU/Linux、AIX、Xenix、Mac OS X、FreeBSD等)、BeOS、Amiga、RISC OS等操作系统中。
  • +
  • CRLF换行符:用于DEC TOPS-10、RT-11和其他早期的非Unix,以及CP/M、MP/M、DOS(MS-DOS、PC-DOS等)、Atari TOS、OS/2、Microsoft Windows、Symbian OS、Palm OS等系统中。
  • +
  • CR换行符:用于Commodore 8位机、TRS-80、苹果II家族、Mac OS 9及更早版本。
  • +
+

实际上,自从苹果的Mac OS从第10版转向Unix内核开始,依据不同的文本文件换行符,主流的操作系统可以划分为两大阵营,一个是微软Windows作为一方,使用CRLF作为换行符,另外一方包括Unix、类Unix(如Linux和Mac OS X等)使用LF作为换行符。分属不同阵营的操作系统之间交换文本文件会因为换行符的不同造成障碍,而对于使用版本控制系统,也同样会遇到换行符的麻烦。

+
    +
  • 编辑器不能识别换行符,可能会显示为特殊字符,如Linux上的编辑器显示的^M特殊字符,就是拜Windows的CRLF换行符所赐。或者丢弃换行符,如来自Linux的文本文件,在Windows上打开可能会因为识别不了换行符,导致所有的行合并。
  • +
  • 版本库中的文件被来自不同操作系统的用户改来改去,在某一次提交中换行符为LF,在下一次提交中被替换为CRLF,这不但会在查看文件版本间差异时造成困惑(所有的行都显示为变更),还给版本库的存储带来不必要的冗余。
  • +
  • 可能会在一个文件中引入混杂的换行符,即有的行是LF,而有的行是CRLF。无论在那个操作系统用编辑器打开这样的文件,都会或多或少感到困惑。
  • +
  • 如果版本控制系统提供文本文件换行符的自动转换,在Windows平台进行版本库文件导出为源码包并发布,当该源码包被Linux用户下载,编译、运行可能会有问题,反之亦然。
  • +
+

文本文件和二进制文件的判别,是换行符转换的基础

+

几乎所有的版本库控制系统都采用这样的解决方案:对于文本文件,在版本库中保存时换行符使用LF,当从版本库检出到工作区时,则根据平台的不同或者用户的设置的不同,对文本文件的换行符进行转换(转换为LF、CR或CRLF)。

+

为什么换行符转换要特意强调文本文件呢?这是因为如果对二进制文件(程序或者数据)当中出现的换行符进行上述转换,会导致二进制文件被破坏。因此判别文件类型是文本文件还是二进制文件,是正确进行文件换行符转换的基础。

+

有的版本控制系统,如CVS,必须在添加文件时人为的设定文件类型(用-kb参数设定二进制文件),一旦用户忘记对二进制文件进行标记,就会造成二进制文件被破坏。这种破坏有时藏的比较深,例如在Linux上检出文件一切正常,因为版本库中被误判为文本文件的图形文件中所包含字符0x0A在Linux上检出没有改变,但是在Windows上检出会导致图形文件中的0x0A字符被转换为0x0D 0x0A两个字符,造成图片被破坏。

+

有的版本控制系统可以自动识别文本文件和二进制文件,但是识别算法存在问题。例如Subversion检查文件的前1024字节的内容,如果其中包含NULL字符(0x00),或者超过15%是非ASCII字符,则Subversion认定此文件为二进制文件(参见Subversion源代码subversion/libsvn_subr/io.c中的svn_io_detect_mimetype2函数)。这种算法会将包含大量中文的文本文件当作二进制文件,不进行换行符转换,也不能进行版本间的比较(除非强制执行)。

+

Git显然比Subversion更了解这个世界上文字的多样性,因此在判别二进制文件上没有多余的判别步骤,只对blob对象的前8000个字符进行检查,如果其中出现NULL字符(0x00)则当作二进制文件,否则为文本文件(参见Git源代码xdiff-interface.c中的buffer_is_binary函数)。Git还允许用户通过属性文件对文件类型进行设置,属性文件设置优先。

+

Git缺省并不开启文本文件的换行符转换,因为毕竟Git对文件是否是二进制文件所做的猜测存在误判的可能。如果用户通过属性文件或者其他方式显式的对文件类型进行了设置,则Git就会对文本文件开启换行符转换。

+

下面是一个属性文件的示例,为方便描述标以行号。

+
1  *.txt           text
+2  *.vcproj        eol=crlf
+3  *.sh            eol=lf
+4  *.jpg           -text
+5  *.jpeg          binary
+
+
+

包含了上面属性文件的版本库,会将.txt.vcproj.sh为扩展名的文件视为文本文件,在处理过程中会进行换行符转换,而将.jpg.jpeg为扩展名的文件视为二进制文件,不进行换行符转换。

+

依据属性文件进行换行符转换

+

关于属性文件,会在后面的章节详细介绍,现在可以将其理解为工作区目录下的.gitattributes文件,其文件匹配方法及该文件的作用范围和.gitignore文件非常类似。

+

像上面的属性文件示例中,第1行设置了扩展名为.txt的文件具有text属性,则所有扩展名为.txt的文件添加到版本库时,在版本库中创建的blob文件的换行符一律转换为LF。而当扩展名为.txt的文件检出到工作区时,则根据平台的不同使用不同的换行符,如在Linux上检出使用LF换行符,在Windows上检出使用CRLF换行符。

+

示例中的第2行设置扩展名为.vcproj的文件的属性eol的值为crlf,隐含着该文件属于文本文件的含义,当向版本库添加扩展名为.vcproj文件时,在版本库中创建的blob文件的换行符一律转换为LF。而当该类型的文件检出到工作区时,则一律使用CRLF作为换行符,不管是在Windows上检出,还是在Linux上检出。

+

同理示例中的第3行设置的扩展名为.sh的文件也会进行类似的换行符转换,区别在于该类型文件无论在哪个平台检出,都使用LF作为换行符。

+

向上面那样逐一为不同类型的文件设置换行符格式显得很麻烦,可以在属性文件中添加下面的设置,为所有文件开启自动文件类型判断。

+
*  text=auto
+
+
+

当为所有文件设置了text=auto的属性后,Git就会在文件检入和检出时对文件是否是二进制进行判断,采用前面提到的方法:如果文件头部8000个字符中出现NULL字符则为二进制文件,否则为文本文件。如果判断文件是文本文件就会启用换行符转换。至于本地检出文件采用什么换行符格式,实际上是由core.eol配置变量进行设置的,不过因为core.eol没有设置时采用缺省值native,才使得工作区文本文件的检出采用操作系统默认的换行符格式。配置变量core.eol除了默认的native外,还可以使用lfcrlf,不过一般较少用到。

+

使用Git配置变量控制换行符转换

+

在Git 1.7.4之前,用属性文件的方式来设置文件的换行符转换,只能逐一为版本库进行设置,如果要为本地所有的版本库设定文件换行符转换就非常的麻烦。Git 1.7.4提供了全局可用的属性文件,实现了对换行符转换设定的全局控制,我们会在后面的章节加以介绍。现在介绍另外一个方法,即通过配置变量core.autocrlf来开启文本文件换行符转换的功能。例如执行下面的命令,对配置变量core.autocrlf进行设置:

+
$ git config --global core.autocrlf true
+
+
+

默认Git不对配置变量core.autocrlf进行设置,因此在也没有通过属性文件指定文件类型的情况下,Git不对文件进行换行符转换。但是将配置变量core.autocrlf设置为下列值时,会开启Git对文件类型的智能判别并对文本文件执行换行符转换。

+
    +
  • 设置配置变量core.autocrlftrue

    +

    效果就相当于为版本库中所有文件设置了text=auto的属性。即通过Git对文件类型的自动判定,对文本文件进行换行符转换。在版本库的blob文件中使用LF作为换行符,而检出到工作区时无论是什么操作系统都使用CRLF为换行符。注意当设置了core.autocrlftrue时,会忽略core.eol的设置,工作区文件始终使用CRLF作为换行符,这对于Windows下的Git非常适合,但不适用于Linux等操作系统。

    +
  • +
  • 设置配置变量core.autocrlfinput

    +

    同样开启文本文件的换行符转换,但只是在文件提交到版本库时,将新增入库的blob文件的换行符转换为LF。当从版本库检出文件到工作区,则不进行文件转换,即版本库中文件若是采用LF换行符,检出仍旧是LF作为换行符。这个设置对Linux等操作系统下的Git非常适合,但不适合于Windows。

    +
  • +
+

配制``core.safecrlf``捕捉异常的换行符转换

+

无论是用户通过属性文件设定文件的类型,还是通过Git智能判别,都可能错误的将二进制文件识别为文本文件,在转换过程中造成文件的破坏。有一种情况下破坏最为严重,就是误判的文件中包含不一致的换行符(既有CRLF,又有LF),这就会导致保存到版本库中的blob对象无论通过何种转换方式都不能还原回原有的文件。

+

Git提供了名为core.safecrlf的配置变量,可以用于捕捉这种不可逆的换行符转换,提醒用户注意。将配置变量core.safecrlf设置为true时,如果发现存在不可逆换行符转换时,会报错退出,拒绝执行不可逆的换行符转换。如果将配置变量core.safecrlf设置为warn则允许不可逆的转换,但会发出警告。

+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/050-git-features.html b/08-git-misc/050-git-features.html new file mode 100644 index 000000000..15c7b18e0 --- /dev/null +++ b/08-git-misc/050-git-features.html @@ -0,0 +1,169 @@ + + + + + + + + + 8.2. Git 的其他特性 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8.1.3. 换行符问题

+

下一个主题

+

8.2.1. 属性

+

本页

+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/08-git-misc/060-attributes.html b/08-git-misc/060-attributes.html new file mode 100644 index 000000000..af57dbdb6 --- /dev/null +++ b/08-git-misc/060-attributes.html @@ -0,0 +1,467 @@ + + + + + + + + + 8.2.1. 属性 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

8.2.1. 属性

+

Git通过属性文件为版本库中的文件或目录添加属性。设置了属性的文件或目录,例如之前介绍换行符转换时设置了文本属性(text)的文件,在执行Git相关操作时会做特殊处理。

+
+

8.2.1.1. 属性定义

+

属性文件是一个普通的文本文件,每一行对一个路径(可使用通配符)设置相应的属性。语法格式如下:

+
<pattern> <attr1> <attr2> ...
+
+
+

其中路径由可以使用通配符的<pattern>定义,属性可以设置一个或多个,不同的属性之间用空格分开。路径中通配符的用法和文件忽略(file:.gitignore)的语法格式相同,参见本书第2篇“第10.8节文件忽略”相关内容。下面以text属性为例,介绍属性的不同写法:

+
    +
  • text

    +

    直接通过属性名进行设置,相当于设置text属性的值为true

    +

    对于设置了text属性的文件,不再需要Git对文件类型进行猜测,而直接判定为文本文件并进行相应的换行符转换。

    +
  • +
  • -text

    +

    在属性名前用减号标识,相当于设置text属性值为false

    +

    对于设置了取反text属性的文件,直接判定为二进制文件,在文件检入和检出时不进行换行符转换。

    +
  • +
  • !text

    +

    在属性名前面添加感叹号,相当于该属性没有设置,即不等于true,也不等于false

    +

    对于未定义text属性的文件,根据Git是否配置了core.autocrlf配置变量,决定是否进行换行符转换。因此对于text属性没有定义和进行取反text属性设置,两者存在差异。

    +
  • +
  • text=auto

    +

    属性除了上述truefalse、未设置三个状态外,还可以对属性用相关的枚举值(预定义的字符串)进行设置。不同的属性值可能有不同的枚举值,对于text属性可以设置为auto

    +

    对于text属性设置为auto的文件,文件类型实际上尚未确定,需要Git读取文件内容进行智能判别,判别为文本文件则进行换行符转换。显然当设置text属性为auto时,并不等同于true

    +
  • +
+
+
+

8.2.1.2. 属性文件及优先级

+

属性文件可以以.gitattributes文件名保存在工作区目录中,提交到版本库后就可以和其他用户共享项目文件的属性设置。属性文件也可以保存在工作区之外,例如保存在文件.git/info/attributes中,仅对本版本库生效,若保存在/etc/gitattributes文件中则全局生效。在查询某个工作区某一文件的属性时,在不同位置的属性文件具有不同的优先级,Git依据下列顺序依次访问属性文件。

+
    +
  • 文件.git/info/attributes具有最高的优先级。
  • +
  • 接下来检查工作区同一目录下的.gitattributes,并依次向上递归查找.gitattributes文件,直到工作区的根目录。
  • +
  • 然后查询由Git的配置变量core.attributesfile指定的全局属性文件。
  • +
  • 最后是系统属性文件,即文件$(prefix)/etc/gitattributes。不同的Git安装方式这个文件的位置可能不同,但是该文件始终和Git的系统配置文件(可以通过git config –system -e命令打开进而知道位置)位于同一目录中。
  • +
+

注意只有在1.7.4或更新版本的Git才提供后两种(全局和系统级的)属性文件。可以通过下面的例子来理解属性文件的优先级和属性设置方法。

+

首先来看看某个版本库即系统中所包含的属性文件:

+
    +
  • 其一是位于版本库中的文件.git/info/attributes,内容如下:

    +
    a*      foo !bar -baz
    +
    +
    +
  • +
  • 其二是位于工作区子目录t下的属性文件,即t/.gitattributes,内容如下:

    +
    ab*     merge=filfre
    +abc     -foo -bar
    +*.c     frotz
    +
    +
    +
  • +
  • 再一个是位于工作区根目录下的属性文件.gitattributes,内容如下:

    +
    abc     foo bar baz
    +
    +
    +
  • +
  • 系统文件/etc/gitconfig中包含如下配置,则每个用户主目录下的.gitattributes文件做为全局属性文件。

    +
    [core]
    +  attributesfile = ~/.gitattributes
    +
    +
    +
  • +
  • 位于用户主目录下的属性文件,即文件~/.gitattributes的内容如下:

    +
    * text=auto
    +
    +
    +
  • +
+

当查询工作区文件t/abc的属性时,根据属性文件的优先级,按照下列顺序进行检索:

+
    +
  1. 先检查属性文件.git/info/attributes。显然该文件中唯一的一行就和文件t/abc匹配,因此文件t/abc的属性如下:
  2. +
+
+
foo   : true
+bar   : 未设置
+baz   : false
+
+
+
+
    +
  1. 再检查和文件t/abc同目录的属性文件t/.gitattributes。该属性文件的前两行和路径t/abc相匹配,但是因为第二行设置foobar属性已经由属性文件.git/info/attributes提供,因此第二行的设置不起作用。经过这一步,文件t/abc获得的属性为:
  2. +
+
+
foo   : true
+bar   : 未设置
+baz   : false
+merge : filfre
+
+
+
+
    +
  1. 然后沿工作区当前目录向上遍历属性文件,找到工作区根目录下的属性文件.gitattributes,进行检查。因为该属性文件设置的属性已经由前面的属性文件提供,所以文件t/abc的属性和上面第2步的结果一样。
  2. +
  3. 因为设置了core.attributesfile~/.gitattributes文件,因此接下来查找用户主目录下文件即.gitattributes。该文件唯一的一行匹配所有文件,因此t/abc又被附加了新的属性值text=auto。最终文件t/abc的属性如下。
  4. +
+
+
foo   : true
+bar   : 未设置
+baz   : false
+merge : filfre
+text  : auto
+
+
+
+
+
+

8.2.1.3. 常用属性介绍

+
+

8.2.1.3.1. text

+

属性text用于显式的指定文件的类型:二进制(-text)、文本文件(text)或是开启文件类型的智能判别(text=auto)。对于文本文件,Git会对其进行换行符转换。本书第40章“40.3换行符问题”中已经详细介绍了属性text的用法,并且在本章“40.1.1 属性定义”的示例中对属性text的取值做了总结,在此不再赘述。

+

在“40.3换行符问题”一节,我们还知道可以通过在Git配置文件中设置core.autocrlf配置变量,来开启Git对文件类型的智能判别,并对文本文件开启换行符转换。那么Git的配置变量core.autocrlf和属性text有什么异同呢?

+

当设置了Git了配置变量core.autocrlftrue或者input后,相当于设置了属性text=auto。但是Git配置文件中的配置变量只能在本地进行设置并且只对本地版本库有效,不能通过共享版本库传递到其他用户的本地版本库中,因而core.autocrlf开启换行符转换不能跟其他用户共享,或者说不能将换行符转换策略设置为整个项目(版本库)的强制规范。属性文件则不同,可以被检入到版本库中并通过共享版本库传递给其他用户,因此可以通过在检入的.gitattributes文件中设置text属性,或者干脆设置text=auto属性,强制同一项目的所有用户在提交文本文件时都要规范换行符。

+

建议所有存在跨平台开发可能的项目都在项目根目录中检入一个.gitattributes文件,根据文件扩展名设置文件的text属性,或者设置即将介绍的eol属性。

+
+
+

8.2.1.3.2. eol

+

属性eol用于设定文本文件的换行符格式。对于设置了eol属性的文件,如果没有设定text属性时,默认会设置text属性为true。属性eol的取值如下:

+
    +
  • eol=crlf

    +

    当文件检入版本库时,blob对象使用LF作为换行符。当检出到工作区时,使用CRLF作为换行符。

    +
  • +
  • eol=lf

    +

    当文件检入版本库时,blob对象使用LF作为换行符,检出的时候工作区文件也使用LF作为换行符。

    +
  • +
+

除了通过属性设定换行符格式外,还可以在Git的配置文件通过core.eol配置变量来设定。两者的区别在于配置文件中的core.eol配置变量设置的换行符是一个默认值,没有通过eol属性指定换行符格式的文本文件会采用core.eol的设置。变量core.eol的值可以设定为lfcrlfnative。默认core.eol的取值为native,即采用操作系统标准的换行符格式。

+

下面的示例通过属性文件设置文件的换行符格式。

+
*.vcproj        eol=crlf
+*.sh            eol=lf
+
+
+

扩展名为.vcproj的文件使用CRLF作为换行符,而扩展名为.sh的文件使用LF作为换行符。在版本库中检入类似的属性文件,会使得Git客户端无论在什么操作系统中都能够在工作区检出一致的换行符格式,这样无论是在Windows上还是在Linux上使用git archive命令将工作区文件打包,导出的文件都会保持正确的换行符格式。

+
+
+

8.2.1.3.3. ident

+

属性ident开启文本文件中的关键字扩展,即关键字$Id$的自动扩展。当检出到工作区时,$Id$自动扩展为$Id:,后面紧接着40位SHA1哈希值(相应blob对象的哈希值),然后以一个$字符结尾。当文件检入时,要对内容中出现的以$Id:开始,以$结束的内容替换为$Id$再保存到blob对象中。

+

这个功能可以说是对CVS相应功能的模仿。自动扩展的内容使用的是blob的哈希值而非提交本身的哈希值,因此并无太大实际意义,不建议使用。如果希望在文本文件中扩展出提交者姓名、提交ID等更有实际意义的内容,可以参照后面介绍的属性export-subst

+
+
+

8.2.1.3.4. filter

+

属性filter为文件设置一个自定义转换过滤器,以便文件在检入版本库及检出到工作区时进行相应的转换。定义转换过滤器通过Git配置文件来完成,因此这个属性应该只在本地进行设置,而不要通过检入到版本库中的.gitattributes文件传递。

+

例如下面的属性文件设置了所有的C语言源文件在检入和检出的时候使用名为indent的代码格式化过滤器。

+
*.c     filter=indent
+
+
+

然后还要通过Git配置文件设定indent过滤器,示例如下:

+
[filter "indent"]
+        clean = indent
+        smudge = cat
+
+
+

定义过滤器只要设置两条命令,一条是名为clean的配置设定的的命令,用于在文件检入时执行,另外一条是名为smudge的配置设定的命令,用于将文件检出到工作区时使用的命令。对于本例,在代码检入时执行indent命令对代码格式化后,再保存到版本库中。当检出到工作区执行cat命令,实际上相当于直接将blob对象复制到工作区。

+
+
+

8.2.1.3.5. diff

+

和前面介绍的属性不同,属性diff不会对文件检入检出造成影响,而只是在查看文件历史变更时起作用。属性diff可以取值如下:

+
    +
  • diff

    +

    进行版本间比较时,以文本方式进行比较,即使文件看起来像是二进制文件(包含NULL字符),或者被设置为二进制文件(-text)。

    +
  • +
  • -diff

    +

    不以文本方式进行差异比较,而以二进制方式进行比较。因为默认查看版本间差异时只显示文本文件的差异不显示二进制文件差异,因此包含-diff属性设置的文件在差异比较时不显示内容上的差异。对于有些文本文件(如postscript文件)进行差异比较没有意义,可以对其设置-diff属性,避免在显示提交间差异时造成干扰。

    +
  • +
  • !diff

    +

    不设置diff属性,相当于在执行差异比较时要对文件内容进行智能判别,如果文件看起来像是文本文件,则显示文本格式的差异比较。

    +
  • +
  • diff=<driver>

    +

    设定一个外部的驱动用于文件的差异比较。例如对于Word文档的差异比较就可以通过这种方式进行配置。

    +
  • +
+

Word文档属于二进制文件,默认不显示差异比较。在Linux上有一个名为antiword的应用软件可以将Word文档转换为文本文件显示,借助该软件就可以实现在Linux(包括Mac OS X)上显示Word文件的版本间差异。

+

下面的Git配置就定义了一个名为antiword的适用于Word差异比较的驱动:

+
[diff "antiword"]
+  textconv=antiword
+
+
+

其中textconv属性用于设定一个文件转换命令行,这里设置为antiword,用于将 Word 文档转换为纯文本。

+

然后还需要设置属性,修改版本库下的.git/info/attributes文件就可以,新增属性设置如下:

+
*.doc  diff=antiword
+
+
+

关于更多的差异比较外部驱动的设置,执行git help --web attributes参见相关的帮助。

+
+
+

8.2.1.3.6. merge

+

属性merge用于为文件设置指定的合并策略,受影响的Git命令有:git mergegit revertgit cherry-pick等。属性merge可以取值如下:

+
    +
  • merge

    +

    使用内置的三向合并策略。

    +
  • +
  • -merge

    +

    将当前分支的文件版本设置为暂时的合并结果,并且声明合并发生了冲突,这实际上是二进制文件默认的合并方式。可以对文本文件设置该属性,使得在合并时的行为类似二进制文件。

    +
  • +
  • !merge

    +

    和定义了merge属性效果类似,使用内置的三向合并策略。然而当通过Git配置文件的merge.default配置变量设置了合并策略后,如果没有为文件设置merge属性,则使用merge.default设定的策略。

    +
  • +
  • merge=<driver>

    +

    使用指定的合并驱动执行三向文件合并。驱动可以是内置的三个驱动,也可以是用户通过Git配置文件自定义的驱动。

    +
  • +
+

下面重点说一说通过枚举值来指定在合并时使用的内置驱动和自定义驱动。先来看看Git提供的三个内置驱动:

+
    +
  • merge=text

    +

    默认文本文件在进行三向合并时使用的驱动。会在合并后的文本文件中用特殊的标识<<<<<<<=======>>>>>>>来标记冲突的内容。

    +
  • +
  • merge=binary

    +

    默认二进制文件在进行三向合并时使用的驱动。会在工作区中保持当前分支中的版本不变,但是会通过在三个暂存区中进行冲突标识使得文件处于冲突状态。

    +
  • +
  • merge=union

    +

    在文本文件三向合并过程中,不使用冲突标志符标识冲突,而是将冲突双方的内容简单的罗列在文件中。用户应该对合并后的文件进行检查。请慎用此合并驱动。

    +
  • +
+

用户还可以自定义驱动。例如Topgit就使用自定义合并驱动的方式来控制两个Topgit管理文件.topmsg.topdeps的合并行为。

+

Topgit会在版本库的配置文件.git/info/config中添加下面的设置定义一个名为ours的合并驱动。注意不要将此ours驱动和本书第3篇第16章“16.6合并策略”一节中介绍的ours合并策略弄混淆。

+
[merge "ours"]
+  name = \"always keep ours\" merge driver
+  driver = touch %A
+
+
+

定义的合并驱动的名称由merge.*.name给出,合并时执行的命令则由配置merge.*.driver给出。本例中使用了命令touch %A,含义为对当前分支中的文件进行简单的触碰(更新文件时间戳),亦即合并冲突时采用本地版本,丢弃其他版本。

+

Topgit还会在版本库.git/info/attributes属性文件中包含下面的属性设置:

+
.topmsg merge=ours
+.topdeps  merge=ours
+
+
+

含义为对这两个Topgit管理文件,采用在Git配置文件中设定的ours合并驱动。Topgit之所以要这么实现是因为不同特性分支的管理文件之间并无关联,也不需要合并,在遇到冲突时只使用自己的版本即可。这对于Topgit要经常地执行变基和分支合并来说,设置这个策略可以简化管理,但是这个合并设置在特定情况下也存在不合理之处。例如两个用户工作在同一分支上同时更改了.topmsg文件以修改特性分支的描述,在合并时会覆盖对方的修改,这显然是不好的行为。但是权衡利弊,还是如此实现最好。

+
+
+

8.2.1.3.7. whitespace

+

Git可以对文本文件中空白字符的使用是否规范做出检查,在文件差异比较时,将使用不当的空白字符用红色进行标记(开启color.diff.whitespace)。也可以在执行git apply时通过参数--whitespace=error防止错误的空白字符应用到提交中。

+

Git默认开启对下面三类错误空白字符的检查。

+
    +
  • blank-at-eol

    +

    在行尾出现的空白字符(换行符之前)被视为误用。

    +
  • +
  • space-before-tab

    +

    在行首缩进中出现在TAB字符前面的空白字符视为误用。

    +
  • +
  • blank-at-eof

    +

    在文件末尾的空白行视为误用。

    +
  • +
+

Git还支持对更多空白字符的误用做出检测,包括:

+
    +
  • indent-with-non-tab

    +

    用8个或者更多的空格进行缩进视为误用。

    +
  • +
  • tab-in-indent

    +

    在行首的缩进中使用TAB字符视为误用。显然这个设置和上面的indent-with-non-tab互斥。

    +
  • +
  • trailing-space

    +

    相当于同时启用blank-at-eolblank-at-eof

    +
  • +
  • cr-at-eol

    +

    将行尾的CR(回车)字符视为换行符的一部分。也就是说,在行尾前出现的CR字符不会引起trailing-space报错。

    +
  • +
  • tabwidth=<n>

    +

    设置一个TAB字符相当于几个空格,缺省为8个。

    +
  • +
+

可以通过Git配置文件中的core.whitespace配置变量,设置开启更多的空白字符检查,将要开启的空白字符检查项用逗号分开即可。

+

如果希望对特定路径进行空白字符检查,则可以通过属性whitespace进行。属性whitespace可以有如下设置:

+
    +
  • whitespace

    +

    开启所有的空白字符误用检查。

    +
  • +
  • -whitespace

    +

    不对空白字符进行误用检查。

    +
  • +
  • !whitespace

    +

    使用core.whitespace配置变量的设置进行空白字符误用检查。

    +
  • +
  • whitespace=...

    +

    core.whitespace的语法一样,用逗号分隔各个空白字符检查项。

    +
  • +
+
+
+

8.2.1.3.8. export-ignore

+

设置了该属性的文件和目录在执行git archive时不予导出。

+
+
+

8.2.1.3.9. export-subst

+

如果为文件设置了属性export-subst,则在使用git archive导出项目文件时,会对相应文件内容中的占位符展开,然后再添加到归档中。注意如果在使用git archive导出时使用树ID,而没有使用提交或者里程碑,则不会发生占位符展开。

+

占位符的格式为$Format:PLACEHOLDERS$,其中PLACEHOLDERS使用git log –pretty=format:相同的参数(具体参见git help log显示的帮助页)。例如:$Format:%H$将展开为提交的哈希值,$Format:%an$将展开为提交者姓名。

+
+
+

8.2.1.3.10. delta

+

如果设置属性deltafalse,则不对该路径指向的blob文件执行Delta压缩。

+
+
+

8.2.1.3.11. encoding

+

设置文件所使用的字符集,以便使用GUI工具(如gitkgit-gui)能够正确显示文件内容。基于性能上的考虑,gitk默认不检查该属性,除非通过gitk的偏好设置启用“Support per-file encodings”。

+

如果没有为文件设置encoding属性,则使用git.encoding配置变量。

+
+
+

8.2.1.3.12. binary

+

属性binary严格来说是一个宏,相当于-text -diff。即禁止换行符转换及禁止文本方式显示文件差异。

+

用户也可以自定义宏。自定义宏只能在工作区根目录中的.gitattributes文件中添加,以内置的binary宏为例,相当于在属性文件中进行了如下的设置:

+
[attr]binary -diff -text
+
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/070-hooks-and-templates.html b/08-git-misc/070-hooks-and-templates.html new file mode 100644 index 000000000..c8164bb48 --- /dev/null +++ b/08-git-misc/070-hooks-and-templates.html @@ -0,0 +1,330 @@ + + + + + + + + + 8.2.2. 钩子和模板 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

8.2.2. 钩子和模板

+
+

8.2.2.1. Git钩子

+

Git的钩子脚本位于版本库.git/hooks目录下,当Git执行特定操作时会调用特定的钩子脚本。当版本库通过git init或者git clone创建时,会在.git/hooks目录下创建示例脚本,用户可以参照示例脚本的写法开发适合的钩子脚本。

+

钩子脚本要设置为可运行,并使用特定的名称。Git提供的示例脚本都带有.sample扩展名,是为了防止被意外运行。如果需要启用相应的钩子脚本,需要对其重命名(去掉.sample扩展名)。下面分别对可用的钩子脚本逐一介绍。

+
+

8.2.2.1.1. applypatch-msg

+

该钩子脚本由git am命令调用。在调用时向该脚本传递一个参数,即保存有提交说明的文件的文件名。如果该脚本运行失败(返回非零值),则git am命令在应用该补丁之前终止。

+

这个钩子脚本可以修改文件中保存的提交说明,以便对提交说明进行规范化以符合项目的标准(如果有的话)。如果提交说明不符合项目标准,脚本直接以非零值退出,拒绝提交。

+

Git提供的示例脚本applypatch-msg.sample只是简单的调用commit-msg钩子脚本(如果存在的话)。这样通过git am命令应用补丁和执行git commit一样都会执行commit-msg脚本,因此如须定制,请更改commit-msg脚本。

+
+
+

8.2.2.1.2. pre-applypatch

+

该钩子脚本由git am命令调用。该脚本没有参数,在补丁应用后但尚未提交之前运行。如果该脚本运行失败(返回非零值),则已经应用补丁的工作区文件不会被提交。

+

这个脚本可以用于对应用补丁后的工作区进行测试,如果测试没有通过则拒绝提交。

+

Git提供的示例脚本pre-applypatch.sample只是简单的调用pre-commit钩子脚本(如果存在的话)。这样通过git am命令应用补丁和执行git commit一样都会执行pre-commit脚本,因此如须定制,请更改pre-commit脚本。

+
+
+

8.2.2.1.3. post-applypatch

+

该钩子脚本由git am命令调用。该脚本没有参数,在补丁应用并且提交之后运行,因此该钩子脚本不会影响git am的运行结果,可以用于发送通知。

+
+
+

8.2.2.1.4. pre-commit

+

该钩子脚本由git commit命令调用。可以向该脚本传递--no-verify参数,此外别无参数。该脚本在获取提交说明之前运行。如果该脚本运行失败(返回非零值),Git提交被终止。

+

该脚本主要用于对提交数据的检查,例如对文件名进行检查(是否使用了中文文件名),或者对文件内容进行检查(是否使用了不规范的空白字符)。

+

Git提供的示例脚本pre-commit.sample禁止提交在路径中使用了非ASCII字符(如中文字符)的文件。如果确有使用的必要,可以在Git配置文件中设置配置变量hooks.allownonasciitrue以允许在文件名中使用非ASCII字符。Git提供的该示例脚本也对不规范的空白字符进行检查,如果发现则终止提交。

+

Topgit为所管理的版本库设置了自己的pre-commit脚本,检查工作的Topgit特性分支是否正确设置了两个Topgit管理文件.topdeps.topmsg,以及定义的分支依赖是否存在着重复依赖和循环依赖等。

+
+
+

8.2.2.1.5. prepare-commit-msg

+

该钩子脚本由git commit命令调用,在默认的提交信息准备完成后但编辑器尚未启动之前运行。

+

该脚本有1到3个参数。第一个参数是包含提交说明的文件的文件名。第二个参数是提交说明的来源,可以是message(由-m或者-F参数提供),可以是template(如果使用了-t参数或由commit.template配置变量提供),或者是merge(如果提交是一个合并或存在.git/MERGE_MSG文件),或者是squash(如果存在.git/SQUASH_MSG文件),或者是commit并跟着一个提交SHA1哈希值(如果使用-c-C或者--amend参数)。

+

如果该脚本运行失败(返回非零值),Git提交被终止。

+

该脚本用于对提交说明进行编辑,并且该脚本不会因为--no-verify参数被禁用。

+

Git提供的示例脚本prepare-commit-msg.sample可以用于向提交说明中嵌入提交者签名,或者将来自merge的提交说明中的含有“Conflicts:”的行去掉。

+
+
+

8.2.2.1.6. commit-msg

+

该钩子脚本由git commit命令调用,可以通过传递--no-verify参数而禁用。该脚本有一个参数,即包含有提交说明的文件的文件名。如果该脚本运行失败(返回非零值),Git提交被终止。

+

该脚本可以直接修改提交说明,可以用于对提交说明规范化以符合项目的标准(如果有的话)。如果提交说明不符合标准,可以拒绝提交。

+

Git提供的示例脚本commit-msg.sample检查提交说明中出现的相同的Signed-off-by行,如果发现重复签名即报错、终止提交。

+

Gerrit服务器需要每一个向其进行推送的Git版本库在本地使用Gerrit提供的commit-msg钩子脚本,以便在创建的提交中包含形如“Change-Id: I...”的变更集标签。

+
+
+

8.2.2.1.7. post-commit

+

该钩子脚本由git commit命令调用,不带参数运行,在提交完成之后被触发执行。

+

该钩子脚本不会影响git commit的运行结果,可以用于发送通知。

+
+
+

8.2.2.1.8. pre-rebase

+

该钩子脚本由git rebase命令调用,用于防止某个分支参与变基。

+

Git提供的示例脚本pre-rebase.sample是针对Git项目自身情况而开发的,当一个功能分支已经合并到next分支后,禁止该分基进行变基操作。

+
+
+

8.2.2.1.9. post-checkout

+

该钩子脚本由git checkout命令调用,是在完成工作区更新之后触发执行。该钩子脚本有三个参数:前一个HEAD的引用,新HEAD的引用(可能和前一个一样也可能不一样),以及一个用于表示此次检出是否是分支检出的标识(分支检出为1,文件检出是0)。该钩子脚本不会影响git checkout命令的结果。

+

除了由git checkout命令调用外,该钩子脚本也在git clone命令执行后被触发执行,除非在克隆时使用了禁止检出的--no-checkout (-n)参数。在由git clone调用时,第一个参数给出的引用是空引用,则第二个和第三个参数都为1。

+

这个钩子一般用于版本库的有效性检查,自动显示和前一个HEAD的差异,或者设置工作区属性。

+
+
+

8.2.2.1.10. post-merge

+

该钩子脚本由git merge命令调用,当在本地版本库完成git pull操作后触发执行。该钩子脚本有一个参数,标识合并是否是一个压缩合并。该钩子脚本不会影响git merge命令的结果。如果合并因为冲突而失败,该脚本不会执行。

+

该钩子脚本可以与pre-commit钩子脚本一起实现对工作区目录树属性(如权限/属主/ACL等)的保存和恢复。参见Git源码文件contrib/hooks/setgitperms.perl中的示例。

+
+
+

8.2.2.1.11. pre-receive

+

该钩子脚本由远程版本库的git receive-pack命令调用。当从本地版本库完成一个推送之后,在远程服务器上开始批量更新引用之前,该钩子脚本被触发执行。该钩子脚本的退出状态决定了更新引用的成功与否。

+

该钩子脚本在接收(receive)操作中只执行一次。传递参数不通过命令行,而是通过标准输入进行传递。通过标准输入传递的每一行的语法格式为:

+
<old-value> <new-value> <ref-name>
+
+
+

<old-value>是引用更新前的老的对象ID,<new-value>是引用即将更新到的新的对象ID,<ref-name>是引用的全名。当创建一个新引用时,<old-value>是40个0。

+

如果该钩子脚本以非零值退出,一个引用也不会更新。如果该脚本正常退出,每一个单独的引用的更新仍有可能被update钩子所阻止。

+

标准输出和标准错误都重定向到在另外一端执行的git send-pack,所以可以直接通过echo命令向用户传递信息。

+
+
+

8.2.2.1.12. update

+

该钩子脚本由远程版本库的git receive-pack命令调用。当从本地版本库完成一个推送之后,在远程服务器上更新引用时,该钩子脚本被触发执行。该钩子脚本的退出状态决定了更新引用的成功与否。

+

该钩子脚本在每一个引用更新的时候都会执行一次。该脚本有三个参数。

+
    +
  • 参数1:要更新的引用的名称。
  • +
  • 参数2:引用中保存的旧对象名称。
  • +
  • 参数3:将要保存到引用中的新对象名称。
  • +
+

正常退出(返回0)允许引用的更新,而以非零值退出禁止git-receive-pack更新该引用。

+

该钩子脚本可以用于防止对某些引用的强制更新,因为该脚本可以通过检查新旧引用对象是否存在继承关系,从而提供更为细致的“非快进式推送”的授权。

+

该钩子脚本也可以用于记录(如用邮件)引用变更历史old..new。然而因为该脚本不知道整个的分支,所以可能会导致每一个引用发送一封邮件。因此如果要发送通知邮件,可能post-receive钩子脚本更适合。

+

另外,该脚本可以实现基于路径的授权。

+

标准输出和标准错误都重定向到在另外一端执行的git send-pack,所以可以直接通过echo命令向用户传递信息。

+

Git提供的示例脚本update.sample展示了对多种危险的Git操作行为进行控制的可行性。

+
    +
  • 只有将配置变量hooks.allowunannotated设置为true才允许推送轻量级里程碑(不带说明的里程碑)。
  • +
  • 只有将配置变量hooks.allowdeletebranch设置为true才允许删除分支。
  • +
  • 如果将配置变量hooks.denycreatebranch设置为true则不允许创建新分支。
  • +
  • 只有将配置变量hooks.allowdeletetag设置为true才允许删除里程碑。
  • +
  • 只有将配置变量hooks.allowmodifytag设置为true才允许修改里程碑。
  • +
+

相比Git的示例脚本,Gitolite服务器为其管理的版本库设置的update钩子脚本更实用也更强大。Gitolite实现了用户认证,并通过检查授权文件,实现基于分支和路径的写操作授权,等等。具体参见本书第5篇“第30章Gitolite服务架设”相关内容。

+
+
+

8.2.2.1.13. post-receive

+

该钩子脚本由远程版本库的git receive-pack命令调用。当从本地版本库完成一个推送,并且在远程服务器上所有引用都更新完毕后,该钩子脚本被触发执行。

+

该钩子脚本在接收(receive)操作中只执行一次。该脚本不通过命令行传递参数,但是像pre-receive钩子脚本那样,通过标准输入以相同格式获取信息。

+

该钩子脚本不会影响git-receive-pack的结果,因为调用该脚本时工作已经完成。

+

该钩子脚本胜过post-update脚本之处在于可以获得所有引用的老的和新的值,以及引用的名称。

+

标准输出和标准错误都重定向到在另外一端执行的git send-pack,所以可以直接通过echo命令向用户传递信息。

+

Git提供的示例脚本post-receive.sample引入了contrib/hooks目录下的名为post-receive-email的示例脚本(默认被注释),以实现发送通知邮件的功能。

+

Gitolite服务器要对其管理的Git版本库设置post-receive钩子脚本,以实现当版本库有变更后进行到各个镜像版本库的数据传输。

+
+
+

8.2.2.1.14. post-update

+

该钩子脚本由远程版本库的git receive-pack命令调用。当从本地版本库完成一个推送之后,即当所有引用都更新完毕后,在远程服务器上该钩子脚本被触发执行。

+

该脚本接收不定长的参数,每一个参数实际上就是已成功更新的引用名。

+

该钩子脚本不会影响git-receive-pack的结果,因此主要用于通知。

+

钩子脚本post-update虽然能够提供那些引用被更新了,但是该脚本不知道引用更新前后的对象SHA1哈希值,所以在这个脚本中不能记录形如old..new的引用变更范围。而钩子脚本post-receive知道更新引用前后的对象ID,因此更适合此种场合。

+

标准输出和标准错误都重定向到在另外一端执行的git send-pack,所以可以直接通过echo命令向用户传递信息。

+

Git提供的示例脚本post-update.sample会运行git update-server-info命令,以更新哑协议需要的索引文件。如果通过哑协议共享版本库,应该启用该钩子脚本。

+
+
+

8.2.2.1.15. pre-auto-gc

+

该钩子脚本由git gc –auto命令调用,不带参数运行,如果以非零值退出会导致git gc –auto被中断。

+
+
+

8.2.2.1.16. post-rewrite

+

该钩子脚本由一些重写提交的命令调用,如git commit –amendgit rebase,而git-filter-branch当前尚未调用该钩子脚本。

+

该脚本的第一个参数用于判断调用来自哪个命令,当前有amendrebase两个取值,也可能将来会有其他更多命令相关参数传递。

+

该脚本通过标准输入接收一个重写提交列表,每一行输入的格式如下:

+
<old-sha1> <new-sha1> [<extra-info>]
+
+
+

前两个是旧的和新的对象SHA1哈希值。而<extra-info>参数是和调用命令相关的,而当前该参数为空。

+
+
+
+

8.2.2.2. Git模板

+

当执行git initgit clone创建版本库时,会自动在版本库中创建钩子脚本(.git/hooks/*)、忽略文件(.git/info/exclude)及其他文件,实际上这些文件均拷贝自模板目录。如果需要本地版本库使用定制的钩子脚本等文件,直接在模板目录内创建(文件或符号链接)会事半功倍。

+

Git按照以下列顺序第一个确认的路径即为模板目录。

+
    +
  • 如果执行git initgit clone命令时,提供--template=<DIR>参数,则使用指定的目录作为模板目录。

    +
  • +
  • 由环境变量$GIT_TEMPLATE_DIR指定的模板目录。

    +
  • +
  • 由Git配置变量init.templatedir指定的模板目录。

    +
  • +
  • 缺省的模板目录,根据Git安装路径的不同可能位于不同的目录下。可以通过下面命令确认其实际位置:

    +
    $ ( cd $(git --html-path)/../../git-core/templates; pwd )
    +/usr/share/git-core/templates
    +
    +
    +
  • +
+

如果在执行版本库初始化时传递了空的模板路径,则不会在版本库中创建钩子脚本 +等文件。

+
$ git init --template= no-template
+Initialized empty Git repository in /path/to/my/workspace/no-template/.git/
+
+
+

执行下面的命令,查看新创建的版本库.git目录下的文件。

+
$ ls -F no-template/.git/
+HEAD     config   objects/ refs/
+
+
+

可以看到不使用模板目录创建的版本库下面的文件少的可怜。而通过对模板目录下的文件的定制,可以实现在建立的版本库中包含预先设置好的钩子脚本、忽略文件、属性文件等。这对于服务器或者对版本库操作有特殊要求的项目带来方便。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/090-sparse-checkout-and-shallow-clone.html b/08-git-misc/090-sparse-checkout-and-shallow-clone.html new file mode 100644 index 000000000..edd381daa --- /dev/null +++ b/08-git-misc/090-sparse-checkout-and-shallow-clone.html @@ -0,0 +1,333 @@ + + + + + + + + + 8.2.3. 稀疏检出和浅克隆 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

8.2.2. 钩子和模板

+

下一个主题

+

8.2.4. 嫁接和替换

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.2.3. 稀疏检出和浅克隆

+
+

8.2.3.1. 稀疏检出

+

从1.7.0版本开始Git提供稀疏检出的功能。所谓稀疏检出就是本地版本库检出时不检出全部,只将指定的文件从本地版本库检出到工作区,而其他未指定的文件则不予检出(即使这些文件存在于工作区,其修改也会被忽略)。

+

要想实现稀疏检出的功能,必须同时设置core.sparseCheckout配置变量,并存在文件.git/info/sparse-checkout。即首先要设置Git配置变量core.sparseCheckouttrue,然后编辑.git/info/sparse-checkout文件,将要检出的目录或文件的路径写入其中。其中文件.git/info/sparse-checkout的格式就和.gitignore文件格式一样,路径可以使用通配符。

+

稀疏检出是如何实现的呢?实际上Git在index(即暂存区)中为每个文件提供一个名为skip-worktree标志位,缺省这个标识位处于关闭状态。如果该标识位开启,则无论工作区对应的文件存在与否,或者是否被修改,Git都认为工作区该文件的版本是最新的、无变化。Git通过配置文件.git/info/sparse-checkout定义一个要检出的目录和/或文件列表,当前Git的git read-tree命令及其他基于合并的命令(git mergegit checkout等等)能够根据该配置文件更新index中文件的skip-worktree标志位,实现版本库文件的稀疏检出。

+

先来在工作区/path/to/my/workspace中创建一个示例版本库sparse1,创建后的sparse1版本库中包含如下内容:

+
$ ls -F
+doc1/ doc2/ doc3/
+$ git ls-files -s -v
+H 100644 ce013625030ba8dba906f756967f9e9ca394464a 0     doc1/readme.txt
+H 100644 ce013625030ba8dba906f756967f9e9ca394464a 0     doc2/readme.txt
+H 100644 ce013625030ba8dba906f756967f9e9ca394464a 0     doc3/readme.txt
+
+
+

即版本库sparse1中包含三个目录doc1doc2doc3。命令git ls-files-s参数用于显示对象的SHA1哈希值以及所处的暂存区编号。而-v参数则还会显示工作区文件的状态,每一行命令输出的第一个字符即是文件状态:字母H表示文件已被暂存,如果是字母S则表示该文件skip-worktree标志位已开启。

+

下面我们就来体验一下稀疏检出的功能。

+
    +
  • 修改版本库的Git配置变量core.sparseCheckout,将其设置为true

    +
    $ git config core.sparseCheckout true
    +
    +
    +
  • +
  • 设置.git/info/sparse-checkout的内容,如下:

    +
    $ printf "doc1\ndoc3\n" > .git/info/sparse-checkout
    +$ cat .git/info/sparse-checkout
    +doc1
    +doc3
    +
    +
    +
  • +
  • 执行git checkout命令后,会发现工作区中doc2目录不见了。

    +
    $ git checkout
    +$ ls -F
    +doc1/ doc3/
    +
    +
    +
  • +
  • 这时如果用git ls-files命令查看,会发现doc2目录下的文件被设置了skip-worktree标志。

    +
    $ git ls-files -v
    +H doc1/readme.txt
    +S doc2/readme.txt
    +H doc3/readme.txt
    +
    +
    +
  • +
  • 修改.git/info/sparse-checkout的内容,如下:

    +
    $ printf "doc3\n" > .git/info/sparse-checkout
    +$ cat .git/info/sparse-checkout
    +doc3
    +
    +
    +
  • +
  • 执行git checkout命令后,会发现工作区中doc1目录也不见了。

    +
    $ git checkout
    +$ ls -F
    +doc3/
    +
    +
    +
  • +
  • 这时如果用git ls-files命令查看,会发现doc1doc2目录下的文件都被设置了skip-worktree标志。

    +
    $ git ls-files -v
    +S doc1/readme.txt
    +S doc2/readme.txt
    +H doc3/readme.txt
    +
    +
    +
  • +
  • 修改.git/info/sparse-checkout的内容,使之包含一个星号,即在工作区检出所有的内容。

    +
    $ printf "*\n" > .git/info/sparse-checkout
    +$ cat .git/info/sparse-checkout
    +*
    +
    +
    +
  • +
  • 执行git checkout,会发现所有目录又都回来了。

    +
    $ git checkout
    +$ ls -F
    +doc1/ doc2/ doc3/
    +
    +
    +
  • +
+

文件.git/info/sparse-checkout的文件格式类似于.gitignore的格式,也支持用感叹号实现反向操作。例如不检出目录doc2下的文件,而检出其他文件,可以使用下面的语法(注意顺序不能写反):

+
*
+!doc2/
+
+
+

注意如果使用命令git checkout – <file>...,即不是切换分支而是用分支中的文件替换暂存区和工作区的话,则忽略skip-worktree标志。例如下面的操作中,虽然doc2被设置为不检出,但是执行git checkout .命令后,还是所有的目录都被检出了。

+
$ git checkout .
+$ ls -F
+doc1/ doc2/ doc3/
+$ git ls-files -v
+H doc1/readme.txt
+S doc2/readme.txt
+H doc3/readme.txt
+
+
+

如果修改doc2目录下的文件,或者在doc2目录下添加新文件,Git会视而不见。

+
$ echo hello >> doc2/readme.txt
+$ git status
+# On branch master
+nothing to commit (working directory clean)
+
+
+

若此时通过取消core.sparseCheckout配置变量的设置而关闭稀疏检出,也不会改变目录doc2下的文件的skip-worktree标志。这种情况或者通过git update-index –no-skip-worktree – <file>...来更改index中对应文件的skip-worktree标志,或者重新启用稀疏检出更改相应文件的检出状态。

+

在克隆一个版本库时只希望检出部分文件或目录,可以在执行克隆操作的时候使用--no-checkout-n参数,不进行工作区文件的检出。例如下面的操作从前面示例的sparse1版本库克隆到sparse2中,不进行工作区文件的检出。

+
$ git clone -n sparse1 sparse2
+Cloning into sparse2...
+done.
+
+
+

检出完成后可以发现sparse2的工作区是空的,而且版本库中也不存在index文件。如果执行git status命令会看到所有文件都被标识为删除。

+
$ cd sparse2
+$ git status -s
+D  doc1/readme.txt
+D  doc2/readme.txt
+D  doc3/readme.txt
+
+
+

如果希望通过稀疏检出的功能,只检出其中一个目录如doc2,可以用如下方法实现:

+
$ git config core.sparseCheckout true
+$ printf "doc2\n" > .git/info/sparse-checkout
+$ git checkout
+
+
+

之后看到工作区中检出了doc2目录,而其他文件被设置了skip-worktree标志。

+
$ ls -F
+doc2/
+$ git ls-files -v
+S doc1/readme.txt
+H doc2/readme.txt
+S doc3/readme.txt
+
+
+
+
+

8.2.3.2. 浅克隆

+

上一节介绍的稀疏检出,可以部分检出版本库中的文件,但是版本库本身仍然包含所有的文件和历史。如果只对一个大的版本库的最近的部分历史提交感兴趣,而不想克隆整个版本库,稀疏检出是解决不了的,而是要采用本节介绍的浅克隆。

+

实现版本库的浅克隆的非常简单,只需要在执行git clone或者git fetch操作时用--depth <depth>参数设定要获取的历史提交的深度(<depth>大于0),就会把源版本库分支上最近的<depth> + 1个历史提交作为新版本库的全部历史提交。

+

通过浅克隆方式克隆出来的版本库,每一个提交的SHA1哈希值和源版本库的相同,包括提交的根节点也是如次,但是Git通过特殊的实现,使得浅克隆的根节点提交看起来没有父提交。正因为浅克隆的提交对象的SHA1哈希值和源版本库一致,所以浅克隆版本库可以执行git fetch或者git pull从源版本库获取新的提交。但是浅克隆版本库也存在着很多限制,如:

+
    +
  • 不能从浅克隆版本库克隆出新的版本库。
  • +
  • 其他版本库不能从浅克隆获取提交。
  • +
  • 其他版本库不能推送提交到浅克隆版本库。
  • +
  • 不要从浅克隆版本库推送提交至其他版本库,除非确认推送的目标版本库包含浅克隆版本库中缺失的全部历史提交,否则会造成目标版本库包含不完整的提交历史导致版本库无法操作。
  • +
  • 在浅克隆版本库中执行合并操作时,如果所合并的提交出现在浅克隆历史中,则可以顺利合并,否则会出现大量的冲突,就好像和无关的历史进行合并一样。
  • +
+

由于浅克隆包含上述限制,因此浅克隆一般用于对远程版本库的查看和研究,如果在浅克隆版本库中进行了提交,最好通过git format-patch命令导出为补丁文件再应用到远程版本库中。

+

下面的操作使用git clone命令创建一个浅克隆。注意:源版本库如果是本地版本库要使用file://协议,若直接接使用本地路径则不会实现浅克隆。

+
$ git clone --depth 2 file:///path/to/repos/hello-world.git shallow1
+
+
+

然后进入到本地克隆目录中,会看到当前分支上只有3个提交。

+
$ git log  --oneline
+c4acab2 Translate for Chinese.
+683448a Add I18N support.
+d81896e Fix typo: -help to --help.
+
+
+

查看提交的根节点d81896e,则会看到该提交实际上也包含父提交。

+
$ git cat-file -p HEAD^^
+tree f9d7f6b0af6f3fffa74eb995f1d781d3c4876b25
+parent 10765a7ef46981a73d578466669f6e17b73ac7e3
+author user1 <user1@sun.ossxp.com> 1294069736 +0800
+committer user2 <user2@moon.ossxp.com> 1294591238 +0800
+
+Fix typo: -help to --help.
+
+
+

而查看该提交的父提交,Git会报错。

+
$ git log 10765a7ef46981a73d578466669f6e17b73ac7e3
+fatal: bad object 10765a7ef46981a73d578466669f6e17b73ac7e3
+
+
+

对于正常的Git版本库来说,如果对象库中一个提交丢失绝对是大问题,版本库不可能被正常使用。而浅克隆之所以看起来一切正常,是因为Git使用了类似嫁接(下一节即将介绍)的技术。

+

在浅克隆版本库中存在一个文件.git/shallow,这个文件中罗列了应该被视为提交根节点的提交SHA1哈希值。查看这个文件会看到提交d81896e正在其中:

+
$ cat .git/shallow
+b56bb510a947651e4717b356587945151ac32166
+d81896e60673771ef1873b27a33f52df75f70515
+e64f3a216d346669b85807ffcfb23a21f9c5c187
+
+
+

列在.git/shallow文件中的提交会构建出对应的嫁接提交,使用类似嫁接文件.git/info/grafts(下节讨论)的机制,当Git访问这些对象时就好像这些对象是没有父提交的根节点一样。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/110-graft-and-replace.html b/08-git-misc/110-graft-and-replace.html new file mode 100644 index 000000000..7a78dfe88 --- /dev/null +++ b/08-git-misc/110-graft-and-replace.html @@ -0,0 +1,209 @@ + + + + + + + + + 8.2.4. 嫁接和替换 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

8.2.3. 稀疏检出和浅克隆

+

下一个主题

+

8.2.5. Git评注

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.2.4. 嫁接和替换

+
+

8.2.4.1. 提交嫁接

+

提交嫁接可以实现在本地版本库上将两条完全不同提交线(分支)嫁接(连接)到一起。对于一些项目将版本控制系统迁移到Git上,该技术会非常有帮助。例如Linux本身的源代码控制在转移到Git上时,尚没有任何工具可以将Linux的提交历史从旧的Bitkeeper版本控制系统中导出,后来Linux旧的代码通过bkcvs导入到Git中,如何将新旧两条开发线连接到一起呢?于是发明了提交嫁接,实现新旧两条开发线的合并,这样Linux开发者就可以在一个开发分支中由最新的提交追踪到原来位于Bitkeeper中的提交。(参考:https://git.wiki.kernel.org/index.php/GraftPoint

+

提交嫁接是通过在版本库中创建.git/info/grafts文件实现的。该文件每一行的格式为:

+
<commit sha1> <parent sha1> [<parent sha1>]*
+
+
+

用空格分开各个字段,其中第一个字段是一个提交的SHA1哈希值,而后面用空格分开的其他SHA1哈希值则作为该提交的父提交。当把一个提交线的根节点作为第一个字段,将第二个提交线顶节点作为第二个字段,就实现了两个提交线的嫁接,看起来像是一条提交线了。

+

在本书第6篇“第35.4节Git版本库整理”中介绍的git filter-branch命令在对版本库整理时,如果发现存在.git/info/grafts则会在物理上完成提交的嫁接,实现嫁接的永久生效。

+
+
+

8.2.4.2. 提交替换

+

提交替换是在1.6.5或更新版本的Git提供的功能,和提交嫁接类似,不过提交替换不是用一个提交来伪成装另外一个提交的父提交,而是直接替换另外的提交,实现在不影响其他提交的基础上实现对历史提交的修改。

+

提交替换是通过在特殊命名空间.git/refs/replace/下定义引用来实现的。引用的名称是要被替换掉的提交SHA1哈希值,而引用文件的内容(引用所指向的提交)就是用于替换的(正确的)提交SHA1哈希值。由于提交替换通过引用进行定义,因此可以在不同的版本库之间传递,而不像提交嫁接只能在本地版本库中使用。

+

Git提供git replace命令来管理提交替换,用法如下:

+
用法1: git replace [-f] <object> <replacement>
+用法2: git replace -d <object>...
+用法3: git replace -l [<pattern>]
+
+
+

其中:

+
    +
  • 用法1用于创建提交替换,即在.git/refs/replace目录下创建名为<object>的引用,其内容为<replacement>。如果使用-f参数,还允许级联替换,用于替换的提交来可以是另外一个已经在.git/refs/replace中定义的替换。
  • +
  • 用法2用于删除已经定义的替换。
  • +
  • 用法3显示已经存在的提交替换。
  • +
+

提交替换可以被大部分Git命令理解,除了一些针对被替换的提交使用--no-replace-objects参数的命令。例如:

+
    +
  • 当提交foo被提交bar替换后,显示未被替换前的foo提交:

    +
    $ git --no-replace-objects cat-file commit foo
    +...foo 的内容...
    +
    +
    +
  • +
  • 不使用--no-replace-objects参数,则访问foo会显示替换后的bar提交:

    +
    $ git cat-file commit foo
    +...bar 的内容...
    +
    +
    +
  • +
+

提交替换使用引用进行定义,因此可以通过git fetchgit push在版本库之间传递。但因为默认Git只同步里程碑和分支,因此需要在命令中显式的给出提交替换的引用表达式,如:

+
$ git fetch origin refs/replace/*
+$ git push  origin refs/replace/*
+
+
+

提交替换也可以实现两个分支的嫁接。例如要将分支A嫁接到B上,就相当于将分支A的根提交<BRANCH_A_ROOT>的父提交设置为分支B的最新提交<BRANCH_B_CURRENT>。可以先创建一个新提交<BRANCH_A_NEW_ROOT>,其父提交设置为<BRANCH_B_CURRENT>而提交的其他字段完全和<BRANCH_A_ROOT>一致。然后设置提交替换,用<BRANCH_A_NEW_ROOT>替换<BRANCH_A_ROOT>即可。

+

创建<BRANCH_A_NEW_ROOT>可以使用下面的命令,注意要用实际值替换下面命令中的<BRANCH_A_ROOT><BRANCH_B_CURRENT>

+
$ git cat-file commit <BRANCH_A_ROOT> |
+  sed -e "/^tree / a \
+          parent $(git rev-parse <BRANCH_B_CURRENT>)" |
+  git hash-object -t commit -w --stdin
+
+
+

其中git cat-file commit命令用于显示提交的原始信息,sed命令用于向原始提交中插入一条parent SHA1...的语句,而命令git hash-object是一个Git底层命令,可以将来自标准输入的内容创建一个新的提交对象。

+

上面命令的输出即是<BRANCH_A_NEW_ROOT>的值。执行下面的替换命令,完成两个分支的嫁接。

+
$ git replace <BRANCH_A_ROOT> <BRANCH_A_NEW_ROOT>
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/120-git-notes.html b/08-git-misc/120-git-notes.html new file mode 100644 index 000000000..ad83992ef --- /dev/null +++ b/08-git-misc/120-git-notes.html @@ -0,0 +1,321 @@ + + + + + + + + + 8.2.5. Git评注 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

8.2.4. 嫁接和替换

+

下一个主题

+

9. 附录

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8.2.5. Git评注

+

从1.6.6版本开始,Git提供了一个git notes命令可以为提交添加评注,实现在不改变提交对象的情况下在提交说明的后面附加评注。图41-1展示了Github(https://github.com/ossxp-com/gitdemo-commit-tree/commit/6652a0dce6a5067732c00ef0a220810a7230655e)利用git notes实现的在提交显示界面中显示评注(如果存在的话)和添加评注的界面。

+
+../images/github-notes.png +

图41-1:Github上显示和添加评注

+
+
+

8.2.5.1. 评注的奥秘

+

实际上Git评注可以针对任何对象,而且评注的内容也不限于文字,因为评注的内容是保存在Git对象库中的一个blob对象中。不过评注目前最主要的应用还是在提交说明后添加文字评注。

+

在第2篇“第11.4.6节二分查找”中用到的gitdemo-commit-tree版本库实际上就包含了提交评注,只不过之前尚未将评注获取到本地版本库而已。如果工作区中的gitdemo-commit-tree版本库已经不存在,可以使用下面的命令从GitHub上再克隆一个:

+
$ git clone -q git://github.com/ossxp-com/gitdemo-commit-tree.git
+$ cd gitdemo-commit-tree
+
+
+

执行下面的命令,查看最后一次提交的提交说明:

+
$ git log -1
+commit 6652a0dce6a5067732c00ef0a220810a7230655e
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Dec 9 16:07:11 2010 +0800
+
+    Add Images for git treeview.
+
+    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
+
+
+

下面为默认的origin远程版本库再添加一个引用获取表达式,以便在执行git fetch命令时能够同步评注相关的引用。命令如下:

+
$ git config --add remote.origin.fetch refs/notes/*:refs/notes/*
+
+
+

执行git fetch会获取到一个新的引用refs/notes/commits,如下:

+
$ git fetch
+remote: Counting objects: 6, done.
+remote: Compressing objects: 100% (5/5), done.
+remote: Total 6 (delta 0), reused 0 (delta 0)
+Unpacking objects: 100% (6/6), done.
+From git://github.com/ossxp-com/gitdemo-commit-tree
+ * [new branch]      refs/notes/commits -> refs/notes/commits
+
+
+

当获取到新的评注相关的引用之后,再来查看最后一次提交的提交说明。下面的命令输出中提交说明的最后两行就是附加的提交评注。

+
$ git log -1
+commit 6652a0dce6a5067732c00ef0a220810a7230655e
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Thu Dec 9 16:07:11 2010 +0800
+
+    Add Images for git treeview.
+
+    Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
+
+Notes:
+    Bisect test: Bad commit, for doc/B.txt exists.
+
+
+

附加的提交评注来自于哪里呢?显然应该和刚刚获取到的引用相关。查看一下获取到的最新引用,会发现引用refs/notes/commits指向的是一个提交对象。

+
$ git show-ref refs/notes/commits
+6f01cdc59004892741119318ceb2330d6dc0cef1 refs/notes/commits
+$ git cat-file -t refs/notes/commits
+commit
+
+
+

既然新获取的评注引用是一个提交对象,那么就应该能够查看评注引用的提交日志:

+
$ git log --stat refs/notes/commits
+commit 6f01cdc59004892741119318ceb2330d6dc0cef1
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Feb 22 09:32:10 2011 +0800
+
+    Notes added by 'git notes add'
+
+ 6652a0dce6a5067732c00ef0a220810a7230655e |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 9771e1076d2218922acc9800f23d5e78d5894a9f
+Author: Jiang Xin <jiangxin@ossxp.com>
+Date:   Tue Feb 22 09:31:54 2011 +0800
+
+    Notes added by 'git notes add'
+
+ e80aa7481beda65ae00e35afc4bc4b171f9b0ebf |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+
+

从上面的评注引用的提交日志可以看出,存在两次提交,并且从提交说明可以看出是使用git notes add命令添加的。至于每次提交添加的文件却很让人困惑,所添加文件的文件名居然是40位的哈希值。

+

您当然可以通过git checkout -b命令检出该引用来研究其中所包含的文件,不过也可以运用我们已经学习到的Git命令直接对其进行研究。

+
    +
  • git show命令显示目录树。

    +
    $ git show -p refs/notes/commits^{tree}
    +tree refs/notes/commits^{tree}
    +
    +6652a0dce6a5067732c00ef0a220810a7230655e
    +e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +
    +
    +
  • +
  • git ls-tree命令查看文件大小及对应的blob对象的SHA1哈希值。

    +
    $ git ls-tree -l refs/notes/commits
    +100644 blob 80b1d249069959ce5d83d52ef7bd0507f774c2b0      47    6652a0dce6a5067732c00ef0a220810a7230655e
    +100644 blob e894f2164e77abf08d95d9bdad4cd51d00b47845      56    e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
    +
    +
    +
  • +
  • 文件名既然是一个40位的SHA1哈希值,那么文件名一定有意义,通过下面的命令可以看到文件名包含的40位哈希值实际对应于一个提交。

    +
    $ git cat-file -p 6652a0dce6a5067732c00ef0a220810a7230655e
    +tree e33be9e8e7ca5f887c7d5601054f2f510e6744b8
    +parent 81993234fc12a325d303eccea20f6fd629412712
    +author Jiang Xin <jiangxin@ossxp.com> 1291882031 +0800
    +committer Jiang Xin <jiangxin@ossxp.com> 1291882892 +0800
    +
    +Add Images for git treeview.
    +
    +Signed-off-by: Jiang Xin <jiangxin@ossxp.com>
    +
    +
    +
  • +
  • git cat-file命令查看该文件的内容,可以看到其内容就是附加在相应提交上的评注。

    +
    $ git cat-file -p refs/notes/commits:6652a0dce6a5067732c00ef0a220810a7230655e
    +Bisect test: Bad commit, for doc/B.txt exists.
    +
    +
    +
  • +
+

综上所述,评注记录在一个blob对象中,并且以所评注对象的SHA1哈希值命名。因为对象SHA1哈希值的唯一性,所以可以将评注都放在同一个文件系统下而不会相互覆盖。针对这个包含所有评注的特殊的文件系统的更改被提交到一个特殊的引用refs/notes/commits当中。

+
+
+

8.2.5.2. 评注相关命令

+

Git提供了git notes命令,对评注进行管理。如果执行git notes list或者像下面这样不带任何参数进行调用,会显示和上面git ls-tree类似的输出:

+
$ git notes
+80b1d249069959ce5d83d52ef7bd0507f774c2b0 6652a0dce6a5067732c00ef0a220810a7230655e
+e894f2164e77abf08d95d9bdad4cd51d00b47845 e80aa7481beda65ae00e35afc4bc4b171f9b0ebf
+
+
+

右边的一列是要评注的提交对象,而左边一列是附加在对应提交上的包含评注内容的blob对象。显示附加在某个提交上的评注可以使用git notes show命令。如下:

+
$ git notes show G^0
+Bisect test: Good commit, for doc/B.txt does not exist.
+
+
+

注意上面的命令中使用G^0而非G,是因为G是一个里程碑对象,而评注是建立在由里程碑对象所指向的一个提交对象上。

+

添加评注可以使用下面的git notes addgit notes append子命令:

+
用法1:git notes add [-f] [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
+用法2:git notes append [-F <file> | -m <msg> | (-c | -C) <object>] [<object>]
+
+
+

用法1是添加评注,而用法2是在已有评注后面追加。两者的命令行格式和git commit非常类似,可以用类似写提交说明的方法写提交评注。如果省略最后一个<object>参数,则意味着向头指针HEAD添加评注。子命令git notes add中的参数-f意味着强制添加,会覆盖对象已有的评注。

+

使用git notes copy子命令可以将一个对象的评注拷贝到另外一个对象上。

+
用法:git notes copy [-f] ( --stdin | <from-object> <to-object> )
+
+
+

修改评注可以使用下面的git notes edit子命令:

+
用法:git notes edit [<object>]
+
+
+

删除评注可以使用的git notes remote子命令,而git notes prune则可以清除已经不存在的对象上的评注。用法如下:

+
用法1:git notes remove [<object>]
+用法2:git notes prune [-n | -v]
+
+
+

评注以文件形式保存在特殊的引用中,如果该引用被共享并且同时有多人撰写评注时,有可能出现该引用的合并冲突。可以用git notes merge命令来解决合并冲突。评注引用也可以使用其他的引用名称,合并其他的评注引用也可以使用本命令。下面是git notes merge命令的语法格式,具体操作参见git help notes帮助。

+
用法1:git notes merge [-v | -q] [-s <strategy> ] <notes_ref>
+用法2:git notes merge --commit [-v | -q]
+用法3:git notes merge --abort [-v | -q]
+
+
+
+
+

8.2.5.3. 评注相关配置

+

默认提交评注保存在引用refs/notes/commits中,这个默认的设置可以通过core.notesRef配置变量修改。如须更改,要在core.notesRef配置变量中使用引用的全称而不能使用缩写。

+

在执行git log命令显示提交评注的时候,如果配置了notes. displayRef配置变量(可以使用通配符,并且可以配置多个),则在显示提交评注时,除了会参考core.notesRef设定的引用(或默认的refs/notes/commits引用)外,还会参考notes.displayRef指向的引用(一个或多个)来显示评注。

+

配置变量notes.rewriteRef用于配置哪个/哪些引用中的提交评注会随着提交的修改而复制到新的提交之上。这个配置变量可以使用多次,或者使用通配符,但该配置变量没有缺省值,因此为了使得提交评注能够随着提交的修改(修补提交、变基等)继续保持,必须对该配置变量进行设定。如:

+
$ git config --global notes.rewriteRef refs/notes/*
+
+
+

还有notes.rewrite.amendnotes.rewrite.rebase配置变量可以分别对两种提交修改模式(amend和rebase)是否启用评注复制进行设置,默认启用。配置变量notes.rewriteMode默认设置为concatenate,即提交评注复制到修改后的提交时,如果已有评注则对评注进行合并操作。

+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/08-git-misc/index.html b/08-git-misc/index.html new file mode 100644 index 000000000..1f15c2682 --- /dev/null +++ b/08-git-misc/index.html @@ -0,0 +1,178 @@ + + + + + + + + + 8. Git杂谈 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

7.4. 云存储

+

下一个主题

+

8.1. 跨平台操作Git

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

8. Git杂谈

+

Git有着非常庞杂的命令集和功能,到目前为止尚有一些命令及要点还没有介绍。在构思本书的过程中,我尝试用FreeMind软件将准备讲述的Git的各个命令和要点在各个章节之间拖动,以期在内容上更加充实,组织上更加合理,讲述上更加方便,但最终还是剩下了一些Git命令和要点没有被安排在前面的章节中。于是在本书的最后,对这些不常用的Git命令和要点(缺乏他们会对于一本被冠以“权威指南”的书的完备性有影响),放在称为“Git杂谈”的一遍予以讲述。

+

首先用一章的内容介绍跨平台项目在使用Git时的注意事项,包括字符集问题、文件名大小写问题、文本文件换行符问题。接下来的一章概要性的介绍本书到目前为止尚未涉猎到的Git话题和相关命令,如:属性、钩子、模板、稀疏检出、浅克隆及嫁接,还会介绍git replacegit notes等命令。

+

目录:

+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/90-app/010-git-commands-index.html b/90-app/010-git-commands-index.html new file mode 100644 index 000000000..4e46aff38 --- /dev/null +++ b/90-app/010-git-commands-index.html @@ -0,0 +1,1126 @@ + + + + + + + + + 9.1. A. Git命令索引 — GotGit + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

9.1. A. Git命令索引

+

每一个Git子命令都和特定目录下的一个名为git-<cmd>的文件相对应,也就是在这个特定目录下存在的名为git-<cmd>的可执行文件(有几个脚本文件被其他脚本包含提供相应的函数库,不能单独运行。如git-sh-setup)可以用命令git <cmd>执行。这个特定的目录的位置可以用下面的命令查看:

+
$ git --exec-path
+/usr/lib/git-core/
+
+
+

在这个目录下有150多个可执行文件,也就是说Git有非常多的子命令。在如此众多的子命令中,实际上常用的只有三分之一不到,其余的命令或者做为底层命令供其他命令及脚本调用,或者用于某些生僻场合,或者已经过时但出于兼容性的考虑而仍然健在。下面的表格分门别类的对所有Git命令做一概要性介绍,凡是在本书出现过的命令标以章节号和页码。

+
+

9.1.1. A.1 常用的Git命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git add4.1; 10.2.3; 10.6xxx; xxx; xxx添加至暂存区
git add–interactive10.6 交互式添加
git apply20.2 应用补丁
git am20.2 应用邮件格式补丁
git annotate--同义词,等同于 git blame
git archive10.9 文件归档打包
git bisect11.4.6 二分查找
git blame11.4.5 文件逐行追溯
git branch18.2 分支管理
git cat-file6.1 版本库对象研究工具
git checkout8.1; 18.4.2 检出到工作区、切换或创建分支
git cherry-pick12.3.1 提交拣选
git citool11.1 图形化提交,相当于 git gui 命令
git clean5.3 清除工作区未跟踪文件
git clone13.1; 41.3.2 克隆版本库
git commit4.1; 4.4; 5.4 提交
git config4.3 查询和修改配置
git describe17.1 通过里程碑直观地显示提交ID
git diff5.3 差异比较
git difftool--调用图形化差异比较工具
git fetch19.1 获取远程版本库的提交
git format-patch20.1 创建邮件格式的补丁文件。参见 git am 命令
git grep4.2 文件内容搜索定位工具
git gui11.1 基于Tcl/Tk的图形化工具,侧重提交等操作
git help3.1.2 帮助
git init4.1; 13.4 版本库初始化
git init-db*--同义词,等同于 git init
git log11.4.3 显示提交日志
git merge16.1 分支合并
git mergetool16.4.2 图形化冲突解决
git mv10.4 重命名
git pull13.1 拉回远程版本库的提交
git push13.1 推送至远程版本库
git rebase12.3.2 分支变基
git rebase–interactive12.3.3 交互式分支变基
git reflog7.2 分支等引用变更记录管理
git remote19.3 远程版本库管理
git repo-config*--同义词,等同于 git config
git reset7.1 重置改变分支“游标”指向
git rev-parse4.2; 11.4.1 将各种引用表示法转换为哈希值等
git revert12.5 反转提交
git rm10.2.2 删除文件
git show11.4.3 显示各种类型的对象
git stage*--同义词,等同于 git add
git stash9.2 保存和恢复进度
git status5.1 显示工作区文件状态
git tag17.1 里程碑管理
+
+
+

9.1.2. A.2 对象库操作相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git commit-tree12.4 从树对象创建提交
git hash-object41.4.2 从标准输入或文件计算哈希值或创建对象
git ls-files5.3; 18.4.2 显示工作区和暂存区文件
git ls-tree5.3 显示树对象包含的文件
git mktag--读取标准输入创建一个里程碑对象
git mktree--读取标准输入创建一个树对象
git read-tree24.2 读取树对象到暂存区
git update-index41.3.1 工作区内容注册到暂存区及暂存区管理
git unpack-file--创建临时文件包含指定 blob 的内容
git write-tree5.3 从暂存区创建一个树对象
+
+
+

9.1.3. A.3 引用操作相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git check-ref-format17.7 检查引用名称是否符合规范
git for-each-ref--引用迭代器,用于shell编程
git ls-remote13.4 显示远程版本库的引用
git name-rev17.1 将提交ID显示为友好名称
git peek-remote*--过时命令,请使用 git ls-remote
git rev-list11.4.2 显示版本范围
git show-branch--显示分支列表及拓扑关系
git show-ref14.1 显示本地引用
git symbolic-ref--显示或者设置符号引用
git update-ref--更新引用的指向
git verify-tag--校验 GPG 签名的Tag
+
+
+

9.1.4. A.4 版本库管理相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git count-objects--显示松散对象的数量和磁盘占用
git filter-branch35.4 版本库重构
git fsck14.2 对象库完整性检查
git fsck-objects*--同义词,等同于 git fsck
git gc14.4 版本库存储优化
git index-pack--从打包文件创建对应的索引文件
git lost-found*--过时,请使用 git fsck –lost-found 命令
git pack-objects--从标准输入读入对象ID,打包到文件
git pack-redundant--查找多余的 pack 文件
git pack-refs14.1 将引用打包到 .git/packed-refs 文件中
git prune14.2 从对象库删除过期对象
git prune-packed--将已经打包的松散对象删除
git relink--为本地版本库中相同的对象建立硬连接
git repack14.4 将版本库未打包的松散对象打包
git show-index14.1 读取包的索引文件,显示打包文件中的内容
git unpack-objects--从打包文件释放文件
git verify-pack--校验对象库打包文件
+
+
+

9.1.5. A.5 数据传输相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git fetch-pack15.1 执行 git fetch 或 git pull 命令时在本地执行此命令,用于从其他版本库获取缺失的对象
git receive-pack15.1 执行 git push 命令时在远程执行的命令,用于接受推送的数据
git send-pack15.1 执行 git push 命令时在本地执行的命令,用于向其他版本库推送数据
git upload-archive--执行 git archive –remote 命令基于远程版本库创建归档时,远程版本库执行此命令传送归档
git upload-pack15.1 执行 git fetch 或 git pull 命令时在远程执行此命令,将对象打包、上传
+
+
+

9.1.6. A.6 邮件相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git imap-send--将补丁通过 IMAP 发送
git mailinfo--从邮件导出提交说明和补丁
git mailsplit--将 mbox 或 Maildir 格式邮箱中邮件逐一提取为文件
git request-pull21.2.1 创建包含提交间差异和执行PULL操作地址的信息
git send-email20.1 发送邮件
+
+
+

9.1.7. A.7 协议相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git daemon28.2 实现Git协议
git http-backend27.2 实现HTTP协议的CGI程序,支持智能HTTP协议
git instaweb27.3.4 即时启动浏览器通过 gitweb 浏览当前版本库
git shell--受限制的shell,提供仅执行Git命令的SSH访问
git update-server-info15.1 更新哑协议需要的辅助文件
git http-fetch--通过HTTP协议获取版本库
git http-push--通过HTTP/DAV协议推送
git remote-ext--由Git命令调用,通过外部命令提供扩展协议支持
git remote-fd--由Git命令调用,使用文件描述符作为协议接口
git remote-ftp--由Git命令调用,提供对FTP协议的支持
git remote-ftps--由Git命令调用,提供对FTPS协议的支持
git remote-http--由Git命令调用,提供对HTTP协议的支持
git remote-https--由Git命令调用,提供对HTTPS协议的支持
git remote-testgit--协议扩展示例脚本
+
+
+

9.1.8. A.8 版本库转换和交互相关命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git archimport--导入Arch版本库到Git
git bundle--提交打包和解包,以便在不同版本库间传递
git cvsexportcommit--将Git的一个提交作为一个CVS检出
git cvsimport--导入CVS版本库到Git。或者使用 cvs2git
git cvsserver--Git的CVS协议模拟器,可供CVS命令访问Git版本库
git fast-export--将提交导出为 git-fast-import 格式
git fast-import35.3 其他版本库迁移至Git的通用工具
git svn26.1 Git 作为前端操作 Subversion
+
+
+

9.1.9. A.9 合并相关的辅助命令

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git merge-base11.4.2 供其他脚本调用,找到两个或多个提交最近的共同祖先
git merge-file--针对文件的两个不同版本执行三向文件合并
git merge-index--对index中的冲突文件调用指定的冲突解决工具
git merge-octopus--合并两个以上分支。参见 git merge 的octopus合并策略
git merge-one-file--由 git merge-index 调用的标准辅助程序
git merge-ours--合并使用本地版本,抛弃他人版本。参见 git merge 的ours合并策略
git merge-recursive--针对两个分支的三向合并。参见 git merge 的recursive合并策略
git merge-resolve--针对两个分支的三向合并。参见 git merge 的resolve合并策略
git merge-subtree--子树合并。参见 git merge 的 subtree 合并策略
git merge-tree--显式三向合并结果,不改变暂存区
git fmt-merge-msg--供执行合并操作的脚本调用,用于创建一个合并提交说明
git rerere--重用所记录的冲突解决方案
+
+
+

9.1.10. A.10 杂项

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
命令相关章节页数简要说明
git bisect–helper--由 git bisect 命令调用,确认二分查找进度
git check-attr41.1.2 显示某个文件是否设置了某个属性
git checkout-index--从暂存区拷贝文件至工作区
git cherry--查找没有合并到上游的提交
git diff-files--比较暂存区和工作区,相当于 git diff –raw
git diff-index--比较暂存区和版本库,相当于 git diff –cached –raw
git diff-tree--比较两个树对象,相当于 git diff –raw A B
git difftool–helper--由 git difftool 命令调用,默认要使用的差异比较工具
git get-tar-commit-id10.9 从 git archive 创建的 tar 包中提取提交ID
git gui–askpass--命令 git gui 的获取用户口令输入界面
git notes41.5 提交评论管理
git patch-id--补丁过滤行号和空白字符后生成补丁唯一ID
git quiltimport20.3.2 将Quilt补丁列表应用到当前分支
git replace41.4.2 提交替换
git shortlog--对 git log 的汇总输出,适合于产品发布说明
git stripspace--删除空行,供其他脚本调用
git submodule23.1 子模组管理
git tar-tree--过时命令,请使用 git archive
git var--显示 Git 环境变量
git web–browse--启动浏览器以查看目录或文件
git whatchanged--显示提交历史及每次提交的改动
git-mergetool–lib--包含于其他脚本中,提供合并/差异比较工具的选择和执行
git-parse-remote--包含于其他脚本中,提供操作远程版本库的函数
git-sh-setup--包含于其他脚本中,提供 shell 编程的函数库
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/90-app/020-cvs-git-face2face.html b/90-app/020-cvs-git-face2face.html new file mode 100644 index 000000000..e3cac8bb5 --- /dev/null +++ b/90-app/020-cvs-git-face2face.html @@ -0,0 +1,360 @@ + + + + + + + + + 9.2. Git与CVS面对面 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

9.1. A. Git命令索引

+

下一个主题

+

9.3. Git和SVN面对面

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

9.2. Git与CVS面对面

+
+

9.2.1. 面对面访谈录

+

Git:我的提交是原子提交。每次提交都对应于一个目录树(树对象)。因为我的提交ID是对目录树及相关的提交信息建立的一个SHA1哈希值,所以可以保证数据的完整性。

+

CVS:我承认这是我的软肋,一次错误或冲突的提交会导致部分数据被提交,而部分数据没有提交,版本库完整性被破坏,所以人们才设计出来Subversion(SVN)来取代我。

+

Git:我的分支和里程碑管理非常快捷。因为我的分支和里程碑就是一个记录提交ID的引用,你的呢?

+

CVS:你怎么又提到别人的痛处了!我的分支和里程碑创建速度还是很快的,...嗯...,如果在版本库中只有几个文件的话。当然如果版本库的文件的很多,创建分支、里程碑创建就需要花费更多的时间。有些人对此忍无可忍,于是设计出SVN来取代我。

+

Git:其实我不用里程碑都没有关系,因为每一个提交ID就对应于唯一的一个提交状态。

+

CVS:这也是我做不到的。我没有全局版本号的概念,每一个文件都通过单独的版本号记录其变更历史,所以人们在使用我的时候必须经常地用里程碑(tag)对我的状态进行标识。还需要提醒一句,如果版本库中文件太多,创建里程碑是很耗时的,因为要一一打开每一个版本库中的文件,在其中记录里程碑和文件版本的关系。

+

Git:我的工作区很干净。只在工作区的根目录下有一个:file:`.git`目录,此外再无其他辅助目录或文件。

+

CVS:我要在工作区的每一个目录下都放置一个CVS目录,这个目录下有个Entries文件很重要,记录了对应工作区文件的检出版本以及时间戳等信息。这样做的好处是可以将工作区移动到任何其他磁盘和目录,依然可以使用,甚至我可以将工作区的一个子目录拿出来,作为独立的工作区。

+

Git:我也可以将工作区移动到其他磁盘,但是要保证工作区下的:file:`.git`目录和工作区一同移动。也不可以只移动工作区下的一个目录到其他磁盘或目录,那样的话移出的目录就不能工作了。

+

Git:我的网络传输效率很高。在和其他版本库交互时,对方会告诉我他有什么,我也知道我有什么,因为只对缺失对象的打包传输,所以效率很高而且能够显示传输进度。

+

CVS:这一点我不行。因为我本地没有文件做对照,所以我在传输的时候不可能做到增量传输。

+

Git:我甚至可以不需要网络,因为我在本地拥有完整的版本库,几乎所有操作都是在本地完成。

+

CVS:我的操作处处需要网络,如果版本库是在网络中其他服务器上的话。如果网速比较慢,查看日志、查看历史版本都需要花费很长时间等待。

+

CVS:你怎么没有更新(update)命令?还有你为什么老是要执行检出命令(checkout)?对我而言,检出命令只在工作区创建时一次完成的。

+

Git:你的检出命令(checkout)是从远程版本库服务器获取数据完成本地工作区的创建,版本库仍然位于远程的服务器上。你的更新(update)命令执行的很慢对么?之所以你需要执行更新命令是因为你的版本库在远程啊。别忘了我的版本库是在本地,我的每一步操作工作区和版本库都是同步的,所以更新操作就没有存在的必要了。而我的检出(checkout)操作是将本地版本库的数据检出到本地工作区,用于恢复本地丢失的文件或错误改动的文件,也用于切换不同的分支。我也有一个和你的更新(update)操作类似的比较耗时的网络操作命令叫做:command:`git fetch`或:command:`git pull`,这两个操作是从别人的版本库获取他人改动。一般使用我(Git)做团队协作的时候,会部署一个集中共享的版本库,我就用这两个命令(:command:`git fetch`或:command:`git pull`)从共享的版本库执行拉回操作。也也许你(CVS)会觉得:command:`git fetch`或者:command:`git pull`和你的:command:`cvs update`命令更像吧。至于你的检出命令(:command:`cvs checkout`),实际上和我克隆命令(:command:`git clone`)很相似,只不过我的克隆命令不但创建了本地工作区,而且在本地还复制了和远程版本库一样的本地版本库。

+

CVS:为什么你的检入命令(commit)命令执行的那么快?

+

Git:是的,我的检入命令飞一般就执行完了,也是因为版本库就在本地。也许你(CVS)会觉得我的推送命令(:command:`git push`)和你的检入命令(:command:`cvs commit`)更相像,其实这是一个误会。如果我不做本地提交,是不能通过推送命令(:command:`git push`)将我的本地的提交共享给(推送给)其他版本库的。你(CVS)每一次提交都要和版本库进行网络通讯,而我可以在本地版本库进行多次提交,直到我的主人想喝咖啡了才执行一次:command:`git push`,将我本地版本库中新的提交推送给远程版本库。

+

CVS:我每一个文件都一个独立的版本号,你有么?

+

Git:每一个文件一个版本号?这有什么值得夸耀的?我听说你最早是用脚本对RCS系统进行封装实现的,所以你每个文件都有一个独立的版本控制,这让你变得很零碎。我听说某些商业版本控制系统也是这样,真糟糕。我的每一次提交都有一个全球唯一的版本号,这样不但是在本地版本库中是唯一的,和其他人的版本库也不会有冲突。

+

CVS:我能一次检出一个目录,你好像不能吧?

+

Git:所以我有子模组,以及repo等第三方工具,可以帮助我把一个大的版本库拆开多个版本库组合来使用啊。

+

CVS:我能添加空目录,你好像不能吧!

+

Git:是的,我现在还不能记录空目录。但是用户可以在空目录下创建一个隐含文件,并将该隐含文件添加到版本库中,也就实现了空目录添加的功能。你,CVS,目录管理是你的软肋,你很难实现目录的重命名,而目录重命名对我来说是小菜一碟。

+
+
+

9.2.2. CVS和Git命令对照

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
比较项目CVS命令Git命令
URL:pserver:user@host:/path/to/cvsrootgit://host/path/to/repos.git
/path/to/cvsrootssh://user@host/path/to/repos.git
 user@host:path/to/repos.git
 file:///path/to/repos.git
 /path/to/repos.git
版本库初始化cvs -d <path> initgit init [–bare] <path>
导入数据cvs -d <url> import -m ...git clone; git add .; git commit
版本库检出cvs -d <url> checkout [-d <path>] <module>git clone <url> <path>
版本库分支检出cvs -d <url> checkout -r <branch> <module>git clone -b <branch> <url>
工作区更新cvs updategit pull
更新至历史版本cvs update -r <rev>git checkout <commit>
更新到指定日期cvs update -D <date>git checkout HEAD@’{<date>}’
更新至最新提交cvs update -Agit checkout master
切换至里程碑cvs update -r <tag>git checkout <tag>
切换至分支cvs update -r <branch>git checkout <branch>
还原文件/强制覆盖cvs up -C <path>git checkout – <path>
添加文件cvs add <TextFile>git add <TextFile>
添加文件(二进制)cvs add -kb <BinaryFile>git add <BinaryFile>
删除文件cvs remove -f <path>git rm <path>
移动文件mv <old> <new>; cvs rm <old>; cvs add <new>git mv <old> <new>
反删除文件cvs add <path>git add <path>
工作区差异比较cvs diff -ugit diff
git diff –cached
git diff HEAD
版本间差异比较cvs diff -u -r <rev1> -r <rev2> <path>git diff <commit1> <commit2> – <path>
查看工作区状态cvs -n upgit status
提交cvs commit -m “<msg>”git commit -a -m “<msg>” ; git push
显示提交日志cvs log <path> | lessgit log
逐行追溯cvs annotategit blame
显示里程碑/分支cvs status -vgit tag
git branch
git show-ref
创建里程碑cvs tag [-r <rev>] <tagname> .git tag [-m “<msg>”] <tagname> [<commit>]
删除里程碑cvs rtag -d <tagname>git tag -d <tagname>
创建分支cvs rtag -b -r <rev> -b <branch> <module>git branch <branch> <commit>
git checkout -b <branch> <commit>
删除分支cvs rtag -d <branch>git branch -d <branch>
导出项目文件cvs -d <url> export -r <tag> <module>git archive -o <output.tar> <tag> <path>
git archive -o <output.tar> –remote=<url> <tag> <path>
分支合并cvs update [-j <start>] -j <end>; cvs commitgit merge <branch>
显示文件列表cvs lsgit ls-files
cvs -d <url> rls -r <rev>git ls-tree <commit>
更改提交说明cvs admin -m <rev>:<msg> <path>git commit –amend
撤消提交cvs admin -o <range> <path>git reset [ –soft | –hard ] HEAD^
杂项.cvsignore 文件.gitignore 文件
参数 -kb 设置二进制模式-text 属性
参数 -kv 开启关键字扩展export-subst 属性
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/90-app/030-svn-git-face2face.html b/90-app/030-svn-git-face2face.html new file mode 100644 index 000000000..c71884114 --- /dev/null +++ b/90-app/030-svn-git-face2face.html @@ -0,0 +1,399 @@ + + + + + + + + + 9.3. Git和SVN面对面 — GotGit + + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

9.2. Git与CVS面对面

+

下一个主题

+

9.4. Git和Hg面对面

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

9.3. Git和SVN面对面

+
+

9.3.1. 面对面访谈录

+

Git:我的提交历史本身就是一幅美丽的图画——DAG(Directed Acylic Graph,有向非环图),可以看到各个分支之间的合并关系。而你SVN,你的提交历史怎么是一条直线呢?要是在重症监护室看到你,还以为你挂掉了呢?

+

SVN:我觉得挺好,至少我每次提交会有一个全局的版本号,而且我的版本号是递增的。你的版本号不是递增的吧!

+

Git:你说的对,我的版本号不是一个简单递增的数字,而是一个长达40位的十六进制数字(哈希值),但是可以使用短格式,只要不冲突。虽然我的提交编号看起来似乎是无序的,但实际上我每一个提交都记录了父提交甚至是双亲或多亲提交,因此可以很容易的从任意一个提交开始建立一条指向历史提交的跟踪链。

+

SVN:是啊,我的一个提交和前一个提交有时根本没有关系,例如一个提交是发生在主线/trunk中的,下一个提交可能就发生在/branches/1.3.x分支中。你要知道要想画出一个像你那样的分支图,我要做多少工作么?我不容易呀。

+

Git:我一直很奇怪,你的分支和里程碑怎么看起来和目录一样?我的分支和里程碑名字虽然看起来像是目录,实际上和工作区的目录完全没有关系,只是对提交ID的一个记号而已。

+

SVN:我一开始觉得我用轻量级拷贝的方式实现分支和里程碑会很酷,也很快。但是我发现很多人在使用我的时候,直接在版本库的根目录下创建文件而不是把文件创建在/trunk目录下,这就导致这些人无法再创建分支和里程碑了,因为是无法将根目录拷贝到子目录的呀!

+

Git:那么你是如何对分支合并进行跟踪的呢?我因为有了DAG的提交关系图,是很容易看出来分支之间的合并历史,但是你是怎么做到的呢?

+

SVN:我用了一点小技巧,就是通过属性(svn:mergeinfo)记录了合并的分支名和版本范围,这样再合并的时候,我会根据相关属性确定是否要合并。但是如果经常在子目录下合并,有太多的svn:mergeinfo属性等待我检查,我会很困扰 。还有我的这个功能是在1.5以后版本才提供的,因此老版本会破坏这个机制。

+

SVN:对了,我的属性能干很多事哦,我甚至可以把我的照片作为属性附加在文件上。

+

Git:这点我承认,你的属性非常强大。其实我也支持属性,只不过实现方式不同罢了。而且我可以通过评注的方式为任意对象(提交、文件、里程碑等)添加评注,也可以实现把照片做为评注附加在文件上,可是这个功能有什么实际用处么?

+

SVN:我有轻量级拷贝,而我的分支和里程碑就是通过拷贝实现的,很强大哦。

+

Git:我根本就不需要轻量级拷贝,因为我对文件的保存是和文件路径无关的,我只关心内容。所以相同内容的文件无论它们的文件名相差有多大,在我这里只保存一份。而你SVN,如果用户忘了用轻量级拷贝,版本库是不是负担很重啊。

+

SVN:听说你不能针对目录授权,这可是我的强项,所以公司无论大小都在用我作为版本控制系统。

+

Git:不要说你的授权了,简直是一团糟。虽然这本书的作者为你写了一个图形化的授权管理工具(http://www.ossxp.com/doc/pysvnmanager/user-guide/user-guide.html)会有所改善,但是你糟糕的分支和里程碑的实现,会导致授权在新的分支和里程碑中要一一设置,工作量其大无比。虽然泛路径授权是一个解决方案,但是官方并没有提供啊。

+

Git:说说我的授权吧。如果你认真的读过本书服务器架设的相关章节,你会为我能够提供的按照分支,以及按照路径进行写操作授权而击掌叫好的。当然我的读操作授权还不能做到很精细,但是可以将版本库拆分成若干小的版本库啊,再用参照本书介绍的各种多版本库协同模式,会找到一个适合的解决方案的啊。

+

Git:我的工作区很干净。只在工作区的根目录下有一个:file:`.git`目录,此外再无其他。

+

SVN:我要在工作区的每一个目录下都放置一个.svn目录,这个目录在Linux下可是隐藏的哦。这个目录下不但有跟踪工作区文件状态的跟踪文件,而且还有每一个文件的原始拷贝呢。这样有的操作就可以脱离网络执行了,例如:差异比较,工作区文件的回滚。

+

Git:嗯,你要是像我一样再保存多一点内容(整个版本库)就更好了。像你这样在每个工作区子目录下都有一个:file:`.svn`目录,而且每个:file:`.svn`目录下都有文件原始拷贝,在进行内容搜索的时候会搜索出来两份吧,太干扰了。而且你这么做和CVS一样有安全风险,造成本地文件名的信息泄漏,千万不要在Web服务器上用SVN检出哦。

+

Git:我的操作可以不需要网络。因为我在本地拥有完整的版本库,几乎所有操作都是在本地完成。

+

SVN:正如前面说到的,我有部分命令可以不需要网络,但是其他绝大多数命令还是要依赖网络的。

+

SVN:你怎么没有更新(update)命令?还有你为什么老是要执行检出命令(checkout)?对我而言,检出命令只在工作区创建时一次完成的。

+

Git:你的这个问题怎么和CVS问的一样。你的更新(update)命令执行的很慢对么?首先你要用检出命令(checkout)建立工作区,然后你要经常的执行更新(update)命令进行更新,否则容易造成你的更改和他人更改发生冲突。

+

Git:之所以你需要更新是因为你的版本库在远程啊。别忘了我的版本库是在本地,我的每一步操作工作区和版本库都是同步的,所以更新操作就没有存在的必要了。而我的检出(checkout)操作一般是用户切换分支,或者从本地版本库检出丢失的文件或覆盖本地错误改动的文件时用到。如果我没记错的话,你切换分支用的是:command:`svn switch`命令对么?

+

Git:实际上我也有一个比较耗时的网络操作命令叫做:command:`git fetch`或:command:`git pull`,这两个操作是从远程版本库获取他人改动。一般使用我(Git)做团队协作的时候,会部署一个集中共享的版本库,我就从这个共享的版本库执行拉回操作。也也许你(SVN)会觉得:command:`git fetch`或:command:`git pull`和你的:command:`svn update`命令更像吧。至于你的检出命令(:command:`svn checkout`),实际上和我克隆命令(:command:`git clone`)很相似,只不过我的克隆命令不但创建了本地工作区,而且在本地还复制了和远程版本库一样的本地版本库。

+

SVN:为什么你的检入命令(commit)命令执行的那么快?

+

Git:是的,我的检入命令飞一般就执行完了,也是因为版本库就在本地。也许你(SVN)会觉得我的推送命令(:command:`git push`)和你的检入命令(:command:`svn commit`)更相像,其实这是一个误会。如果我不做本地提交,是不能通过推送命令(:command:`git push`)将我的本地的提交共享给(推送给)其他版本库的。你(SVN)每一次提交都要和版本库进行网络通讯,而我可以在本地版本库进行多次提交,直到我的主人想喝咖啡了才执行一次:command:`git push`,将我本地版本库中新的提交推送给远程版本库。

+

SVN:我能一次检出一个目录,你好像不能吧?

+

Git:所以我有子模组,以及repo等第三方工具,可以帮助我把一个大的版本库拆开多个版本库组合来使用啊。

+

SVN:我能添加空目录,你好像不能吧!

+

Git:是的,我现在还不能记录空目录,但是用户往往在空目录下创建一个隐含文件,并将该隐含文件添加到版本库中,也就实现了空目录添加的功能。

+
+
+

9.3.2. SVN和Git命令对照

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
比较项目SVN命令Git命令
URLsvn://host/path/to/reposgit://host/path/to/repos.git
https://host/path/to/reposssh://user@host/path/to/repos.git
file:///path/to/reposuser@host:path/to/repos.git
 file:///path/to/repos.git
 /path/to/repos.git
版本库初始化svnadmin create <path>git init [–bare] <path>
导入数据svn import <path> <url> -m ...git clone; git add .; git commit
版本库检出svn checkout <url/of/trunk> <path>git clone <url> <path>
版本库分支检出svn checkout <url/of/branches/name> <path>git clone -b <branch> <url> <path>
工作区更新svn updategit pull
更新至历史版本svn update -r <rev>git checkout <commit>
更新到指定日期svn update -r {<date>}git checkout HEAD@’{<date>}’
更新至最新提交svn update -r HEADgit checkout master
切换至里程碑svn switch <url/of/tags/name>git checkout <tag>
切换至分支svn switch <url/of/branches/name>git checkout <branch>
还原文件/强制覆盖svn revert <path>git checkout – <path>
添加文件svn add <path>git add <path>
删除文件svn rm <path>git rm <path>
移动文件svn mv <old> <new>git mv <old> <new>
清除未跟踪文件svn status | sed -e “s/^?//” | xargs rmgit clean
清除工作锁定svn clean-
获取文件历史版本svn cat -r<rev> <url/of/file>@<rev> > <output>git show <commit>:<path> > <output>
反删除文件svn cp -r<rev> <url/of/file>@<rev> <path>git add <path>
工作区差异比较svn diffgit diff
git diff –cached
git diff HEAD
版本间差异比较svn diff -r <rev1>:<rev2> <path>git diff <commit1> <commit2> – <path>
查看工作区状态svn statusgit status -s
提交svn commit -m “<msg>”git commit -a -m “<msg>” ; git push
显示提交日志svn log | lessgit log
逐行追溯svn blamegit blame
显示里程碑/分支svn ls <url/of/tags/>git tag
svn ls <url/of/branches/>git branch
 git show-ref
创建里程碑svn cp <url/of/trunk/> <url/of/tags/name>git tag [-m “<msg>”] <tagname> [<commit>]
删除里程碑svn rm <url/of/tags/name>git tag -d <tagname>
创建分支svn cp <url/of/trunk/> <url/of/branches/name>git branch <branch> <commit>
git checkout -b <branch> <commit>
删除分支svn rm <url/of/branches/name>git branch -d <branch>
导出项目文件svn export -r <rev> <path> <output/path>git archive -o <output.tar> <commit>
svn export -r <rev> <url> <output/path>git archive -o <output.tar> –remote=<url> <commit>
反转提交svn merge -c -<rev>git revert <commit>
提交拣选svn merge -c <rev>git cherry-pick <commit>
分支合并svn merge <url/of/branch>git merge <branch>
冲突解决svn resolve –accept=<ARG> <path>git mergetool
svn resolved <path>git add <path>
显示文件列表svn lsgit ls-files
svn ls <url> -r <rev>git ls-tree <commit>
更改提交说明svn ps –revprop -r<rev> svn:log “<msg>”git commit –amend
撤消提交svnadmin dump、svnadmin load 及 svndumpfiltergit reset [ –soft | –hard ] HEAD^
属性svn:ignore.gitignore 文件
svn:mime-typetext 属性
svn:eol-styleeol 属性
svn:externalsgit submodule 命令
svn:keywordsexport-subst 属性
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/90-app/040-hg-git-face2face.html b/90-app/040-hg-git-face2face.html new file mode 100644 index 000000000..2cc52aa17 --- /dev/null +++ b/90-app/040-hg-git-face2face.html @@ -0,0 +1,426 @@ + + + + + + + + + 9.4. Git和Hg面对面 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

內容目录

+ + +

上一个主题

+

9.3. Git和SVN面对面

+

本页

+ + + +
+
+ +
+
+
+
+ +
+

9.4. Git和Hg面对面

+
+

9.4.1. 面对面访谈录

+

Git:你好Hg,我发现我们真的很像。

+

Hg:是啊,人们把我们都归类为分布式版本控制工具,所以我们之间的相似度,要比和CVS、SVN的相似度高的多了。

+

Hg:我是用Python和少部分的C语言实现的,你呢?

+

Git:我的核心当然使用C语言了,因为Linus Torvalds最爱用C语言了。我的很多命令还使用了Shell脚本和Perl语言开发,Python用的很少。

+

Hg:大量的使用C语言,是你的性能比我高的原因么?

+

Git:当然不是了,你不也在核心模块使用C语言了么?问题的关键在于我的对象库设计的非常优秀。你不要忘了我是谁发明的,可是大名鼎鼎的Linux之父Linus Tolvars,他对Linux文件系统可是再熟悉不过的了,所以他能够以文件系统开发者的视角实现我的核心。

+

Git:还有我在网络传输过程中非常的直观,可以看到实时的进度显示,这也是你所没有的。

+

Hg:是啊,非常的惭愧。当克隆一个比较大的Hg版本库时,会出现假死状态,用户不知道克隆操作的进展。对了,你为什么能够实现实时的进度显示呢?

+

Git:之所以我能够有这样的实现,是因为我使用了“智能协议”。在网络传输的各自一端都启用了相应的辅助程序,实现差异传输及传输进度的计算和显示。

+

Hg:我有一个特点是SVN用户非常喜欢的,就是我的顺序数字版本号。

+

Git:你的顺序数字版本号只是在本地版本库中有效的。也就是说,你不能像SVN那样将顺序数字版本号作为项目本身的版本号,因为换做另外的一个版本库克隆,那个数字版本号就会不一样了。

+

Hg:我觉得你的暂存区(stage)的概念太古怪了。我提交的时候,改动的文件会直接提交而不需要什么注册到暂存区的操作。

+

Git:让读者来作评判吧。如果读者读过本书的第2篇,一定会说Git的暂存区帅呆了。

+

Hg:我只允许用户对最近的一次提交进行回滚撤销,而你(Git)怎么能允许用户撤销任意多次历史提交呢?那样安全么?

+

Git:这就是的我对象库和引用设计的强大之处,我可以使用:command:`git reset`命令将工作分支进行任意的重置,丢弃任意多的历史。至于安全性,我的重置命令有一个保险,就是reflog,我随时可以参照reflog的记录来弥补错误的重置。

+

Hg:我们的revert命令好像不同?

+

Git:你Hg的:command:`hg revert`命令和SVN的:command:`svn revert`命令相似,是取消本地修改,用原始拷贝覆盖。你的这个操作在我这里是用:command:`git checkout`命令实现的。我也有一个:command:`git revert`命令,但是这个命令是针对某个历史提交进行反向操作,以取消该历史提交的改动的。

+

Hg:我执行日志查看能够看到文本显示的分支图,你呢?

+

Git:我需要在日志显示时添加参数,即用命令:command:`git log –graph`。我支持通过建立别名实现简洁的调用,例如建立一个名为glog的别名。

+

Git:我听说你Hg不支持分支?

+

Hg:坦白的说,是的。我虽然也有分支命令,但是分支不是一个独立显示的提交空间,而是各个分支都显示在一起,相当于在版本库中同时拥有多个头,选择哪个分支就相当于把帽子戴在哪个头上面而已。所以我尽量要求我的用户使用克隆来当做分支。

+

Git:这也就是为什么使用Hg作为项目的版本控制工具,要为每一个分支创建一个单独的版本库的原因吧。实际上我的每一个克隆的版本库也相当于独立的分支,但是因为我有强大的分支功能,因此很多用户还没有意识到。使用Topgit的用户就应该使用版本库克隆做为Topgit本身的分支管理。

+

Git:还有,因为我对分支的完整支持,使得我可以和SVN很好的协同工作。我可以将整个SVN转换为本地的Git库,但是你Hg,显然只能每次转换一个分支。

+

Hg:是的,我要向你多学习。

+
+
+

9.4.2. Hg和Git命令对照

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
比较项目Hg命令Git命令
URLhttp://host/path/to/reposgit://host/path/to/repos.git
ssh://user@host/path/to/reposssh://user@host/path/to/repos.git
file:///path/to/reposuser@host:path/to/repos.git
/path/to/reposfile:///path/to/repos.git
 /path/to/repos.git
配置
[ui]
+username = Firstname Lastname <mail@addr>
+
+
+
[user]
+    name = Firstname Lastname
+    email = mail@addr
+
+
+
版本库初始化hg init <path>git init [–bare] <path>
版本库克隆hg clone <url> <path>git clone <url> <path>
获取版本库更新hg pull –updategit pull
更新至历史版本hg update -r <rev>git checkout <commit>
更新到指定日期hg update -d <date>git checkout HEAD@’{<date>}’
更新至最新提交hg updategit checkout master
切换至里程碑hg update -r <tag>git checkout <tag>
切换至分支hg update -r <branch>git checkout <branch>
还原文件/强制覆盖hg update -C <path>git checkout – <path>
添加文件hg add <path>git add <path>
删除文件hg rm <path>git rm <path>
添加及删除文件hg addremovegit add -A
移动文件hg mv <old> <new>git mv <old> <new>
撤消添加、删除等操作hg revert <path>git reset – <path>
清除未跟踪文件hg cleangit clean -fd
获取文件历史版本hg cat -r<rev> <path> > <output>git show <commit>:<path> > <output>
反删除文件hg add <path>git add <path>
工作区差异比较hg diffgit diff
git diff –cached
git diff HEAD
版本间差异比较hg diff -r <rev1> -r <rev2> <path>git diff <commit1> <commit2> – <path>
查看工作区状态hg statusgit status -s
提交hg commit -m “<msg>”git commit -a -m “<msg>”
推送提交hg pushgit push
显示提交日志hg log | lessgit log
hg glog | lessgit log –graph
逐行追溯hg annotategit annotate, git blame
显示里程碑/分支hg tagsgit tag
hg branchesgit branch
hg headsgit show-ref
创建里程碑hg tag [-m “<msg>”] [-r <rev>] <tagname>git tag [-m “<msg>”] <tagname> [<commit>]
删除里程碑hg tag –remove <tagname>git tag -d <tagname>
创建分支hg branch <branch>git branch <branch> <commit>
git checkout -b <branch> <commit>
删除分支hg commit –close-branchgit branch -d <branch>
导出项目文件hg archive -r <rev> <output.tar.gz>git archive -o <output.tar> <commit>
git archive -o <output.tar> –remote=<url> <commit>
反转提交hg backout <rev>git revert <commit>
提交拣选-git cherry-pick <commit>
分支合并hg merge <rev>git merge <commit>
变基hg rebasegit rebase
冲突解决hg resolve –tool=<tool>git mergetool
hg resolve -m <path>git add <path>
更改提交说明Hg + MQgit commit –amend
撤消最后一次提交hg rollbackgit reset [ –soft | –hard ] HEAD^
撤消多次提交Hg + MQgit reset [ –soft | –hard ] HEAD~<n>
撤消历史提交Hg + MQgit rebase -i <commit>^
启动Web浏览hg servegit instaweb
二分查找hg bisectgit bisect
内容搜索hg grepgit grep
提交导出补丁文件hg exportgit format-patch
工作区根目录hg rootgit rev-parse –show-toplevel
杂项.hgignore 文件.gitignore 文件
pager 扩展内置分页器
color 扩展color.* 配置变量
mq 扩展StGit, Topgit
graphlog 扩展git log –graph
hgk 扩展gitk
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/90-app/index.html b/90-app/index.html new file mode 100644 index 000000000..2223d3ecd --- /dev/null +++ b/90-app/index.html @@ -0,0 +1,168 @@ + + + + + + + + + 9. 附录 — GotGit + + + + + + + + + + + + + + + + + + + + +
+
+

上一个主题

+

8.2.5. Git评注

+

下一个主题

+

9.1. A. Git命令索引

+

本页

+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 550bedc54..000000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The errata, screencasting and other resources for the book [GotGit](http://gotgit.github.com/gotgit/), -a book on Git in Chinese. - -The book 'GotGit' (ISBN 978-7-111-34967-9) is written by [Jiang Xin](http://weibo.com/gotgit/) -and published by China Machine Press at Jun 2011. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 3cc7eb446..000000000 --- a/Rakefile +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/ruby -# -*- coding: UTF-8 -*- - -require 'fileutils' -require 'erb' -require 'rubygems' - -ABS_CSS_FILE = File.expand_path('html/inc/tty.css') -ABS_JS_PROTOTYPE_FILE = File.expand_path('html/inc/prototype.js') -ABS_JS_SHOWTTY_FILE = File.expand_path('html/inc/showtty.js') -ABS_CSS_COMMON_FILE = File.expand_path('html/inc/common.css') -TTYPLAY_TMPL = File.expand_path('html/templates/ttyplay.erb') -SCAST_TMPL = File.expand_path('html/templates/scast.erb') -SCAST_HTML = File.expand_path('screencast.html') - -class ArgsBinding - def initialize(args) - args.keys.each do |key| - eval("@%s=%s" % [key, args[key].inspect]) - end - end - def get_binding - return binding() - end -end - -def strip_common_dir(path1, path2) - if path1+"\t"+path2 =~ %r{^(.*/)(.*?)\t\1(.*)$} - path1, path2 = $2, $3 - end - return path1, path2 -end - -def rel_path(path1, path2) - path1, path2 = strip_common_dir path1, path2 - return ('../' * path1.count('/')) + path2 -end - -def rel_path_dir(dir1, dir2) - dir1 += '/' if dir1[-1,1] != '/' - dir2 += '/' if dir2[-1,1] != '/' - return rel_path dir1, dir2 -end - -rule( /\.json$/ => [ - proc {|tn| tn.sub(/\.[^.]+$/, '.ttyrec').sub(/^html\//, 'ttyrec/') } -]) do |t| - abs_source = File.expand_path(t.source) - abs_name = File.expand_path(t.name) - FileUtils.makedirs File.dirname abs_name - puts "parse #{abs_source}" - sh "(cd jsttyplay; rm -f #{abs_name}; perl preprocess.pl --size 80x25 #{abs_source} #{abs_name})" -end - -FileList["ttyrec/**/*.ttyrec"].each do |t| - json = 'html/' + t.sub(/^ttyrec\//, '').sub(/\.[^.]+$/, '.json') - task :json => json -end - -desc 'compile ttyrec files to json files' -task :json - -desc 'create index.html and other html files for ttyplay.' -task :html => [:html_chunks, :html_screencast, "demo.md" ] - -desc 'build site using jekyll.' -task :jekyll do - sh "jekyll" -end - -task :html_chunks do - FileList["html/**/*.json"].each do |t| - title = File.basename(t).sub(/\.[^.]+$/, '') - output_file = File.expand_path(t.sub(/\.[^.]+$/, '.html')) - json_file = rel_path(output_file, File.expand_path(t)) - css_files = [ rel_path(output_file, ABS_CSS_FILE), - rel_path(output_file, ABS_CSS_COMMON_FILE) ] - js_files = [ rel_path(output_file, ABS_JS_PROTOTYPE_FILE), - rel_path(output_file, ABS_JS_SHOWTTY_FILE) ] - unless uptodate?(output_file, TTYPLAY_TMPL) - File.open(output_file, "w") do |file| - template = ERB.new(File.read(TTYPLAY_TMPL)) - file.puts template.result(binding) - end - end - end -end - -task :html_screencast => [:html_chunks] do - output_file = SCAST_HTML - ttyrec_list = {} - css_files = [rel_path(output_file, ABS_CSS_COMMON_FILE)] - compile_time = Time.now.strftime("%Y/%m/%d %H:%M:%S") - version = %x[git describe --tags --always].strip.gsub(/^v/, '') - FileList["html/**/*.json"].each do |t| - title = File.basename(t).sub(/\.[^.]+$/, '') - part = t.sub(/.*\/part([0-9]+)\/.*$/, '\1') - part = 'others' unless part =~ /^[0-9]+$/ - html_file = rel_path(output_file, File.expand_path(t.sub(/\.[^.]+$/, '.html'))) - ttyrec_list[part] = [] unless ttyrec_list.member?(part) - ttyrec_list[part].push( { 'title' => title, 'html' => html_file } ) - end - unless uptodate?(output_file, SCAST_TMPL) - File.open(output_file, "w") do |file| - template = ERB.new(File.read(SCAST_TMPL)) - file.puts template.result(binding) - end - end -end - -file "demo.md" => "bookstore.md" do |t| - sh "sed -e '/^javascripts/ d' < #{t.prerequisites} > #{t.name}" -end - -def mkd2html args - begin - require 'redcarpet' - rescue Exception - $stderr.puts "" - $stderr.puts "Error: redcarpet not found! Install redcarpet using:" - $stderr.puts " gem install redcarpet" - $stderr.puts "" - exit 1 - end - if not args.key? :source or not args.key? :template or not args.key? :output or not args.key? :title - raise "Incomplete arguments for mkd2html" - end - args[:subtitle] = '' if not args.key? :subtitle - args[:compile_time] = Time.now.strftime("%Y/%m/%d %H:%M:%S") if not args.key? :compile_time - args[:version] = %x[git describe --tags --always].strip.gsub(/^v/, '') if not args.key? :version - args[:css_files] = [rel_path(args[:output], ABS_CSS_COMMON_FILE)] - args[:js_files] = [] - if args.key? :extra_css - args[:extra_css].each do |f| - if f =~ /http:\/\// - args[:css_files] << f - else - args[:css_files] << rel_path(args[:output], File.expand_path(f)) - end - end - end - if args.key? :extra_js - args[:extra_js].each do |f| - if f =~ /http:\/\// - args[:js_files] << f - else - args[:js_files] << rel_path(args[:output], File.expand_path(f)) - end - end - end - args[:markdown] = Redcarpet.new(File.open(args[:source]).read, :tables).to_html - File.open(args[:output], "w") do |file| - template = ERB.new(File.read(args[:template])) - file.puts template.result(ArgsBinding.new(args).get_binding) - end - puts "built %s from %s" % [args[:output], args[:source]] -end - -desc 'clean *.json and *.html files' -task :clean => [:clean_json, :clean_html] - -task :clean_json do - FileList["html/**/*.json"].each do |t| - File.unlink t - end -end - -task :clean_html do - FileList["html/**/*.html"].each do |t| - File.unlink t - end -end - -task :default => [:json, :html, :jekyll] diff --git a/_config.yml b/_config.yml deleted file mode 100644 index 6d67c09ed..000000000 --- a/_config.yml +++ /dev/null @@ -1,2 +0,0 @@ -markdown: rdiscount -pygments: true diff --git a/_layouts/master.html b/_layouts/master.html deleted file mode 100644 index bf6fa40d8..000000000 --- a/_layouts/master.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - Git权威指南 - {{ page.title }} - {% for style in page.stylesheets %} - - {% endfor %} - {% for script in page.javascripts %} - - {% endfor %} - - - - - -
- - -
- - -
- {{ content }} -
-
-
-
- - - - diff --git a/_layouts/ttyrecord.html b/_layouts/ttyrecord.html deleted file mode 100644 index fd6c8b90b..000000000 --- a/_layouts/ttyrecord.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: master -stylesheets: [ "../../html/inc/common.css", "../../html/inc/tty.css" ] -javascripts: [ "../../html/inc/prototype.js", "../../html/inc/showtty.js" ] -relpath: ../../ ---- - -
-

{{ page.title }}

-
Enable JavaScript to see the animation.
- -
diff --git a/bookstore.md b/bookstore.md deleted file mode 100644 index f43cb58ce..000000000 --- a/bookstore.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: master -title: 如何购买 -javascripts: [ "/javascripts/jquery.js", "html/inc/click_more.js" ] ---- - -## 如何购买 - -* China-pub 互动出版网 - - - -* 卓越网 - - - -* 当当网 - - - -* 京东商城 - - - - - -* 中关村图书大厦网上书店 - - - -* 广购书城:广州购书中心网上书店 - - - -* 北京图书大厦网络书店 - - diff --git a/demo.md b/demo.md deleted file mode 100644 index 7b8dfcc7f..000000000 --- a/demo.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: master -title: 如何购买 ---- - -## 如何购买 - -* China-pub 互动出版网 - - - -* 卓越网 - - - -* 当当网 - - - -* 京东商城 - - - - - -* 中关村图书大厦网上书店 - - - -* 广购书城:广州购书中心网上书店 - - - -* 北京图书大厦网络书店 - - diff --git a/download/ch01/hello b/download/ch01/hello deleted file mode 100644 index a5a9126c3..000000000 --- a/download/ch01/hello +++ /dev/null @@ -1,11 +0,0 @@ -应该杜绝文章中的错别子。 - -但是无论使用 -* 全拼,双拼 -* 还是五笔 - -是人就有可能犯错,软件更是如此。 - -犯了错,就要扣工资! - -改正的成本可能会很高。 diff --git a/download/ch01/world b/download/ch01/world deleted file mode 100644 index 08ffb2823..000000000 --- a/download/ch01/world +++ /dev/null @@ -1,12 +0,0 @@ -应该杜绝文章中的错别字。 - -但是无论使用 -* 全拼,双拼 -* 还是五笔 - -是人就有可能犯错,软件更是如此。 - -改正的成本可能会很高。 - -但是“只要眼球足够多,所有Bug都好捉”, -这就是开源的哲学之一。 diff --git a/download/ch03/install_from_git.sh b/download/ch03/install_from_git.sh deleted file mode 100644 index ca769d3c9..000000000 --- a/download/ch03/install_from_git.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -for ver in \ - v1.5.0 \ - v1.7.3.5 \ - v1.7.4-rc1 \ -; do - echo "Begin install Git $ver."; - git reset --hard - git clean -fdx - git checkout $ver || { - echo "Checkout git $ver failed."; exit 1 - } - make prefix=/opt/git/$ver all && \ - sudo make prefix=/opt/git/$ver install || { - echo "Install git $ver failed."; exit 1 - } - echo "Installed Git $ver." -done diff --git a/download/ch10/helloworld/.gitignore b/download/ch10/helloworld/.gitignore deleted file mode 100644 index 0a981f8c3..000000000 --- a/download/ch10/helloworld/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -hello -*.o -version.h diff --git a/download/ch10/helloworld/Makefile b/download/ch10/helloworld/Makefile deleted file mode 100644 index 8419b0d57..000000000 --- a/download/ch10/helloworld/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -OBJECTS = main.o -TARGET = hello - -all: $(TARGET) - -$(TARGET): $(OBJECTS) - $(CC) -o $@ $^ - -main.o: main.c version.h - -version.h: new_header - -new_header: - @sed -e "s//$$(git describe --tags --always)/g" \ - < version.h.in > version.h.tmp - @if diff -q version.h.tmp version.h >/dev/null 2>&1; \ - then \ - rm version.h.tmp; \ - else \ - echo "version.h.in => version.h" ; \ - mv version.h.tmp version.h; \ - fi - -clean: - @rm -f $(TARGET) $(OBJECTS) version.h - -.PHONY: all clean new_header - -# vim: noet diff --git a/download/ch10/helloworld/main.c b/download/ch10/helloworld/main.c deleted file mode 100644 index 70cedb87c..000000000 --- a/download/ch10/helloworld/main.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "version.h" -#include - -int -main() -{ - printf( "Hello, world.\n" ); - printf( "version: %s.\n", _VERSION ); - return 0; -} diff --git a/download/ch10/helloworld/version.h.in b/download/ch10/helloworld/version.h.in deleted file mode 100644 index 1026d9416..000000000 --- a/download/ch10/helloworld/version.h.in +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef HELLO_WORLD_VERSION_H -#define HELLO_WORLD_VERSION_H - -#define _VERSION "" - -#endif diff --git a/download/ch25/manifest-revert.xslt b/download/ch25/manifest-revert.xslt deleted file mode 100644 index 937adeb9f..000000000 --- a/download/ch25/manifest-revert.xslt +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/download/ch25/work2mirror.py b/download/ch25/work2mirror.py deleted file mode 100644 index 26ef092c7..000000000 --- a/download/ch25/work2mirror.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -import os, sys, shutil - -cwd = os.path.abspath( os.path.dirname( __file__ ) ) -repodir = os.path.join( cwd, '.repo' ) -S_repo = 'repo' -TRASHDIR = 'old_work_tree' - -if not os.path.exists( os.path.join(repodir, S_repo) ): - print >> sys.stderr, "Must run under repo work_dir root." - sys.exit(1) - -sys.path.insert( 0, os.path.join(repodir, S_repo) ) -from manifest_xml import XmlManifest - -manifest = XmlManifest( repodir ) - -if manifest.IsMirror: - print >> sys.stderr, "Already mirror, exit." - sys.exit(1) - -trash = os.path.join( cwd, TRASHDIR ) - -for project in manifest.projects.itervalues(): - # 移动旧的版本库路径到镜像模式下新的版本库路径 - newgitdir = os.path.join( cwd, '%s.git' % project.name ) - if os.path.exists( project.gitdir ) and project.gitdir != newgitdir: - if not os.path.exists( os.path.dirname(newgitdir) ): - os.makedirs( os.path.dirname(newgitdir) ) - print "Rename %s to %s." % (project.gitdir, newgitdir) - os.rename( project.gitdir, newgitdir ) - - # 移动工作区到待删除目录 - if project.worktree and os.path.exists( project.worktree ): - newworktree = os.path.join( trash, project.relpath ) - if not os.path.exists( os.path.dirname(newworktree) ): - os.makedirs( os.path.dirname(newworktree) ) - print "Move old worktree %s to %s." % (project.worktree, newworktree ) - os.rename( project.worktree, newworktree ) - - if os.path.exists ( os.path.join( newgitdir, 'config' ) ): - # 修改版本库的配置 - os.chdir( newgitdir ) - os.system( "git config core.bare true" ) - os.system( "git config remote.korg.fetch '+refs/heads/*:refs/heads/*'" ) - - # 删除 remotes 分支,因为作为版本库镜像不需要 remote 分支 - if os.path.exists ( os.path.join( newgitdir, 'refs', 'remotes' ) ): - print "Delete " + os.path.join( newgitdir, 'refs', 'remotes' ) - shutil.rmtree( os.path.join( newgitdir, 'refs', 'remotes' ) ) - -# 设置 menifest 为镜像 -mp = manifest.manifestProject -mp.config.SetString('repo.mirror', 'true') - - diff --git a/errata-others.md b/errata-others.md deleted file mode 100644 index 4da949df9..000000000 --- a/errata-others.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -layout: master -title: 勘误表 -stylesheets: [ "/html/inc/errata.css" ] ---- - -### 主要勘误 - -主要勘误参见 ,本文列举一般性印刷错误。编辑建议不要将两个勘误合并一起。 ;) - -### 文字错误 - -| 页码 | 位置 | 原文 | 修正为 | 缺陷追踪 | -| ------:| ------------------------- | ---------------------------- | ---------------------------- | ---------------------------------------------------- | -| 61 | 倒数第11行 | 'git grep' | \`git grep\` | [#147](http://redmine.ossxp.com/redmine/issues/147) | -| 91 | 第8行 | 'html\_permalink\_text' | \`html\_permalink\_text\` | [#149](http://redmine.ossxp.com/redmine/issues/149) | -| 323 | 第4行 | 'tg update' | \`tg update\` | [#150](http://redmine.ossxp.com/redmine/issues/150) | - - -### 格式错误 - -说明:主要是文字加粗,段落缩进等问题。 - -| 页码 | 位置 | 原文 | 修正为 | 缺陷追踪 | -| ------:| ------------------------- | ---------------------------- | ---------------------------- | ---------------------------------------------------- | -| 123 | 第10行 | **What now> 4** | What now> **4** | [#154](http://redmine.ossxp.com/redmine/issues/154) | -| 123 | 第22,30,38行 | **Add untracked>> N** | Add untracked>> **N** | [#154](http://redmine.ossxp.com/redmine/issues/154) | -| 124 | 第14行 | **What now> 1** | What now> **1** | [#154](http://redmine.ossxp.com/redmine/issues/154) | -| 229 | 第18行 | **Use (m)odified or (d)eleted file, or (a)bort? d** | Use (m)odified or (d)eleted file, or (a)bort? **d** | [#155](http://redmine.ossxp.com/redmine/issues/155) | -| 229 | 第23行 | **Use (c)reated or (d)eleted file, or (a)bort? c** | Use (m)odified or (d)eleted file, or (a)bort? **c** | [#155](http://redmine.ossxp.com/redmine/issues/155) | -| 229 | 第28行 | **Use (c)reated or (d)eleted file, or (a)bort? d** | Use (m)odified or (d)eleted file, or (a)bort? **d** | [#155](http://redmine.ossxp.com/redmine/issues/155) | -| 236 | 第15行 | **git name-rev --tags --stdin** | 说明:向右缩进两个空格 | [#156](http://redmine.ossxp.com/redmine/issues/156) | -| 362 | 第14行 | $ curl -L -k \\ | $ **curl -L -k \\** | [#157](http://redmine.ossxp.com/redmine/issues/157) | -| 457 | 第7-11行 | **mysql>** | mysql> | [#158](http://redmine.ossxp.com/redmine/issues/158) | - diff --git a/errata.md b/errata.md deleted file mode 100644 index ab80eaed5..000000000 --- a/errata.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -layout: master -title: 勘误表 -stylesheets: [ "/html/inc/errata.css" ] -javascripts: [ "/javascripts/jquery.js", "html/inc/click_more.js" ] ---- - -您发现了新的错误么?可以通过下面方式贡献: - -1. 记录您发现的问题。 - - 访问 [缺陷追踪系统(Github)](https://github.com/gotgit/gotgit/issues/new) 报告问题。 - -2. 修改本Git版本库中的勘误表。 - - * 在 GitHub 上从本版本库 派生后,直接修改勘误表文件 ``errata.md`` 。 - * 您的修改可以通过 Github 的 Pull Request 工具通知我。 - * 还可以直接通过 [新浪微博](http://weibo.com/gotgit/) @群英汇蒋鑫。 - -## 第一版• 第三印 - -### 勘误 - -页码 | 位置 | 错误描述 | 原文 | 修正为 | 缺陷追踪 --------:| ------------------------ | ------------------- | ---------------------------- | ---------------------------- | -------- - 30 | 倒数第5行 | 命令没有加粗 | $ . \`brew --prefix\`/etc/bash\_completion | $ **. \`brew --prefix\`/etc/bash\_completion** | - 415 | 脚注(1)第一行尾 | 漏印、丢字 | 而且是Gitolite的主要安装方式, | 且曾是Gitolite的主要安装方式, | - 429 | 第21行 | 代码块应向右缩进 | dev1$ **git push ...** | - | - 429 | 第22行 | 文字前后重复,删除“拥有”两字 | 例如用户dev1拥有对其自建的版本库... | 例如用户dev1对其自建的版本库... | - -### 说明 - -为避免对排版的破坏,下列更新已经用脚注的方式标注在书的相关章节中。具体细节还要参照如下博客中的内容。 - -1. [Gitolite服务架设](http://www.worldhello.net/2011/11/30/02-gitolite-install.html) ,书P415脚注(1)。 -2. [Gitolite版本库镜像](http://www.worldhello.net/2011/11/30/03-gitolite-mirror.html) ,书P436脚注(1)。 -3. [Gitolite通配符版本库自定义授权](http://www.worldhello.net/2011/11/30/04-gitolite-getperms-setperms.html) ,书P429第30.4.3小节已更新。 -4. [Gitolite管理员定义命令](http://www.worldhello.net/2011/11/30/05-gitolite-adc.html) 。 - -## 第一版• 第二印 - -### 勘误 - - - -页码 | 位置 | 错误描述 | 原文 | 修正为 | 缺陷追踪 --------:| ------------------------ | ------------------- | ---------------------------- | ---------------------------- | -------- -文前IX页| 第8行 | 官方网站URL变更 | http://www.ossxp.com/doc/gotgit/ | http://www.worldhello.net/gotgit/ | - 30 | 第18,19行共两处 | 反引号错印为单引号 | 'brew --prefix' | \`brew --prefix\` | [#146][bug2-146] - 30 | 倒数第5行 | 命令提示符和点号之间有空格 | $**. \`brew --prefix\`/etc/bash\_completion** | $ **. \`brew --prefix\`/etc/bash\_completion** | [#152][bug2-152] - 146 | 倒数第3行 | 命令 ``$ git rev-list --oneline F^! D`` 的结果中应该有Commit G | - | - | [GitHub#11][bug-11] - 229 | 第18,23,28行 | 用户输入字母未加粗 | Use (m)odified or (d)eleted file, or (a)bort? 用户输入 | Use (m)odified or (d)eleted file, or (a)bort? **用户输入** | [#155][bug2-155] - -### 更新 - - - -* “第30章 Gitolite 服务架设”部分内容已经过时,为避免对排版的破坏,以脚注形式补充在书的相关章节中。具体细节还要参照如下博客中的内容。 - - 1. [Gitolite服务架设](http://www.worldhello.net/2011/11/30/02-gitolite-install.html) - 2. [Gitolite版本库镜像](http://www.worldhello.net/2011/11/30/03-gitolite-mirror.html) - 3. [Gitolite通配符版本库自定义授权](http://www.worldhello.net/2011/11/30/04-gitolite-getperms-setperms.html) - 4. [Gitolite管理员定义命令](http://www.worldhello.net/2011/11/30/05-gitolite-adc.html) - -## 第一版• 第一印 - -### 勘误 - - - -页码 | 位置 | 错误描述 | 原文 | 修正为 | 缺陷追踪 --------:| ------------------------- | ------------------- | ---------------------------- | ---------------------------- | -------- - 30 | 倒数第5,7,11,12行等6处 | 反引号错印为单引号 | 'brew --prefix' | \`brew --prefix\` | [#146][bug2-146] - 30 | 倒数第5行 | 反引号错印、未加粗、缺少命令提示符 | 'brew --prefix'/etc/bash\_completion | $ **. \`brew --prefix\`/etc/bash\_completion** | [#152][bug2-152] - 66 | 倒数第11行 | “作者”误为“提交者” | Author(提交者) | Author(作者) | [GitHub#2][bug-2] - 144 | 第1行 | 行首多了一个反引号 | \`$ **git rev-parse A^{tree} A:** | $ **git rev-parse A^{tree} A:** | [#153][bug2-153] - 218 | 第8行 | Git后多了个字母's' | Gits标识出合并冲突, | Git标识出合并冲突, | [#159][bug2-159] - 265 | 最后1行 | 单词 'world' 少了字母 's' | 用户在使用1.0版的hello-word | 用户在使用1.0版的hello-world | [GitHub#5][bug-5] - 369 | 第21行 | 丢了一个项目的“目”字 | 但 `-i` 参数仅当对一个项执行时才有效。 | 但 `-i` 参数仅当对一个项目执行时才有效。 | [GitHub#3][bug-3] - 516 | 倒数第15行 | 反引号错印为双引号 | **oldtag="cat"** | **oldtag=\`cat\`** | [#151][bug2-151] - -### 更新 - - - -页码 | 位置 | 原内容 | 更新内容 --------:| ------------------------ | ---------------------------- | ---------------------------- - 489 | 倒数第4行之前 | - | GitHub的流行一方面是因其简便的Git版本库创建和托管流程,另一方面还在于其提供了实用的协同工具(如在线Fork + Pull Request),极大地方便了团队协同和项目管理。GitHub的丰富功能足可以单独再写一本书,帮我来完善它吧。网址: http://gotgit.github.com/gotgithub/ 。 -307,311,312 | 多处替换 | 金字塔(式协同模型) | 社交网络(式协同模型) - 311 | 倒数第4行 | 金字塔模型的含义是, | 社交网络的含义是针对版本库的修改在信任的个体(程序员)间传递。金字塔的含义是, - 463 | 第17行 | 虽然演示用的是本地地址(localhost),但是操作远程服务器也是可以的,只要拥有管理员权限。 | 命令中的user是Gerrit上注册的第一个账号ID,host是刚刚架设的Gerrit服务器地址(域名或IP)。 - 463 | 第19行 | $ **``ssh -p 29418 localhost gerrit gsql``** | $ **``ssh -p 29418 user@host gerrit gsql``** - 467 | 第3行 | 在 Gerrit 个人配置界面中设置了公钥之后,就可以连接 Gerrit 的 SSH 服务器执行命令,示例使用的是本机localhost,其实也可以使用远程IP地址。只是对于远程主机需要确认端口不要被防火墙拦截,Gerrit的SSH服务器使用特殊的端口,默认是29418。 | 在Gerrit个人配置界面中设置了公钥之后,就可以连接Gerrit的SSH服务器(默认端口29418)执行命令。以下示例中Gerrit服务器地址为host,用户ID是在Gerrit中创建的管理员ID(如gerrit)。如果SSH命令的登录ID和系统登录ID相同,用户ID还可省略。 -467-473 | 多处将 ``localhost`` 替换为 ``gerrit@host`` | $ ssh -p 29418 localhost gerrit ls-projects | $ ssh -p 29418 gerrit@host gerrit ls-projects -477,478,483,486 | 多处将 ``localhost`` 替换为 ``jiangxin@host`` | ssh://localhost:29418/hello.git | ssh://jiangxin@host:29418/hello.git - - - [bug-2]: http://github.com/gotgit/gotgit/issues/2 - [bug-3]: http://github.com/gotgit/gotgit/issues/3 - [bug-5]: http://github.com/gotgit/gotgit/issues/5 - [bug-11]: http://github.com/gotgit/gotgit/issues/11 - [bug2-146]: http://redmine.ossxp.com/redmine/issues/146 - [bug2-151]: http://redmine.ossxp.com/redmine/issues/151 - [bug2-152]: http://redmine.ossxp.com/redmine/issues/152 - [bug2-153]: http://redmine.ossxp.com/redmine/issues/153 - [bug2-155]: http://redmine.ossxp.com/redmine/issues/155 - [bug2-159]: http://redmine.ossxp.com/redmine/issues/159 diff --git a/genindex.html b/genindex.html new file mode 100644 index 000000000..4f7ae5f01 --- /dev/null +++ b/genindex.html @@ -0,0 +1,117 @@ + + + + + + + + + + 索引 — GotGit + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+
+ +
+
+
+
+ + +

索引

+ +
+ +
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/html/images/gotgit-cover.jpg b/html/images/gotgit-cover.jpg deleted file mode 100644 index 3976a916590d2f090a55aa5a489371d4701c1b0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91234 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
LGX@J<$T8s7(@GQNYr?T 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 diff --git a/html/inc/click_more.js b/html/inc/click_more.js deleted file mode 100644 index 062a2166d..000000000 --- a/html/inc/click_more.js +++ /dev/null @@ -1,48 +0,0 @@ -// ==UserScript== -// @name Click more for toggle -// @namespace gotgit -// @description Add a toogle effect at the location where anchor with a click-more css. -// @include http://www.worldhello.net/gotgit/demo* -// @include http://gotgit.github.com/gotgit/demo* -// @include http://www.ossxp.com/doc/gotgit/demo* -// @require http://code.jquery.com/jquery-1.6.2.min.js -// ==/UserScript== - -// Host on https://gist.github.com/1084591 -// Copyright 2011, Jiang Xin - -$(function(){ - - $('.click-more').each(function(i) { - contentNode = this.parentNode.nextSibling; - if (contentNode.nodeType == - (typeof(Node) === "undefined" ? 3: Node.TEXT_NODE)) { - contentNode = contentNode.nextSibling; - } - contentNode.parentNode.removeChild(contentNode); - divNode = $('
').hide(); - divNode.append(contentNode); - button = $('
更多...
'); - button.addClass('click-more-button'); - $(this.parentNode).append(button); - $(this.parentNode).append(divNode); - }) - - $('.click-more').parent().each(function(i) { - $('.click-more-button', this).bind('click', function() { - divNode = $('div.click-more-contents', this.parentNode); - divNode.toggle(); - button = $('.click-more-button', this.parentNode) - if (divNode.is(':visible')) { - button.removeClass('click-more-button-closed'); - button.addClass('click-more-button-opened'); - button[0].textContent = '收起...'; - } else { - button.removeClass('click-more-button-opened'); - button.addClass('click-more-button-closed'); - button[0].textContent = '更多...'; - } - }) - }); - -}) diff --git a/html/inc/common.css b/html/inc/common.css deleted file mode 100755 index 0da48bd5c..000000000 --- a/html/inc/common.css +++ /dev/null @@ -1,157 +0,0 @@ -/* header and footer: align center with fixed width */ -div.header, div.footer -{ - width:780px; /* or a percentage, or whatever */ - margin:0 auto 0 auto; - padding:1em; -} - -div.header,div.footer {background-color:#FFFFBB;text-align:right;font-size:9pt;font-style:italic;} -div.footer {text-align:center;} -hr.header, hr.footer {color:#b4aca1;background-color:#b4aca1;border-bottom:1px solid #ffffff;} - -/* links */ -a{color:#0071bb;outline:none;} -a:hover{color:#ed1e24;text-decoration:none;} -div.header a, div.footer a{text-decoration:none;} -table.docinfo a{text-decoration:none;} - -/* headings */ -h1, h2, h3, h4, h5, h6 { - color: #990000; - font-family: "Trebuchet MS", Verdana, Tahoma, Ariel, Helvetica, sans-serif; -} -h1{font-weight:normal;font-size:270%;letter-spacing:-.04em;line-height:100%;margin:.8em 0 .2em;letter-spacing:-0.04em;} -h2{font-weight:normal;font-size:200%;letter-spacing:-.04em;line-height:110%;margin:.7em 0 .2em;letter-spacing:-0.03em;} -h3{font-size:160%;font-weight:normal;letter-spacing:-.04em;line-height:110%;margin:.7em 0 .2em;letter-spacing:-0.02em;} -h4{font-size:140%;font-weight:bold;margin:.7em 0 .2em;letter-spacing:-0.02em;color: #4e4e4e;} -h5{font-size:140%;font-weight:bold;margin:.5em 0 .2em;letter-spacing:-0.02em;color: #4e4e4e;} -h6{font-size:120%;font-weight:normal;text-transform:uppercase;margin:.5em 0 .2em;color: #4e4e4e;} - -/* header links */ -h1 a:link, h1 a:visited, h1 a:active, h1 a:hover { color: #990000; text-decoration: none; } -h2 a:link, h2 a:visited, h2 a:active, h2 a:hover { color: #990000; text-decoration: none; } -h3 a:link, h3 a:visited, h3 a:active, h3 a:hover { color: #990000; text-decoration: none; } -h4 a:link, h4 a:visited, h4 a:active, h4 a:hover { color: #4e4e4e; text-decoration: none; } -h5 a:link, h5 a:visited, h5 a:active, h5 a:hover { color: #4e4e4e; text-decoration: none; } -h6 a:link, h6 a:visited, h6 a:active, h6 a:hover { color: #4e4e4e; text-decoration: none; } - -/* document title */ -h1.title {text-align:center;margin:1em 0 1em 0;} -h2.subtitle {text-align:center;margin:1em 0 1em 0;} - -/* note and hint backgroud-color */ -div.note {background-color:#ddd} -div.hint {background-color:#ddd} - -/* note and hint title font */ -p.admonition-title {font-size:150%;font-weight:bold} - -/* toc */ -div.topic {font-size:9pt;background-color:#E0E0E0;padding:.4em;margin: 1em;} -p.topic-title {font-weight:bold;font-size:180%;letter-spacing:.05em;line-height:110%;margin-bottom:.7em;margin-left:0;} -.topic a:link, .topic a:visited { text-decoration: none; } -.topic ul li,.topic ol li {list-style: none;margin-left:.7em;} - - -/* tables */ -table{margin:.5em 0 1em;} -table td,table th {border-right:1px solid #fff;padding:.4em .8em;} -table td{background-color:#eee;} -table th, thead td {background-color:#5e5e5e;color:#fff;text-transform:uppercase;font-weight:bold;border-bottom:1px solid #e8e1c8;} -table th a{color:#d6f325;} -table th a:hover{color:#fff;} -table tr.even td{background-color:#ddd;} -table tr:hover td{background-color:#fff;} -table.docinfo th {vertical-align: middle;} - -table.nostyle td,table.nostyle th,table.nostyle tr.even td,table.nostyle tr:hover td{border:0;background:none;background-color:transparent;} - -/* docinfo table: center */ -table.docinfo { - margin-left:auto;margin-right:auto; /* for the rest browser other then IE */ - font-size:9pt; -} - - -/* forms */ -input,textarea,select{font-size:100%;margin:.2em 0;} -input,textarea{padding:.2em .4em;margin:0 2px 4px 2px;} -input.radio,input.checkbox{background-color:#fff;padding:2px;} -textarea{width:90%;} -form label{font-weight:normal;margin:0 2px;} -form .row label{display:block;margin:10px 2px 0 2px;} -fieldset{padding:.8em;border:1px solid #ddd;background-color:#fff;margin:1em 0;} -legend{padding:2px 15px 10px;text-transform:uppercase;font-style:italic;font-size:115%;background-color:#fff;border-top:1px solid #ddd;} - -/* lists */ -ul,ol{margin:.4em 0 1em;line-height:150%;} -ul li,ol li{list-style-position:outside;margin-left:2.5em;} -dl{padding:.3em 0 .8em;} -dt{font-weight:bold;text-decoration:none;} -dd{} - - -/* programming list */ -pre.programlisting, pre.screen, pre.literal-block { - overflow:auto;white-space:pre;/* <- css3 */ - white-space:0;/* <- ff */ - font-size:90%; - font-family:"Courier New", Courier, "Lucida Console", Monaco, "DejaVu Sans Mono", "Nimbus Mono L", "Bitstream Vera Sans Mono"; - background-color:#E0E0E0; - padding:.4em; - padding-top:1.2em;padding-bottom:1.6em;/* <- one line pre with scroll bar visible */ - margin: 1em 1em 1em 2em; -} - -pre code { - display:block; - overflow:auto;white-space:pre;/* <- css3 */ - white-space:0;/* <- ff */ - font-size:90%; - font-family:"Courier New", Courier, "Lucida Console", Monaco, "DejaVu Sans Mono", "Nimbus Mono L", "Bitstream Vera Sans Mono"; - background-color:#E0E0E0; - padding:.4em; - padding-top:0.2em;padding-bottom:0.6em;/* <- one line pre with scroll bar visible */ - margin: 0em 1em 1em 0em; -} - - - -pre{width:80%;overflow:auto;padding:.8em;margin:1em 0;} - -/* Fixed IE bug: one line pre with scrollbar, visible zone is too small */ -pre{word-wrap:normal;padding-top:1.2em;padding-bottom:1.6em;/* <- one line pre with scroll bar visible */} - -/* Paragraph */ -p {margin:.6em 0 .3em;line-height:150%;} -/* Chinese style: indent 2 spaces */ -p,dd {font-size:100%;text-indent: 2em } -dt {font-size:120%;text-indent: 2em; margin:1em 0 0.5em 0; } -/* Paragraph do not indent in li */ -li p {font-size:100%;text-indent: 0em } - -/* other */ -img{border:0;margin:.6em 0 .3em 2em;} -td img{border:0;margin:0;} -p img{border:0;margin:0;margin-bottom:-5px;} -hr{color:#b4aca1;background-color:#b4aca1;border-bottom:1px solid #f6f4eb;} -small{font-size:80%;} - -.click-more-button-opened, .click-more-button-closed { - text-align:left; - padding: 0.5em 1em 0.5em 1em; - margin: 0.5em 2em 0.5em 2em; -} - -.click-more-button-opened { - background-color:#F5F5F5; - font-size:110%; - color:red; -} - -.click-more-button-closed { - background-color:#FFFFCC; - font-size:110%; - color:blue; -} diff --git a/html/inc/errata.css b/html/inc/errata.css deleted file mode 100755 index e0ea5f0a7..000000000 --- a/html/inc/errata.css +++ /dev/null @@ -1 +0,0 @@ -strong{color:#A52A2A;font-weight:bolder;} diff --git a/html/inc/jquery-1.6.2.min.js b/html/inc/jquery-1.6.2.min.js deleted file mode 100644 index 48590ecb9..000000000 --- a/html/inc/jquery-1.6.2.min.js +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * jQuery JavaScript Library v1.6.2 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu Jun 30 14:16:56 2011 -0400 - */ -(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. -shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j -)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/html/inc/prototype.js b/html/inc/prototype.js deleted file mode 100644 index 04a477939..000000000 --- a/html/inc/prototype.js +++ /dev/null @@ -1,6081 +0,0 @@ -/* Prototype JavaScript framework, version 1.7 - * (c) 2005-2010 Sam Stephenson - * - * Prototype is freely distributable under the terms of an MIT-style license. - * For details, see the Prototype web site: http://www.prototypejs.org/ - * - *--------------------------------------------------------------------------*/ - -var Prototype = { - - Version: '1.7', - - Browser: (function(){ - var ua = navigator.userAgent; - var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]'; - return { - IE: !!window.attachEvent && !isOpera, - Opera: isOpera, - WebKit: ua.indexOf('AppleWebKit/') > -1, - Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1, - MobileSafari: /Apple.*Mobile/.test(ua) - } - })(), - - BrowserFeatures: { - XPath: !!document.evaluate, - - SelectorsAPI: !!document.querySelector, - - ElementExtensions: (function() { - var constructor = window.Element || window.HTMLElement; - return !!(constructor && constructor.prototype); - })(), - SpecificElementExtensions: (function() { - if (typeof window.HTMLDivElement !== 'undefined') - return true; - - var div = document.createElement('div'), - form = document.createElement('form'), - isSupported = false; - - if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) { - isSupported = true; - } - - div = form = null; - - return isSupported; - })() - }, - - ScriptFragment: ']*>([\\S\\s]*?)<\/script>', - JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, - - emptyFunction: function() { }, - - K: function(x) { return x } -}; - -if (Prototype.Browser.MobileSafari) - Prototype.BrowserFeatures.SpecificElementExtensions = false; -/* Based on Alex Arnell's inheritance implementation. */ - -var Class = (function() { - - var IS_DONTENUM_BUGGY = (function(){ - for (var p in { toString: 1 }) { - if (p === 'toString') return false; - } - return true; - })(); - - function subclass() {}; - function create() { - var parent = null, properties = $A(arguments); - if (Object.isFunction(properties[0])) - parent = properties.shift(); - - function klass() { - this.initialize.apply(this, arguments); - } - - Object.extend(klass, Class.Methods); - klass.superclass = parent; - klass.subclasses = []; - - if (parent) { - subclass.prototype = parent.prototype; - klass.prototype = new subclass; - parent.subclasses.push(klass); - } - - for (var i = 0, length = properties.length; i < length; i++) - klass.addMethods(properties[i]); - - if (!klass.prototype.initialize) - klass.prototype.initialize = Prototype.emptyFunction; - - klass.prototype.constructor = klass; - return klass; - } - - function addMethods(source) { - var ancestor = this.superclass && this.superclass.prototype, - properties = Object.keys(source); - - if (IS_DONTENUM_BUGGY) { - if (source.toString != Object.prototype.toString) - properties.push("toString"); - if (source.valueOf != Object.prototype.valueOf) - properties.push("valueOf"); - } - - for (var i = 0, length = properties.length; i < length; i++) { - var property = properties[i], value = source[property]; - if (ancestor && Object.isFunction(value) && - value.argumentNames()[0] == "$super") { - var method = value; - value = (function(m) { - return function() { return ancestor[m].apply(this, arguments); }; - })(property).wrap(method); - - value.valueOf = method.valueOf.bind(method); - value.toString = method.toString.bind(method); - } - this.prototype[property] = value; - } - - return this; - } - - return { - create: create, - Methods: { - addMethods: addMethods - } - }; -})(); -(function() { - - var _toString = Object.prototype.toString, - NULL_TYPE = 'Null', - UNDEFINED_TYPE = 'Undefined', - BOOLEAN_TYPE = 'Boolean', - NUMBER_TYPE = 'Number', - STRING_TYPE = 'String', - OBJECT_TYPE = 'Object', - FUNCTION_CLASS = '[object Function]', - BOOLEAN_CLASS = '[object Boolean]', - NUMBER_CLASS = '[object Number]', - STRING_CLASS = '[object String]', - ARRAY_CLASS = '[object Array]', - DATE_CLASS = '[object Date]', - NATIVE_JSON_STRINGIFY_SUPPORT = window.JSON && - typeof JSON.stringify === 'function' && - JSON.stringify(0) === '0' && - typeof JSON.stringify(Prototype.K) === 'undefined'; - - function Type(o) { - switch(o) { - case null: return NULL_TYPE; - case (void 0): return UNDEFINED_TYPE; - } - var type = typeof o; - switch(type) { - case 'boolean': return BOOLEAN_TYPE; - case 'number': return NUMBER_TYPE; - case 'string': return STRING_TYPE; - } - return OBJECT_TYPE; - } - - function extend(destination, source) { - for (var property in source) - destination[property] = source[property]; - return destination; - } - - function inspect(object) { - try { - if (isUndefined(object)) return 'undefined'; - if (object === null) return 'null'; - return object.inspect ? object.inspect() : String(object); - } catch (e) { - if (e instanceof RangeError) return '...'; - throw e; - } - } - - function toJSON(value) { - return Str('', { '': value }, []); - } - - function Str(key, holder, stack) { - var value = holder[key], - type = typeof value; - - if (Type(value) === OBJECT_TYPE && typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - - var _class = _toString.call(value); - - switch (_class) { - case NUMBER_CLASS: - case BOOLEAN_CLASS: - case STRING_CLASS: - value = value.valueOf(); - } - - switch (value) { - case null: return 'null'; - case true: return 'true'; - case false: return 'false'; - } - - type = typeof value; - switch (type) { - case 'string': - return value.inspect(true); - case 'number': - return isFinite(value) ? String(value) : 'null'; - case 'object': - - for (var i = 0, length = stack.length; i < length; i++) { - if (stack[i] === value) { throw new TypeError(); } - } - stack.push(value); - - var partial = []; - if (_class === ARRAY_CLASS) { - for (var i = 0, length = value.length; i < length; i++) { - var str = Str(i, value, stack); - partial.push(typeof str === 'undefined' ? 'null' : str); - } - partial = '[' + partial.join(',') + ']'; - } else { - var keys = Object.keys(value); - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i], str = Str(key, value, stack); - if (typeof str !== "undefined") { - partial.push(key.inspect(true)+ ':' + str); - } - } - partial = '{' + partial.join(',') + '}'; - } - stack.pop(); - return partial; - } - } - - function stringify(object) { - return JSON.stringify(object); - } - - function toQueryString(object) { - return $H(object).toQueryString(); - } - - function toHTML(object) { - return object && object.toHTML ? object.toHTML() : String.interpret(object); - } - - function keys(object) { - if (Type(object) !== OBJECT_TYPE) { throw new TypeError(); } - var results = []; - for (var property in object) { - if (object.hasOwnProperty(property)) { - results.push(property); - } - } - return results; - } - - function values(object) { - var results = []; - for (var property in object) - results.push(object[property]); - return results; - } - - function clone(object) { - return extend({ }, object); - } - - function isElement(object) { - return !!(object && object.nodeType == 1); - } - - function isArray(object) { - return _toString.call(object) === ARRAY_CLASS; - } - - var hasNativeIsArray = (typeof Array.isArray == 'function') - && Array.isArray([]) && !Array.isArray({}); - - if (hasNativeIsArray) { - isArray = Array.isArray; - } - - function isHash(object) { - return object instanceof Hash; - } - - function isFunction(object) { - return _toString.call(object) === FUNCTION_CLASS; - } - - function isString(object) { - return _toString.call(object) === STRING_CLASS; - } - - function isNumber(object) { - return _toString.call(object) === NUMBER_CLASS; - } - - function isDate(object) { - return _toString.call(object) === DATE_CLASS; - } - - function isUndefined(object) { - return typeof object === "undefined"; - } - - extend(Object, { - extend: extend, - inspect: inspect, - toJSON: NATIVE_JSON_STRINGIFY_SUPPORT ? stringify : toJSON, - toQueryString: toQueryString, - toHTML: toHTML, - keys: Object.keys || keys, - values: values, - clone: clone, - isElement: isElement, - isArray: isArray, - isHash: isHash, - isFunction: isFunction, - isString: isString, - isNumber: isNumber, - isDate: isDate, - isUndefined: isUndefined - }); -})(); -Object.extend(Function.prototype, (function() { - var slice = Array.prototype.slice; - - function update(array, args) { - var arrayLength = array.length, length = args.length; - while (length--) array[arrayLength + length] = args[length]; - return array; - } - - function merge(array, args) { - array = slice.call(array, 0); - return update(array, args); - } - - function argumentNames() { - var names = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1] - .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '') - .replace(/\s+/g, '').split(','); - return names.length == 1 && !names[0] ? [] : names; - } - - function bind(context) { - if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this; - var __method = this, args = slice.call(arguments, 1); - return function() { - var a = merge(args, arguments); - return __method.apply(context, a); - } - } - - function bindAsEventListener(context) { - var __method = this, args = slice.call(arguments, 1); - return function(event) { - var a = update([event || window.event], args); - return __method.apply(context, a); - } - } - - function curry() { - if (!arguments.length) return this; - var __method = this, args = slice.call(arguments, 0); - return function() { - var a = merge(args, arguments); - return __method.apply(this, a); - } - } - - function delay(timeout) { - var __method = this, args = slice.call(arguments, 1); - timeout = timeout * 1000; - return window.setTimeout(function() { - return __method.apply(__method, args); - }, timeout); - } - - function defer() { - var args = update([0.01], arguments); - return this.delay.apply(this, args); - } - - function wrap(wrapper) { - var __method = this; - return function() { - var a = update([__method.bind(this)], arguments); - return wrapper.apply(this, a); - } - } - - function methodize() { - if (this._methodized) return this._methodized; - var __method = this; - return this._methodized = function() { - var a = update([this], arguments); - return __method.apply(null, a); - }; - } - - return { - argumentNames: argumentNames, - bind: bind, - bindAsEventListener: bindAsEventListener, - curry: curry, - delay: delay, - defer: defer, - wrap: wrap, - methodize: methodize - } -})()); - - - -(function(proto) { - - - function toISOString() { - return this.getUTCFullYear() + '-' + - (this.getUTCMonth() + 1).toPaddedString(2) + '-' + - this.getUTCDate().toPaddedString(2) + 'T' + - this.getUTCHours().toPaddedString(2) + ':' + - this.getUTCMinutes().toPaddedString(2) + ':' + - this.getUTCSeconds().toPaddedString(2) + 'Z'; - } - - - function toJSON() { - return this.toISOString(); - } - - if (!proto.toISOString) proto.toISOString = toISOString; - if (!proto.toJSON) proto.toJSON = toJSON; - -})(Date.prototype); - - -RegExp.prototype.match = RegExp.prototype.test; - -RegExp.escape = function(str) { - return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); -}; -var PeriodicalExecuter = Class.create({ - initialize: function(callback, frequency) { - this.callback = callback; - this.frequency = frequency; - this.currentlyExecuting = false; - - this.registerCallback(); - }, - - registerCallback: function() { - this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); - }, - - execute: function() { - this.callback(this); - }, - - stop: function() { - if (!this.timer) return; - clearInterval(this.timer); - this.timer = null; - }, - - onTimerEvent: function() { - if (!this.currentlyExecuting) { - try { - this.currentlyExecuting = true; - this.execute(); - this.currentlyExecuting = false; - } catch(e) { - this.currentlyExecuting = false; - throw e; - } - } - } -}); -Object.extend(String, { - interpret: function(value) { - return value == null ? '' : String(value); - }, - specialChar: { - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '\\': '\\\\' - } -}); - -Object.extend(String.prototype, (function() { - var NATIVE_JSON_PARSE_SUPPORT = window.JSON && - typeof JSON.parse === 'function' && - JSON.parse('{"test": true}').test; - - function prepareReplacement(replacement) { - if (Object.isFunction(replacement)) return replacement; - var template = new Template(replacement); - return function(match) { return template.evaluate(match) }; - } - - function gsub(pattern, replacement) { - var result = '', source = this, match; - replacement = prepareReplacement(replacement); - - if (Object.isString(pattern)) - pattern = RegExp.escape(pattern); - - if (!(pattern.length || pattern.source)) { - replacement = replacement(''); - return replacement + source.split('').join(replacement) + replacement; - } - - while (source.length > 0) { - if (match = source.match(pattern)) { - result += source.slice(0, match.index); - result += String.interpret(replacement(match)); - source = source.slice(match.index + match[0].length); - } else { - result += source, source = ''; - } - } - return result; - } - - function sub(pattern, replacement, count) { - replacement = prepareReplacement(replacement); - count = Object.isUndefined(count) ? 1 : count; - - return this.gsub(pattern, function(match) { - if (--count < 0) return match[0]; - return replacement(match); - }); - } - - function scan(pattern, iterator) { - this.gsub(pattern, iterator); - return String(this); - } - - function truncate(length, truncation) { - length = length || 30; - truncation = Object.isUndefined(truncation) ? '...' : truncation; - return this.length > length ? - this.slice(0, length - truncation.length) + truncation : String(this); - } - - function strip() { - return this.replace(/^\s+/, '').replace(/\s+$/, ''); - } - - function stripTags() { - return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, ''); - } - - function stripScripts() { - return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); - } - - function extractScripts() { - var matchAll = new RegExp(Prototype.ScriptFragment, 'img'), - matchOne = new RegExp(Prototype.ScriptFragment, 'im'); - return (this.match(matchAll) || []).map(function(scriptTag) { - return (scriptTag.match(matchOne) || ['', ''])[1]; - }); - } - - function evalScripts() { - return this.extractScripts().map(function(script) { return eval(script) }); - } - - function escapeHTML() { - return this.replace(/&/g,'&').replace(//g,'>'); - } - - function unescapeHTML() { - return this.stripTags().replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&'); - } - - - function toQueryParams(separator) { - var match = this.strip().match(/([^?#]*)(#.*)?$/); - if (!match) return { }; - - return match[1].split(separator || '&').inject({ }, function(hash, pair) { - if ((pair = pair.split('='))[0]) { - var key = decodeURIComponent(pair.shift()), - value = pair.length > 1 ? pair.join('=') : pair[0]; - - if (value != undefined) value = decodeURIComponent(value); - - if (key in hash) { - if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; - hash[key].push(value); - } - else hash[key] = value; - } - return hash; - }); - } - - function toArray() { - return this.split(''); - } - - function succ() { - return this.slice(0, this.length - 1) + - String.fromCharCode(this.charCodeAt(this.length - 1) + 1); - } - - function times(count) { - return count < 1 ? '' : new Array(count + 1).join(this); - } - - function camelize() { - return this.replace(/-+(.)?/g, function(match, chr) { - return chr ? chr.toUpperCase() : ''; - }); - } - - function capitalize() { - return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); - } - - function underscore() { - return this.replace(/::/g, '/') - .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') - .replace(/([a-z\d])([A-Z])/g, '$1_$2') - .replace(/-/g, '_') - .toLowerCase(); - } - - function dasherize() { - return this.replace(/_/g, '-'); - } - - function inspect(useDoubleQuotes) { - var escapedString = this.replace(/[\x00-\x1f\\]/g, function(character) { - if (character in String.specialChar) { - return String.specialChar[character]; - } - return '\\u00' + character.charCodeAt().toPaddedString(2, 16); - }); - if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; - return "'" + escapedString.replace(/'/g, '\\\'') + "'"; - } - - function unfilterJSON(filter) { - return this.replace(filter || Prototype.JSONFilter, '$1'); - } - - function isJSON() { - var str = this; - if (str.blank()) return false; - str = str.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'); - str = str.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); - str = str.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); - return (/^[\],:{}\s]*$/).test(str); - } - - function evalJSON(sanitize) { - var json = this.unfilterJSON(), - cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; - if (cx.test(json)) { - json = json.replace(cx, function (a) { - return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }); - } - try { - if (!sanitize || json.isJSON()) return eval('(' + json + ')'); - } catch (e) { } - throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); - } - - function parseJSON() { - var json = this.unfilterJSON(); - return JSON.parse(json); - } - - function include(pattern) { - return this.indexOf(pattern) > -1; - } - - function startsWith(pattern) { - return this.lastIndexOf(pattern, 0) === 0; - } - - function endsWith(pattern) { - var d = this.length - pattern.length; - return d >= 0 && this.indexOf(pattern, d) === d; - } - - function empty() { - return this == ''; - } - - function blank() { - return /^\s*$/.test(this); - } - - function interpolate(object, pattern) { - return new Template(this, pattern).evaluate(object); - } - - return { - gsub: gsub, - sub: sub, - scan: scan, - truncate: truncate, - strip: String.prototype.trim || strip, - stripTags: stripTags, - stripScripts: stripScripts, - extractScripts: extractScripts, - evalScripts: evalScripts, - escapeHTML: escapeHTML, - unescapeHTML: unescapeHTML, - toQueryParams: toQueryParams, - parseQuery: toQueryParams, - toArray: toArray, - succ: succ, - times: times, - camelize: camelize, - capitalize: capitalize, - underscore: underscore, - dasherize: dasherize, - inspect: inspect, - unfilterJSON: unfilterJSON, - isJSON: isJSON, - evalJSON: NATIVE_JSON_PARSE_SUPPORT ? parseJSON : evalJSON, - include: include, - startsWith: startsWith, - endsWith: endsWith, - empty: empty, - blank: blank, - interpolate: interpolate - }; -})()); - -var Template = Class.create({ - initialize: function(template, pattern) { - this.template = template.toString(); - this.pattern = pattern || Template.Pattern; - }, - - evaluate: function(object) { - if (object && Object.isFunction(object.toTemplateReplacements)) - object = object.toTemplateReplacements(); - - return this.template.gsub(this.pattern, function(match) { - if (object == null) return (match[1] + ''); - - var before = match[1] || ''; - if (before == '\\') return match[2]; - - var ctx = object, expr = match[3], - pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; - - match = pattern.exec(expr); - if (match == null) return before; - - while (match != null) { - var comp = match[1].startsWith('[') ? match[2].replace(/\\\\]/g, ']') : match[1]; - ctx = ctx[comp]; - if (null == ctx || '' == match[3]) break; - expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); - match = pattern.exec(expr); - } - - return before + String.interpret(ctx); - }); - } -}); -Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; - -var $break = { }; - -var Enumerable = (function() { - function each(iterator, context) { - var index = 0; - try { - this._each(function(value) { - iterator.call(context, value, index++); - }); - } catch (e) { - if (e != $break) throw e; - } - return this; - } - - function eachSlice(number, iterator, context) { - var index = -number, slices = [], array = this.toArray(); - if (number < 1) return array; - while ((index += number) < array.length) - slices.push(array.slice(index, index+number)); - return slices.collect(iterator, context); - } - - function all(iterator, context) { - iterator = iterator || Prototype.K; - var result = true; - this.each(function(value, index) { - result = result && !!iterator.call(context, value, index); - if (!result) throw $break; - }); - return result; - } - - function any(iterator, context) { - iterator = iterator || Prototype.K; - var result = false; - this.each(function(value, index) { - if (result = !!iterator.call(context, value, index)) - throw $break; - }); - return result; - } - - function collect(iterator, context) { - iterator = iterator || Prototype.K; - var results = []; - this.each(function(value, index) { - results.push(iterator.call(context, value, index)); - }); - return results; - } - - function detect(iterator, context) { - var result; - this.each(function(value, index) { - if (iterator.call(context, value, index)) { - result = value; - throw $break; - } - }); - return result; - } - - function findAll(iterator, context) { - var results = []; - this.each(function(value, index) { - if (iterator.call(context, value, index)) - results.push(value); - }); - return results; - } - - function grep(filter, iterator, context) { - iterator = iterator || Prototype.K; - var results = []; - - if (Object.isString(filter)) - filter = new RegExp(RegExp.escape(filter)); - - this.each(function(value, index) { - if (filter.match(value)) - results.push(iterator.call(context, value, index)); - }); - return results; - } - - function include(object) { - if (Object.isFunction(this.indexOf)) - if (this.indexOf(object) != -1) return true; - - var found = false; - this.each(function(value) { - if (value == object) { - found = true; - throw $break; - } - }); - return found; - } - - function inGroupsOf(number, fillWith) { - fillWith = Object.isUndefined(fillWith) ? null : fillWith; - return this.eachSlice(number, function(slice) { - while(slice.length < number) slice.push(fillWith); - return slice; - }); - } - - function inject(memo, iterator, context) { - this.each(function(value, index) { - memo = iterator.call(context, memo, value, index); - }); - return memo; - } - - function invoke(method) { - var args = $A(arguments).slice(1); - return this.map(function(value) { - return value[method].apply(value, args); - }); - } - - function max(iterator, context) { - iterator = iterator || Prototype.K; - var result; - this.each(function(value, index) { - value = iterator.call(context, value, index); - if (result == null || value >= result) - result = value; - }); - return result; - } - - function min(iterator, context) { - iterator = iterator || Prototype.K; - var result; - this.each(function(value, index) { - value = iterator.call(context, value, index); - if (result == null || value < result) - result = value; - }); - return result; - } - - function partition(iterator, context) { - iterator = iterator || Prototype.K; - var trues = [], falses = []; - this.each(function(value, index) { - (iterator.call(context, value, index) ? - trues : falses).push(value); - }); - return [trues, falses]; - } - - function pluck(property) { - var results = []; - this.each(function(value) { - results.push(value[property]); - }); - return results; - } - - function reject(iterator, context) { - var results = []; - this.each(function(value, index) { - if (!iterator.call(context, value, index)) - results.push(value); - }); - return results; - } - - function sortBy(iterator, context) { - return this.map(function(value, index) { - return { - value: value, - criteria: iterator.call(context, value, index) - }; - }).sort(function(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - }).pluck('value'); - } - - function toArray() { - return this.map(); - } - - function zip() { - var iterator = Prototype.K, args = $A(arguments); - if (Object.isFunction(args.last())) - iterator = args.pop(); - - var collections = [this].concat(args).map($A); - return this.map(function(value, index) { - return iterator(collections.pluck(index)); - }); - } - - function size() { - return this.toArray().length; - } - - function inspect() { - return '#'; - } - - - - - - - - - - return { - each: each, - eachSlice: eachSlice, - all: all, - every: all, - any: any, - some: any, - collect: collect, - map: collect, - detect: detect, - findAll: findAll, - select: findAll, - filter: findAll, - grep: grep, - include: include, - member: include, - inGroupsOf: inGroupsOf, - inject: inject, - invoke: invoke, - max: max, - min: min, - partition: partition, - pluck: pluck, - reject: reject, - sortBy: sortBy, - toArray: toArray, - entries: toArray, - zip: zip, - size: size, - inspect: inspect, - find: detect - }; -})(); - -function $A(iterable) { - if (!iterable) return []; - if ('toArray' in Object(iterable)) return iterable.toArray(); - var length = iterable.length || 0, results = new Array(length); - while (length--) results[length] = iterable[length]; - return results; -} - - -function $w(string) { - if (!Object.isString(string)) return []; - string = string.strip(); - return string ? string.split(/\s+/) : []; -} - -Array.from = $A; - - -(function() { - var arrayProto = Array.prototype, - slice = arrayProto.slice, - _each = arrayProto.forEach; // use native browser JS 1.6 implementation if available - - function each(iterator, context) { - for (var i = 0, length = this.length >>> 0; i < length; i++) { - if (i in this) iterator.call(context, this[i], i, this); - } - } - if (!_each) _each = each; - - function clear() { - this.length = 0; - return this; - } - - function first() { - return this[0]; - } - - function last() { - return this[this.length - 1]; - } - - function compact() { - return this.select(function(value) { - return value != null; - }); - } - - function flatten() { - return this.inject([], function(array, value) { - if (Object.isArray(value)) - return array.concat(value.flatten()); - array.push(value); - return array; - }); - } - - function without() { - var values = slice.call(arguments, 0); - return this.select(function(value) { - return !values.include(value); - }); - } - - function reverse(inline) { - return (inline === false ? this.toArray() : this)._reverse(); - } - - function uniq(sorted) { - return this.inject([], function(array, value, index) { - if (0 == index || (sorted ? array.last() != value : !array.include(value))) - array.push(value); - return array; - }); - } - - function intersect(array) { - return this.uniq().findAll(function(item) { - return array.detect(function(value) { return item === value }); - }); - } - - - function clone() { - return slice.call(this, 0); - } - - function size() { - return this.length; - } - - function inspect() { - return '[' + this.map(Object.inspect).join(', ') + ']'; - } - - function indexOf(item, i) { - i || (i = 0); - var length = this.length; - if (i < 0) i = length + i; - for (; i < length; i++) - if (this[i] === item) return i; - return -1; - } - - function lastIndexOf(item, i) { - i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; - var n = this.slice(0, i).reverse().indexOf(item); - return (n < 0) ? n : i - n - 1; - } - - function concat() { - var array = slice.call(this, 0), item; - for (var i = 0, length = arguments.length; i < length; i++) { - item = arguments[i]; - if (Object.isArray(item) && !('callee' in item)) { - for (var j = 0, arrayLength = item.length; j < arrayLength; j++) - array.push(item[j]); - } else { - array.push(item); - } - } - return array; - } - - Object.extend(arrayProto, Enumerable); - - if (!arrayProto._reverse) - arrayProto._reverse = arrayProto.reverse; - - Object.extend(arrayProto, { - _each: _each, - clear: clear, - first: first, - last: last, - compact: compact, - flatten: flatten, - without: without, - reverse: reverse, - uniq: uniq, - intersect: intersect, - clone: clone, - toArray: clone, - size: size, - inspect: inspect - }); - - var CONCAT_ARGUMENTS_BUGGY = (function() { - return [].concat(arguments)[0][0] !== 1; - })(1,2) - - if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat; - - if (!arrayProto.indexOf) arrayProto.indexOf = indexOf; - if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf = lastIndexOf; -})(); -function $H(object) { - return new Hash(object); -}; - -var Hash = Class.create(Enumerable, (function() { - function initialize(object) { - this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); - } - - - function _each(iterator) { - for (var key in this._object) { - var value = this._object[key], pair = [key, value]; - pair.key = key; - pair.value = value; - iterator(pair); - } - } - - function set(key, value) { - return this._object[key] = value; - } - - function get(key) { - if (this._object[key] !== Object.prototype[key]) - return this._object[key]; - } - - function unset(key) { - var value = this._object[key]; - delete this._object[key]; - return value; - } - - function toObject() { - return Object.clone(this._object); - } - - - - function keys() { - return this.pluck('key'); - } - - function values() { - return this.pluck('value'); - } - - function index(value) { - var match = this.detect(function(pair) { - return pair.value === value; - }); - return match && match.key; - } - - function merge(object) { - return this.clone().update(object); - } - - function update(object) { - return new Hash(object).inject(this, function(result, pair) { - result.set(pair.key, pair.value); - return result; - }); - } - - function toQueryPair(key, value) { - if (Object.isUndefined(value)) return key; - return key + '=' + encodeURIComponent(String.interpret(value)); - } - - function toQueryString() { - return this.inject([], function(results, pair) { - var key = encodeURIComponent(pair.key), values = pair.value; - - if (values && typeof values == 'object') { - if (Object.isArray(values)) { - var queryValues = []; - for (var i = 0, len = values.length, value; i < len; i++) { - value = values[i]; - queryValues.push(toQueryPair(key, value)); - } - return results.concat(queryValues); - } - } else results.push(toQueryPair(key, values)); - return results; - }).join('&'); - } - - function inspect() { - return '#'; - } - - function clone() { - return new Hash(this); - } - - return { - initialize: initialize, - _each: _each, - set: set, - get: get, - unset: unset, - toObject: toObject, - toTemplateReplacements: toObject, - keys: keys, - values: values, - index: index, - merge: merge, - update: update, - toQueryString: toQueryString, - inspect: inspect, - toJSON: toObject, - clone: clone - }; -})()); - -Hash.from = $H; -Object.extend(Number.prototype, (function() { - function toColorPart() { - return this.toPaddedString(2, 16); - } - - function succ() { - return this + 1; - } - - function times(iterator, context) { - $R(0, this, true).each(iterator, context); - return this; - } - - function toPaddedString(length, radix) { - var string = this.toString(radix || 10); - return '0'.times(length - string.length) + string; - } - - function abs() { - return Math.abs(this); - } - - function round() { - return Math.round(this); - } - - function ceil() { - return Math.ceil(this); - } - - function floor() { - return Math.floor(this); - } - - return { - toColorPart: toColorPart, - succ: succ, - times: times, - toPaddedString: toPaddedString, - abs: abs, - round: round, - ceil: ceil, - floor: floor - }; -})()); - -function $R(start, end, exclusive) { - return new ObjectRange(start, end, exclusive); -} - -var ObjectRange = Class.create(Enumerable, (function() { - function initialize(start, end, exclusive) { - this.start = start; - this.end = end; - this.exclusive = exclusive; - } - - function _each(iterator) { - var value = this.start; - while (this.include(value)) { - iterator(value); - value = value.succ(); - } - } - - function include(value) { - if (value < this.start) - return false; - if (this.exclusive) - return value < this.end; - return value <= this.end; - } - - return { - initialize: initialize, - _each: _each, - include: include - }; -})()); - - - -var Abstract = { }; - - -var Try = { - these: function() { - var returnValue; - - for (var i = 0, length = arguments.length; i < length; i++) { - var lambda = arguments[i]; - try { - returnValue = lambda(); - break; - } catch (e) { } - } - - return returnValue; - } -}; - -var Ajax = { - getTransport: function() { - return Try.these( - function() {return new XMLHttpRequest()}, - function() {return new ActiveXObject('Msxml2.XMLHTTP')}, - function() {return new ActiveXObject('Microsoft.XMLHTTP')} - ) || false; - }, - - activeRequestCount: 0 -}; - -Ajax.Responders = { - responders: [], - - _each: function(iterator) { - this.responders._each(iterator); - }, - - register: function(responder) { - if (!this.include(responder)) - this.responders.push(responder); - }, - - unregister: function(responder) { - this.responders = this.responders.without(responder); - }, - - dispatch: function(callback, request, transport, json) { - this.each(function(responder) { - if (Object.isFunction(responder[callback])) { - try { - responder[callback].apply(responder, [request, transport, json]); - } catch (e) { } - } - }); - } -}; - -Object.extend(Ajax.Responders, Enumerable); - -Ajax.Responders.register({ - onCreate: function() { Ajax.activeRequestCount++ }, - onComplete: function() { Ajax.activeRequestCount-- } -}); -Ajax.Base = Class.create({ - initialize: function(options) { - this.options = { - method: 'post', - asynchronous: true, - contentType: 'application/x-www-form-urlencoded', - encoding: 'UTF-8', - parameters: '', - evalJSON: true, - evalJS: true - }; - Object.extend(this.options, options || { }); - - this.options.method = this.options.method.toLowerCase(); - - if (Object.isHash(this.options.parameters)) - this.options.parameters = this.options.parameters.toObject(); - } -}); -Ajax.Request = Class.create(Ajax.Base, { - _complete: false, - - initialize: function($super, url, options) { - $super(options); - this.transport = Ajax.getTransport(); - this.request(url); - }, - - request: function(url) { - this.url = url; - this.method = this.options.method; - var params = Object.isString(this.options.parameters) ? - this.options.parameters : - Object.toQueryString(this.options.parameters); - - if (!['get', 'post'].include(this.method)) { - params += (params ? '&' : '') + "_method=" + this.method; - this.method = 'post'; - } - - if (params && this.method === 'get') { - this.url += (this.url.include('?') ? '&' : '?') + params; - } - - this.parameters = params.toQueryParams(); - - try { - var response = new Ajax.Response(this); - if (this.options.onCreate) this.options.onCreate(response); - Ajax.Responders.dispatch('onCreate', this, response); - - this.transport.open(this.method.toUpperCase(), this.url, - this.options.asynchronous); - - if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); - - this.transport.onreadystatechange = this.onStateChange.bind(this); - this.setRequestHeaders(); - - this.body = this.method == 'post' ? (this.options.postBody || params) : null; - this.transport.send(this.body); - - /* Force Firefox to handle ready state 4 for synchronous requests */ - if (!this.options.asynchronous && this.transport.overrideMimeType) - this.onStateChange(); - - } - catch (e) { - this.dispatchException(e); - } - }, - - onStateChange: function() { - var readyState = this.transport.readyState; - if (readyState > 1 && !((readyState == 4) && this._complete)) - this.respondToReadyState(this.transport.readyState); - }, - - setRequestHeaders: function() { - var headers = { - 'X-Requested-With': 'XMLHttpRequest', - 'X-Prototype-Version': Prototype.Version, - 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' - }; - - if (this.method == 'post') { - headers['Content-type'] = this.options.contentType + - (this.options.encoding ? '; charset=' + this.options.encoding : ''); - - /* Force "Connection: close" for older Mozilla browsers to work - * around a bug where XMLHttpRequest sends an incorrect - * Content-length header. See Mozilla Bugzilla #246651. - */ - if (this.transport.overrideMimeType && - (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) - headers['Connection'] = 'close'; - } - - if (typeof this.options.requestHeaders == 'object') { - var extras = this.options.requestHeaders; - - if (Object.isFunction(extras.push)) - for (var i = 0, length = extras.length; i < length; i += 2) - headers[extras[i]] = extras[i+1]; - else - $H(extras).each(function(pair) { headers[pair.key] = pair.value }); - } - - for (var name in headers) - this.transport.setRequestHeader(name, headers[name]); - }, - - success: function() { - var status = this.getStatus(); - return !status || (status >= 200 && status < 300) || status == 304; - }, - - getStatus: function() { - try { - if (this.transport.status === 1223) return 204; - return this.transport.status || 0; - } catch (e) { return 0 } - }, - - respondToReadyState: function(readyState) { - var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); - - if (state == 'Complete') { - try { - this._complete = true; - (this.options['on' + response.status] - || this.options['on' + (this.success() ? 'Success' : 'Failure')] - || Prototype.emptyFunction)(response, response.headerJSON); - } catch (e) { - this.dispatchException(e); - } - - var contentType = response.getHeader('Content-type'); - if (this.options.evalJS == 'force' - || (this.options.evalJS && this.isSameOrigin() && contentType - && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) - this.evalResponse(); - } - - try { - (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); - Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); - } catch (e) { - this.dispatchException(e); - } - - if (state == 'Complete') { - this.transport.onreadystatechange = Prototype.emptyFunction; - } - }, - - isSameOrigin: function() { - var m = this.url.match(/^\s*https?:\/\/[^\/]*/); - return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({ - protocol: location.protocol, - domain: document.domain, - port: location.port ? ':' + location.port : '' - })); - }, - - getHeader: function(name) { - try { - return this.transport.getResponseHeader(name) || null; - } catch (e) { return null; } - }, - - evalResponse: function() { - try { - return eval((this.transport.responseText || '').unfilterJSON()); - } catch (e) { - this.dispatchException(e); - } - }, - - dispatchException: function(exception) { - (this.options.onException || Prototype.emptyFunction)(this, exception); - Ajax.Responders.dispatch('onException', this, exception); - } -}); - -Ajax.Request.Events = - ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; - - - - - - - - -Ajax.Response = Class.create({ - initialize: function(request){ - this.request = request; - var transport = this.transport = request.transport, - readyState = this.readyState = transport.readyState; - - if ((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { - this.status = this.getStatus(); - this.statusText = this.getStatusText(); - this.responseText = String.interpret(transport.responseText); - this.headerJSON = this._getHeaderJSON(); - } - - if (readyState == 4) { - var xml = transport.responseXML; - this.responseXML = Object.isUndefined(xml) ? null : xml; - this.responseJSON = this._getResponseJSON(); - } - }, - - status: 0, - - statusText: '', - - getStatus: Ajax.Request.prototype.getStatus, - - getStatusText: function() { - try { - return this.transport.statusText || ''; - } catch (e) { return '' } - }, - - getHeader: Ajax.Request.prototype.getHeader, - - getAllHeaders: function() { - try { - return this.getAllResponseHeaders(); - } catch (e) { return null } - }, - - getResponseHeader: function(name) { - return this.transport.getResponseHeader(name); - }, - - getAllResponseHeaders: function() { - return this.transport.getAllResponseHeaders(); - }, - - _getHeaderJSON: function() { - var json = this.getHeader('X-JSON'); - if (!json) return null; - json = decodeURIComponent(escape(json)); - try { - return json.evalJSON(this.request.options.sanitizeJSON || - !this.request.isSameOrigin()); - } catch (e) { - this.request.dispatchException(e); - } - }, - - _getResponseJSON: function() { - var options = this.request.options; - if (!options.evalJSON || (options.evalJSON != 'force' && - !(this.getHeader('Content-type') || '').include('application/json')) || - this.responseText.blank()) - return null; - try { - return this.responseText.evalJSON(options.sanitizeJSON || - !this.request.isSameOrigin()); - } catch (e) { - this.request.dispatchException(e); - } - } -}); - -Ajax.Updater = Class.create(Ajax.Request, { - initialize: function($super, container, url, options) { - this.container = { - success: (container.success || container), - failure: (container.failure || (container.success ? null : container)) - }; - - options = Object.clone(options); - var onComplete = options.onComplete; - options.onComplete = (function(response, json) { - this.updateContent(response.responseText); - if (Object.isFunction(onComplete)) onComplete(response, json); - }).bind(this); - - $super(url, options); - }, - - updateContent: function(responseText) { - var receiver = this.container[this.success() ? 'success' : 'failure'], - options = this.options; - - if (!options.evalScripts) responseText = responseText.stripScripts(); - - if (receiver = $(receiver)) { - if (options.insertion) { - if (Object.isString(options.insertion)) { - var insertion = { }; insertion[options.insertion] = responseText; - receiver.insert(insertion); - } - else options.insertion(receiver, responseText); - } - else receiver.update(responseText); - } - } -}); - -Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { - initialize: function($super, container, url, options) { - $super(options); - this.onComplete = this.options.onComplete; - - this.frequency = (this.options.frequency || 2); - this.decay = (this.options.decay || 1); - - this.updater = { }; - this.container = container; - this.url = url; - - this.start(); - }, - - start: function() { - this.options.onComplete = this.updateComplete.bind(this); - this.onTimerEvent(); - }, - - stop: function() { - this.updater.options.onComplete = undefined; - clearTimeout(this.timer); - (this.onComplete || Prototype.emptyFunction).apply(this, arguments); - }, - - updateComplete: function(response) { - if (this.options.decay) { - this.decay = (response.responseText == this.lastText ? - this.decay * this.options.decay : 1); - - this.lastText = response.responseText; - } - this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); - }, - - onTimerEvent: function() { - this.updater = new Ajax.Updater(this.container, this.url, this.options); - } -}); - - -function $(element) { - if (arguments.length > 1) { - for (var i = 0, elements = [], length = arguments.length; i < length; i++) - elements.push($(arguments[i])); - return elements; - } - if (Object.isString(element)) - element = document.getElementById(element); - return Element.extend(element); -} - -if (Prototype.BrowserFeatures.XPath) { - document._getElementsByXPath = function(expression, parentElement) { - var results = []; - var query = document.evaluate(expression, $(parentElement) || document, - null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); - for (var i = 0, length = query.snapshotLength; i < length; i++) - results.push(Element.extend(query.snapshotItem(i))); - return results; - }; -} - -/*--------------------------------------------------------------------------*/ - -if (!Node) var Node = { }; - -if (!Node.ELEMENT_NODE) { - Object.extend(Node, { - ELEMENT_NODE: 1, - ATTRIBUTE_NODE: 2, - TEXT_NODE: 3, - CDATA_SECTION_NODE: 4, - ENTITY_REFERENCE_NODE: 5, - ENTITY_NODE: 6, - PROCESSING_INSTRUCTION_NODE: 7, - COMMENT_NODE: 8, - DOCUMENT_NODE: 9, - DOCUMENT_TYPE_NODE: 10, - DOCUMENT_FRAGMENT_NODE: 11, - NOTATION_NODE: 12 - }); -} - - - -(function(global) { - function shouldUseCache(tagName, attributes) { - if (tagName === 'select') return false; - if ('type' in attributes) return false; - return true; - } - - var HAS_EXTENDED_CREATE_ELEMENT_SYNTAX = (function(){ - try { - var el = document.createElement(''); - return el.tagName.toLowerCase() === 'input' && el.name === 'x'; - } - catch(err) { - return false; - } - })(); - - var element = global.Element; - - global.Element = function(tagName, attributes) { - attributes = attributes || { }; - tagName = tagName.toLowerCase(); - var cache = Element.cache; - - if (HAS_EXTENDED_CREATE_ELEMENT_SYNTAX && attributes.name) { - tagName = '<' + tagName + ' name="' + attributes.name + '">'; - delete attributes.name; - return Element.writeAttribute(document.createElement(tagName), attributes); - } - - if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); - - var node = shouldUseCache(tagName, attributes) ? - cache[tagName].cloneNode(false) : document.createElement(tagName); - - return Element.writeAttribute(node, attributes); - }; - - Object.extend(global.Element, element || { }); - if (element) global.Element.prototype = element.prototype; - -})(this); - -Element.idCounter = 1; -Element.cache = { }; - -Element._purgeElement = function(element) { - var uid = element._prototypeUID; - if (uid) { - Element.stopObserving(element); - element._prototypeUID = void 0; - delete Element.Storage[uid]; - } -} - -Element.Methods = { - visible: function(element) { - return $(element).style.display != 'none'; - }, - - toggle: function(element) { - element = $(element); - Element[Element.visible(element) ? 'hide' : 'show'](element); - return element; - }, - - hide: function(element) { - element = $(element); - element.style.display = 'none'; - return element; - }, - - show: function(element) { - element = $(element); - element.style.display = ''; - return element; - }, - - remove: function(element) { - element = $(element); - element.parentNode.removeChild(element); - return element; - }, - - update: (function(){ - - var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ - var el = document.createElement("select"), - isBuggy = true; - el.innerHTML = ""; - if (el.options && el.options[0]) { - isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; - } - el = null; - return isBuggy; - })(); - - var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ - try { - var el = document.createElement("table"); - if (el && el.tBodies) { - el.innerHTML = "test"; - var isBuggy = typeof el.tBodies[0] == "undefined"; - el = null; - return isBuggy; - } - } catch (e) { - return true; - } - })(); - - var LINK_ELEMENT_INNERHTML_BUGGY = (function() { - try { - var el = document.createElement('div'); - el.innerHTML = ""; - var isBuggy = (el.childNodes.length === 0); - el = null; - return isBuggy; - } catch(e) { - return true; - } - })(); - - var ANY_INNERHTML_BUGGY = SELECT_ELEMENT_INNERHTML_BUGGY || - TABLE_ELEMENT_INNERHTML_BUGGY || LINK_ELEMENT_INNERHTML_BUGGY; - - var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { - var s = document.createElement("script"), - isBuggy = false; - try { - s.appendChild(document.createTextNode("")); - isBuggy = !s.firstChild || - s.firstChild && s.firstChild.nodeType !== 3; - } catch (e) { - isBuggy = true; - } - s = null; - return isBuggy; - })(); - - - function update(element, content) { - element = $(element); - var purgeElement = Element._purgeElement; - - var descendants = element.getElementsByTagName('*'), - i = descendants.length; - while (i--) purgeElement(descendants[i]); - - if (content && content.toElement) - content = content.toElement(); - - if (Object.isElement(content)) - return element.update().insert(content); - - content = Object.toHTML(content); - - var tagName = element.tagName.toUpperCase(); - - if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { - element.text = content; - return element; - } - - if (ANY_INNERHTML_BUGGY) { - if (tagName in Element._insertionTranslations.tags) { - while (element.firstChild) { - element.removeChild(element.firstChild); - } - Element._getContentFromAnonymousElement(tagName, content.stripScripts()) - .each(function(node) { - element.appendChild(node) - }); - } else if (LINK_ELEMENT_INNERHTML_BUGGY && Object.isString(content) && content.indexOf(' -1) { - while (element.firstChild) { - element.removeChild(element.firstChild); - } - var nodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts(), true); - nodes.each(function(node) { element.appendChild(node) }); - } - else { - element.innerHTML = content.stripScripts(); - } - } - else { - element.innerHTML = content.stripScripts(); - } - - content.evalScripts.bind(content).defer(); - return element; - } - - return update; - })(), - - replace: function(element, content) { - element = $(element); - if (content && content.toElement) content = content.toElement(); - else if (!Object.isElement(content)) { - content = Object.toHTML(content); - var range = element.ownerDocument.createRange(); - range.selectNode(element); - content.evalScripts.bind(content).defer(); - content = range.createContextualFragment(content.stripScripts()); - } - element.parentNode.replaceChild(content, element); - return element; - }, - - insert: function(element, insertions) { - element = $(element); - - if (Object.isString(insertions) || Object.isNumber(insertions) || - Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) - insertions = {bottom:insertions}; - - var content, insert, tagName, childNodes; - - for (var position in insertions) { - content = insertions[position]; - position = position.toLowerCase(); - insert = Element._insertionTranslations[position]; - - if (content && content.toElement) content = content.toElement(); - if (Object.isElement(content)) { - insert(element, content); - continue; - } - - content = Object.toHTML(content); - - tagName = ((position == 'before' || position == 'after') - ? element.parentNode : element).tagName.toUpperCase(); - - childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); - - if (position == 'top' || position == 'after') childNodes.reverse(); - childNodes.each(insert.curry(element)); - - content.evalScripts.bind(content).defer(); - } - - return element; - }, - - wrap: function(element, wrapper, attributes) { - element = $(element); - if (Object.isElement(wrapper)) - $(wrapper).writeAttribute(attributes || { }); - else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); - else wrapper = new Element('div', wrapper); - if (element.parentNode) - element.parentNode.replaceChild(wrapper, element); - wrapper.appendChild(element); - return wrapper; - }, - - inspect: function(element) { - element = $(element); - var result = '<' + element.tagName.toLowerCase(); - $H({'id': 'id', 'className': 'class'}).each(function(pair) { - var property = pair.first(), - attribute = pair.last(), - value = (element[property] || '').toString(); - if (value) result += ' ' + attribute + '=' + value.inspect(true); - }); - return result + '>'; - }, - - recursivelyCollect: function(element, property, maximumLength) { - element = $(element); - maximumLength = maximumLength || -1; - var elements = []; - - while (element = element[property]) { - if (element.nodeType == 1) - elements.push(Element.extend(element)); - if (elements.length == maximumLength) - break; - } - - return elements; - }, - - ancestors: function(element) { - return Element.recursivelyCollect(element, 'parentNode'); - }, - - descendants: function(element) { - return Element.select(element, "*"); - }, - - firstDescendant: function(element) { - element = $(element).firstChild; - while (element && element.nodeType != 1) element = element.nextSibling; - return $(element); - }, - - immediateDescendants: function(element) { - var results = [], child = $(element).firstChild; - while (child) { - if (child.nodeType === 1) { - results.push(Element.extend(child)); - } - child = child.nextSibling; - } - return results; - }, - - previousSiblings: function(element, maximumLength) { - return Element.recursivelyCollect(element, 'previousSibling'); - }, - - nextSiblings: function(element) { - return Element.recursivelyCollect(element, 'nextSibling'); - }, - - siblings: function(element) { - element = $(element); - return Element.previousSiblings(element).reverse() - .concat(Element.nextSiblings(element)); - }, - - match: function(element, selector) { - element = $(element); - if (Object.isString(selector)) - return Prototype.Selector.match(element, selector); - return selector.match(element); - }, - - up: function(element, expression, index) { - element = $(element); - if (arguments.length == 1) return $(element.parentNode); - var ancestors = Element.ancestors(element); - return Object.isNumber(expression) ? ancestors[expression] : - Prototype.Selector.find(ancestors, expression, index); - }, - - down: function(element, expression, index) { - element = $(element); - if (arguments.length == 1) return Element.firstDescendant(element); - return Object.isNumber(expression) ? Element.descendants(element)[expression] : - Element.select(element, expression)[index || 0]; - }, - - previous: function(element, expression, index) { - element = $(element); - if (Object.isNumber(expression)) index = expression, expression = false; - if (!Object.isNumber(index)) index = 0; - - if (expression) { - return Prototype.Selector.find(element.previousSiblings(), expression, index); - } else { - return element.recursivelyCollect("previousSibling", index + 1)[index]; - } - }, - - next: function(element, expression, index) { - element = $(element); - if (Object.isNumber(expression)) index = expression, expression = false; - if (!Object.isNumber(index)) index = 0; - - if (expression) { - return Prototype.Selector.find(element.nextSiblings(), expression, index); - } else { - var maximumLength = Object.isNumber(index) ? index + 1 : 1; - return element.recursivelyCollect("nextSibling", index + 1)[index]; - } - }, - - - select: function(element) { - element = $(element); - var expressions = Array.prototype.slice.call(arguments, 1).join(', '); - return Prototype.Selector.select(expressions, element); - }, - - adjacent: function(element) { - element = $(element); - var expressions = Array.prototype.slice.call(arguments, 1).join(', '); - return Prototype.Selector.select(expressions, element.parentNode).without(element); - }, - - identify: function(element) { - element = $(element); - var id = Element.readAttribute(element, 'id'); - if (id) return id; - do { id = 'anonymous_element_' + Element.idCounter++ } while ($(id)); - Element.writeAttribute(element, 'id', id); - return id; - }, - - readAttribute: function(element, name) { - element = $(element); - if (Prototype.Browser.IE) { - var t = Element._attributeTranslations.read; - if (t.values[name]) return t.values[name](element, name); - if (t.names[name]) name = t.names[name]; - if (name.include(':')) { - return (!element.attributes || !element.attributes[name]) ? null : - element.attributes[name].value; - } - } - return element.getAttribute(name); - }, - - writeAttribute: function(element, name, value) { - element = $(element); - var attributes = { }, t = Element._attributeTranslations.write; - - if (typeof name == 'object') attributes = name; - else attributes[name] = Object.isUndefined(value) ? true : value; - - for (var attr in attributes) { - name = t.names[attr] || attr; - value = attributes[attr]; - if (t.values[attr]) name = t.values[attr](element, value); - if (value === false || value === null) - element.removeAttribute(name); - else if (value === true) - element.setAttribute(name, name); - else element.setAttribute(name, value); - } - return element; - }, - - getHeight: function(element) { - return Element.getDimensions(element).height; - }, - - getWidth: function(element) { - return Element.getDimensions(element).width; - }, - - classNames: function(element) { - return new Element.ClassNames(element); - }, - - hasClassName: function(element, className) { - if (!(element = $(element))) return; - var elementClassName = element.className; - return (elementClassName.length > 0 && (elementClassName == className || - new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); - }, - - addClassName: function(element, className) { - if (!(element = $(element))) return; - if (!Element.hasClassName(element, className)) - element.className += (element.className ? ' ' : '') + className; - return element; - }, - - removeClassName: function(element, className) { - if (!(element = $(element))) return; - element.className = element.className.replace( - new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); - return element; - }, - - toggleClassName: function(element, className) { - if (!(element = $(element))) return; - return Element[Element.hasClassName(element, className) ? - 'removeClassName' : 'addClassName'](element, className); - }, - - cleanWhitespace: function(element) { - element = $(element); - var node = element.firstChild; - while (node) { - var nextNode = node.nextSibling; - if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) - element.removeChild(node); - node = nextNode; - } - return element; - }, - - empty: function(element) { - return $(element).innerHTML.blank(); - }, - - descendantOf: function(element, ancestor) { - element = $(element), ancestor = $(ancestor); - - if (element.compareDocumentPosition) - return (element.compareDocumentPosition(ancestor) & 8) === 8; - - if (ancestor.contains) - return ancestor.contains(element) && ancestor !== element; - - while (element = element.parentNode) - if (element == ancestor) return true; - - return false; - }, - - scrollTo: function(element) { - element = $(element); - var pos = Element.cumulativeOffset(element); - window.scrollTo(pos[0], pos[1]); - return element; - }, - - getStyle: function(element, style) { - element = $(element); - style = style == 'float' ? 'cssFloat' : style.camelize(); - var value = element.style[style]; - if (!value || value == 'auto') { - var css = document.defaultView.getComputedStyle(element, null); - value = css ? css[style] : null; - } - if (style == 'opacity') return value ? parseFloat(value) : 1.0; - return value == 'auto' ? null : value; - }, - - getOpacity: function(element) { - return $(element).getStyle('opacity'); - }, - - setStyle: function(element, styles) { - element = $(element); - var elementStyle = element.style, match; - if (Object.isString(styles)) { - element.style.cssText += ';' + styles; - return styles.include('opacity') ? - element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; - } - for (var property in styles) - if (property == 'opacity') element.setOpacity(styles[property]); - else - elementStyle[(property == 'float' || property == 'cssFloat') ? - (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') : - property] = styles[property]; - - return element; - }, - - setOpacity: function(element, value) { - element = $(element); - element.style.opacity = (value == 1 || value === '') ? '' : - (value < 0.00001) ? 0 : value; - return element; - }, - - makePositioned: function(element) { - element = $(element); - var pos = Element.getStyle(element, 'position'); - if (pos == 'static' || !pos) { - element._madePositioned = true; - element.style.position = 'relative'; - if (Prototype.Browser.Opera) { - element.style.top = 0; - element.style.left = 0; - } - } - return element; - }, - - undoPositioned: function(element) { - element = $(element); - if (element._madePositioned) { - element._madePositioned = undefined; - element.style.position = - element.style.top = - element.style.left = - element.style.bottom = - element.style.right = ''; - } - return element; - }, - - makeClipping: function(element) { - element = $(element); - if (element._overflow) return element; - element._overflow = Element.getStyle(element, 'overflow') || 'auto'; - if (element._overflow !== 'hidden') - element.style.overflow = 'hidden'; - return element; - }, - - undoClipping: function(element) { - element = $(element); - if (!element._overflow) return element; - element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; - element._overflow = null; - return element; - }, - - clonePosition: function(element, source) { - var options = Object.extend({ - setLeft: true, - setTop: true, - setWidth: true, - setHeight: true, - offsetTop: 0, - offsetLeft: 0 - }, arguments[2] || { }); - - source = $(source); - var p = Element.viewportOffset(source), delta = [0, 0], parent = null; - - element = $(element); - - if (Element.getStyle(element, 'position') == 'absolute') { - parent = Element.getOffsetParent(element); - delta = Element.viewportOffset(parent); - } - - if (parent == document.body) { - delta[0] -= document.body.offsetLeft; - delta[1] -= document.body.offsetTop; - } - - if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; - if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; - if (options.setWidth) element.style.width = source.offsetWidth + 'px'; - if (options.setHeight) element.style.height = source.offsetHeight + 'px'; - return element; - } -}; - -Object.extend(Element.Methods, { - getElementsBySelector: Element.Methods.select, - - childElements: Element.Methods.immediateDescendants -}); - -Element._attributeTranslations = { - write: { - names: { - className: 'class', - htmlFor: 'for' - }, - values: { } - } -}; - -if (Prototype.Browser.Opera) { - Element.Methods.getStyle = Element.Methods.getStyle.wrap( - function(proceed, element, style) { - switch (style) { - case 'height': case 'width': - if (!Element.visible(element)) return null; - - var dim = parseInt(proceed(element, style), 10); - - if (dim !== element['offset' + style.capitalize()]) - return dim + 'px'; - - var properties; - if (style === 'height') { - properties = ['border-top-width', 'padding-top', - 'padding-bottom', 'border-bottom-width']; - } - else { - properties = ['border-left-width', 'padding-left', - 'padding-right', 'border-right-width']; - } - return properties.inject(dim, function(memo, property) { - var val = proceed(element, property); - return val === null ? memo : memo - parseInt(val, 10); - }) + 'px'; - default: return proceed(element, style); - } - } - ); - - Element.Methods.readAttribute = Element.Methods.readAttribute.wrap( - function(proceed, element, attribute) { - if (attribute === 'title') return element.title; - return proceed(element, attribute); - } - ); -} - -else if (Prototype.Browser.IE) { - Element.Methods.getStyle = function(element, style) { - element = $(element); - style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); - var value = element.style[style]; - if (!value && element.currentStyle) value = element.currentStyle[style]; - - if (style == 'opacity') { - if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) - if (value[1]) return parseFloat(value[1]) / 100; - return 1.0; - } - - if (value == 'auto') { - if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) - return element['offset' + style.capitalize()] + 'px'; - return null; - } - return value; - }; - - Element.Methods.setOpacity = function(element, value) { - function stripAlpha(filter){ - return filter.replace(/alpha\([^\)]*\)/gi,''); - } - element = $(element); - var currentStyle = element.currentStyle; - if ((currentStyle && !currentStyle.hasLayout) || - (!currentStyle && element.style.zoom == 'normal')) - element.style.zoom = 1; - - var filter = element.getStyle('filter'), style = element.style; - if (value == 1 || value === '') { - (filter = stripAlpha(filter)) ? - style.filter = filter : style.removeAttribute('filter'); - return element; - } else if (value < 0.00001) value = 0; - style.filter = stripAlpha(filter) + - 'alpha(opacity=' + (value * 100) + ')'; - return element; - }; - - Element._attributeTranslations = (function(){ - - var classProp = 'className', - forProp = 'for', - el = document.createElement('div'); - - el.setAttribute(classProp, 'x'); - - if (el.className !== 'x') { - el.setAttribute('class', 'x'); - if (el.className === 'x') { - classProp = 'class'; - } - } - el = null; - - el = document.createElement('label'); - el.setAttribute(forProp, 'x'); - if (el.htmlFor !== 'x') { - el.setAttribute('htmlFor', 'x'); - if (el.htmlFor === 'x') { - forProp = 'htmlFor'; - } - } - el = null; - - return { - read: { - names: { - 'class': classProp, - 'className': classProp, - 'for': forProp, - 'htmlFor': forProp - }, - values: { - _getAttr: function(element, attribute) { - return element.getAttribute(attribute); - }, - _getAttr2: function(element, attribute) { - return element.getAttribute(attribute, 2); - }, - _getAttrNode: function(element, attribute) { - var node = element.getAttributeNode(attribute); - return node ? node.value : ""; - }, - _getEv: (function(){ - - var el = document.createElement('div'), f; - el.onclick = Prototype.emptyFunction; - var value = el.getAttribute('onclick'); - - if (String(value).indexOf('{') > -1) { - f = function(element, attribute) { - attribute = element.getAttribute(attribute); - if (!attribute) return null; - attribute = attribute.toString(); - attribute = attribute.split('{')[1]; - attribute = attribute.split('}')[0]; - return attribute.strip(); - }; - } - else if (value === '') { - f = function(element, attribute) { - attribute = element.getAttribute(attribute); - if (!attribute) return null; - return attribute.strip(); - }; - } - el = null; - return f; - })(), - _flag: function(element, attribute) { - return $(element).hasAttribute(attribute) ? attribute : null; - }, - style: function(element) { - return element.style.cssText.toLowerCase(); - }, - title: function(element) { - return element.title; - } - } - } - } - })(); - - Element._attributeTranslations.write = { - names: Object.extend({ - cellpadding: 'cellPadding', - cellspacing: 'cellSpacing' - }, Element._attributeTranslations.read.names), - values: { - checked: function(element, value) { - element.checked = !!value; - }, - - style: function(element, value) { - element.style.cssText = value ? value : ''; - } - } - }; - - Element._attributeTranslations.has = {}; - - $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + - 'encType maxLength readOnly longDesc frameBorder').each(function(attr) { - Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; - Element._attributeTranslations.has[attr.toLowerCase()] = attr; - }); - - (function(v) { - Object.extend(v, { - href: v._getAttr2, - src: v._getAttr2, - type: v._getAttr, - action: v._getAttrNode, - disabled: v._flag, - checked: v._flag, - readonly: v._flag, - multiple: v._flag, - onload: v._getEv, - onunload: v._getEv, - onclick: v._getEv, - ondblclick: v._getEv, - onmousedown: v._getEv, - onmouseup: v._getEv, - onmouseover: v._getEv, - onmousemove: v._getEv, - onmouseout: v._getEv, - onfocus: v._getEv, - onblur: v._getEv, - onkeypress: v._getEv, - onkeydown: v._getEv, - onkeyup: v._getEv, - onsubmit: v._getEv, - onreset: v._getEv, - onselect: v._getEv, - onchange: v._getEv - }); - })(Element._attributeTranslations.read.values); - - if (Prototype.BrowserFeatures.ElementExtensions) { - (function() { - function _descendants(element) { - var nodes = element.getElementsByTagName('*'), results = []; - for (var i = 0, node; node = nodes[i]; i++) - if (node.tagName !== "!") // Filter out comment nodes. - results.push(node); - return results; - } - - Element.Methods.down = function(element, expression, index) { - element = $(element); - if (arguments.length == 1) return element.firstDescendant(); - return Object.isNumber(expression) ? _descendants(element)[expression] : - Element.select(element, expression)[index || 0]; - } - })(); - } - -} - -else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { - Element.Methods.setOpacity = function(element, value) { - element = $(element); - element.style.opacity = (value == 1) ? 0.999999 : - (value === '') ? '' : (value < 0.00001) ? 0 : value; - return element; - }; -} - -else if (Prototype.Browser.WebKit) { - Element.Methods.setOpacity = function(element, value) { - element = $(element); - element.style.opacity = (value == 1 || value === '') ? '' : - (value < 0.00001) ? 0 : value; - - if (value == 1) - if (element.tagName.toUpperCase() == 'IMG' && element.width) { - element.width++; element.width--; - } else try { - var n = document.createTextNode(' '); - element.appendChild(n); - element.removeChild(n); - } catch (e) { } - - return element; - }; -} - -if ('outerHTML' in document.documentElement) { - Element.Methods.replace = function(element, content) { - element = $(element); - - if (content && content.toElement) content = content.toElement(); - if (Object.isElement(content)) { - element.parentNode.replaceChild(content, element); - return element; - } - - content = Object.toHTML(content); - var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); - - if (Element._insertionTranslations.tags[tagName]) { - var nextSibling = element.next(), - fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); - parent.removeChild(element); - if (nextSibling) - fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); - else - fragments.each(function(node) { parent.appendChild(node) }); - } - else element.outerHTML = content.stripScripts(); - - content.evalScripts.bind(content).defer(); - return element; - }; -} - -Element._returnOffset = function(l, t) { - var result = [l, t]; - result.left = l; - result.top = t; - return result; -}; - -Element._getContentFromAnonymousElement = function(tagName, html, force) { - var div = new Element('div'), - t = Element._insertionTranslations.tags[tagName]; - - var workaround = false; - if (t) workaround = true; - else if (force) { - workaround = true; - t = ['', '', 0]; - } - - if (workaround) { - div.innerHTML = ' ' + t[0] + html + t[1]; - div.removeChild(div.firstChild); - for (var i = t[2]; i--; ) { - div = div.firstChild; - } - } - else { - div.innerHTML = html; - } - return $A(div.childNodes); -}; - -Element._insertionTranslations = { - before: function(element, node) { - element.parentNode.insertBefore(node, element); - }, - top: function(element, node) { - element.insertBefore(node, element.firstChild); - }, - bottom: function(element, node) { - element.appendChild(node); - }, - after: function(element, node) { - element.parentNode.insertBefore(node, element.nextSibling); - }, - tags: { - TABLE: ['', '
', 1], - TBODY: ['', '
', 2], - TR: ['', '
', 3], - TD: ['
', '
', 4], - SELECT: ['', 1] - } -}; - -(function() { - var tags = Element._insertionTranslations.tags; - Object.extend(tags, { - THEAD: tags.TBODY, - TFOOT: tags.TBODY, - TH: tags.TD - }); -})(); - -Element.Methods.Simulated = { - hasAttribute: function(element, attribute) { - attribute = Element._attributeTranslations.has[attribute] || attribute; - var node = $(element).getAttributeNode(attribute); - return !!(node && node.specified); - } -}; - -Element.Methods.ByTag = { }; - -Object.extend(Element, Element.Methods); - -(function(div) { - - if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) { - window.HTMLElement = { }; - window.HTMLElement.prototype = div['__proto__']; - Prototype.BrowserFeatures.ElementExtensions = true; - } - - div = null; - -})(document.createElement('div')); - -Element.extend = (function() { - - function checkDeficiency(tagName) { - if (typeof window.Element != 'undefined') { - var proto = window.Element.prototype; - if (proto) { - var id = '_' + (Math.random()+'').slice(2), - el = document.createElement(tagName); - proto[id] = 'x'; - var isBuggy = (el[id] !== 'x'); - delete proto[id]; - el = null; - return isBuggy; - } - } - return false; - } - - function extendElementWith(element, methods) { - for (var property in methods) { - var value = methods[property]; - if (Object.isFunction(value) && !(property in element)) - element[property] = value.methodize(); - } - } - - var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkDeficiency('object'); - - if (Prototype.BrowserFeatures.SpecificElementExtensions) { - if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) { - return function(element) { - if (element && typeof element._extendedByPrototype == 'undefined') { - var t = element.tagName; - if (t && (/^(?:object|applet|embed)$/i.test(t))) { - extendElementWith(element, Element.Methods); - extendElementWith(element, Element.Methods.Simulated); - extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]); - } - } - return element; - } - } - return Prototype.K; - } - - var Methods = { }, ByTag = Element.Methods.ByTag; - - var extend = Object.extend(function(element) { - if (!element || typeof element._extendedByPrototype != 'undefined' || - element.nodeType != 1 || element == window) return element; - - var methods = Object.clone(Methods), - tagName = element.tagName.toUpperCase(); - - if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); - - extendElementWith(element, methods); - - element._extendedByPrototype = Prototype.emptyFunction; - return element; - - }, { - refresh: function() { - if (!Prototype.BrowserFeatures.ElementExtensions) { - Object.extend(Methods, Element.Methods); - Object.extend(Methods, Element.Methods.Simulated); - } - } - }); - - extend.refresh(); - return extend; -})(); - -if (document.documentElement.hasAttribute) { - Element.hasAttribute = function(element, attribute) { - return element.hasAttribute(attribute); - }; -} -else { - Element.hasAttribute = Element.Methods.Simulated.hasAttribute; -} - -Element.addMethods = function(methods) { - var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; - - if (!methods) { - Object.extend(Form, Form.Methods); - Object.extend(Form.Element, Form.Element.Methods); - Object.extend(Element.Methods.ByTag, { - "FORM": Object.clone(Form.Methods), - "INPUT": Object.clone(Form.Element.Methods), - "SELECT": Object.clone(Form.Element.Methods), - "TEXTAREA": Object.clone(Form.Element.Methods), - "BUTTON": Object.clone(Form.Element.Methods) - }); - } - - if (arguments.length == 2) { - var tagName = methods; - methods = arguments[1]; - } - - if (!tagName) Object.extend(Element.Methods, methods || { }); - else { - if (Object.isArray(tagName)) tagName.each(extend); - else extend(tagName); - } - - function extend(tagName) { - tagName = tagName.toUpperCase(); - if (!Element.Methods.ByTag[tagName]) - Element.Methods.ByTag[tagName] = { }; - Object.extend(Element.Methods.ByTag[tagName], methods); - } - - function copy(methods, destination, onlyIfAbsent) { - onlyIfAbsent = onlyIfAbsent || false; - for (var property in methods) { - var value = methods[property]; - if (!Object.isFunction(value)) continue; - if (!onlyIfAbsent || !(property in destination)) - destination[property] = value.methodize(); - } - } - - function findDOMClass(tagName) { - var klass; - var trans = { - "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", - "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", - "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", - "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", - "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": - "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": - "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": - "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": - "FrameSet", "IFRAME": "IFrame" - }; - if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; - if (window[klass]) return window[klass]; - klass = 'HTML' + tagName + 'Element'; - if (window[klass]) return window[klass]; - klass = 'HTML' + tagName.capitalize() + 'Element'; - if (window[klass]) return window[klass]; - - var element = document.createElement(tagName), - proto = element['__proto__'] || element.constructor.prototype; - - element = null; - return proto; - } - - var elementPrototype = window.HTMLElement ? HTMLElement.prototype : - Element.prototype; - - if (F.ElementExtensions) { - copy(Element.Methods, elementPrototype); - copy(Element.Methods.Simulated, elementPrototype, true); - } - - if (F.SpecificElementExtensions) { - for (var tag in Element.Methods.ByTag) { - var klass = findDOMClass(tag); - if (Object.isUndefined(klass)) continue; - copy(T[tag], klass.prototype); - } - } - - Object.extend(Element, Element.Methods); - delete Element.ByTag; - - if (Element.extend.refresh) Element.extend.refresh(); - Element.cache = { }; -}; - - -document.viewport = { - - getDimensions: function() { - return { width: this.getWidth(), height: this.getHeight() }; - }, - - getScrollOffsets: function() { - return Element._returnOffset( - window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, - window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); - } -}; - -(function(viewport) { - var B = Prototype.Browser, doc = document, element, property = {}; - - function getRootElement() { - if (B.WebKit && !doc.evaluate) - return document; - - if (B.Opera && window.parseFloat(window.opera.version()) < 9.5) - return document.body; - - return document.documentElement; - } - - function define(D) { - if (!element) element = getRootElement(); - - property[D] = 'client' + D; - - viewport['get' + D] = function() { return element[property[D]] }; - return viewport['get' + D](); - } - - viewport.getWidth = define.curry('Width'); - - viewport.getHeight = define.curry('Height'); -})(document.viewport); - - -Element.Storage = { - UID: 1 -}; - -Element.addMethods({ - getStorage: function(element) { - if (!(element = $(element))) return; - - var uid; - if (element === window) { - uid = 0; - } else { - if (typeof element._prototypeUID === "undefined") - element._prototypeUID = Element.Storage.UID++; - uid = element._prototypeUID; - } - - if (!Element.Storage[uid]) - Element.Storage[uid] = $H(); - - return Element.Storage[uid]; - }, - - store: function(element, key, value) { - if (!(element = $(element))) return; - - if (arguments.length === 2) { - Element.getStorage(element).update(key); - } else { - Element.getStorage(element).set(key, value); - } - - return element; - }, - - retrieve: function(element, key, defaultValue) { - if (!(element = $(element))) return; - var hash = Element.getStorage(element), value = hash.get(key); - - if (Object.isUndefined(value)) { - hash.set(key, defaultValue); - value = defaultValue; - } - - return value; - }, - - clone: function(element, deep) { - if (!(element = $(element))) return; - var clone = element.cloneNode(deep); - clone._prototypeUID = void 0; - if (deep) { - var descendants = Element.select(clone, '*'), - i = descendants.length; - while (i--) { - descendants[i]._prototypeUID = void 0; - } - } - return Element.extend(clone); - }, - - purge: function(element) { - if (!(element = $(element))) return; - var purgeElement = Element._purgeElement; - - purgeElement(element); - - var descendants = element.getElementsByTagName('*'), - i = descendants.length; - - while (i--) purgeElement(descendants[i]); - - return null; - } -}); - -(function() { - - function toDecimal(pctString) { - var match = pctString.match(/^(\d+)%?$/i); - if (!match) return null; - return (Number(match[1]) / 100); - } - - function getPixelValue(value, property, context) { - var element = null; - if (Object.isElement(value)) { - element = value; - value = element.getStyle(property); - } - - if (value === null) { - return null; - } - - if ((/^(?:-)?\d+(\.\d+)?(px)?$/i).test(value)) { - return window.parseFloat(value); - } - - var isPercentage = value.include('%'), isViewport = (context === document.viewport); - - if (/\d/.test(value) && element && element.runtimeStyle && !(isPercentage && isViewport)) { - var style = element.style.left, rStyle = element.runtimeStyle.left; - element.runtimeStyle.left = element.currentStyle.left; - element.style.left = value || 0; - value = element.style.pixelLeft; - element.style.left = style; - element.runtimeStyle.left = rStyle; - - return value; - } - - if (element && isPercentage) { - context = context || element.parentNode; - var decimal = toDecimal(value); - var whole = null; - var position = element.getStyle('position'); - - var isHorizontal = property.include('left') || property.include('right') || - property.include('width'); - - var isVertical = property.include('top') || property.include('bottom') || - property.include('height'); - - if (context === document.viewport) { - if (isHorizontal) { - whole = document.viewport.getWidth(); - } else if (isVertical) { - whole = document.viewport.getHeight(); - } - } else { - if (isHorizontal) { - whole = $(context).measure('width'); - } else if (isVertical) { - whole = $(context).measure('height'); - } - } - - return (whole === null) ? 0 : whole * decimal; - } - - return 0; - } - - function toCSSPixels(number) { - if (Object.isString(number) && number.endsWith('px')) { - return number; - } - return number + 'px'; - } - - function isDisplayed(element) { - var originalElement = element; - while (element && element.parentNode) { - var display = element.getStyle('display'); - if (display === 'none') { - return false; - } - element = $(element.parentNode); - } - return true; - } - - var hasLayout = Prototype.K; - if ('currentStyle' in document.documentElement) { - hasLayout = function(element) { - if (!element.currentStyle.hasLayout) { - element.style.zoom = 1; - } - return element; - }; - } - - function cssNameFor(key) { - if (key.include('border')) key = key + '-width'; - return key.camelize(); - } - - Element.Layout = Class.create(Hash, { - initialize: function($super, element, preCompute) { - $super(); - this.element = $(element); - - Element.Layout.PROPERTIES.each( function(property) { - this._set(property, null); - }, this); - - if (preCompute) { - this._preComputing = true; - this._begin(); - Element.Layout.PROPERTIES.each( this._compute, this ); - this._end(); - this._preComputing = false; - } - }, - - _set: function(property, value) { - return Hash.prototype.set.call(this, property, value); - }, - - set: function(property, value) { - throw "Properties of Element.Layout are read-only."; - }, - - get: function($super, property) { - var value = $super(property); - return value === null ? this._compute(property) : value; - }, - - _begin: function() { - if (this._prepared) return; - - var element = this.element; - if (isDisplayed(element)) { - this._prepared = true; - return; - } - - var originalStyles = { - position: element.style.position || '', - width: element.style.width || '', - visibility: element.style.visibility || '', - display: element.style.display || '' - }; - - element.store('prototype_original_styles', originalStyles); - - var position = element.getStyle('position'), - width = element.getStyle('width'); - - if (width === "0px" || width === null) { - element.style.display = 'block'; - width = element.getStyle('width'); - } - - var context = (position === 'fixed') ? document.viewport : - element.parentNode; - - element.setStyle({ - position: 'absolute', - visibility: 'hidden', - display: 'block' - }); - - var positionedWidth = element.getStyle('width'); - - var newWidth; - if (width && (positionedWidth === width)) { - newWidth = getPixelValue(element, 'width', context); - } else if (position === 'absolute' || position === 'fixed') { - newWidth = getPixelValue(element, 'width', context); - } else { - var parent = element.parentNode, pLayout = $(parent).getLayout(); - - newWidth = pLayout.get('width') - - this.get('margin-left') - - this.get('border-left') - - this.get('padding-left') - - this.get('padding-right') - - this.get('border-right') - - this.get('margin-right'); - } - - element.setStyle({ width: newWidth + 'px' }); - - this._prepared = true; - }, - - _end: function() { - var element = this.element; - var originalStyles = element.retrieve('prototype_original_styles'); - element.store('prototype_original_styles', null); - element.setStyle(originalStyles); - this._prepared = false; - }, - - _compute: function(property) { - var COMPUTATIONS = Element.Layout.COMPUTATIONS; - if (!(property in COMPUTATIONS)) { - throw "Property not found."; - } - - return this._set(property, COMPUTATIONS[property].call(this, this.element)); - }, - - toObject: function() { - var args = $A(arguments); - var keys = (args.length === 0) ? Element.Layout.PROPERTIES : - args.join(' ').split(' '); - var obj = {}; - keys.each( function(key) { - if (!Element.Layout.PROPERTIES.include(key)) return; - var value = this.get(key); - if (value != null) obj[key] = value; - }, this); - return obj; - }, - - toHash: function() { - var obj = this.toObject.apply(this, arguments); - return new Hash(obj); - }, - - toCSS: function() { - var args = $A(arguments); - var keys = (args.length === 0) ? Element.Layout.PROPERTIES : - args.join(' ').split(' '); - var css = {}; - - keys.each( function(key) { - if (!Element.Layout.PROPERTIES.include(key)) return; - if (Element.Layout.COMPOSITE_PROPERTIES.include(key)) return; - - var value = this.get(key); - if (value != null) css[cssNameFor(key)] = value + 'px'; - }, this); - return css; - }, - - inspect: function() { - return "#"; - } - }); - - Object.extend(Element.Layout, { - PROPERTIES: $w('height width top left right bottom border-left border-right border-top border-bottom padding-left padding-right padding-top padding-bottom margin-top margin-bottom margin-left margin-right padding-box-width padding-box-height border-box-width border-box-height margin-box-width margin-box-height'), - - COMPOSITE_PROPERTIES: $w('padding-box-width padding-box-height margin-box-width margin-box-height border-box-width border-box-height'), - - COMPUTATIONS: { - 'height': function(element) { - if (!this._preComputing) this._begin(); - - var bHeight = this.get('border-box-height'); - if (bHeight <= 0) { - if (!this._preComputing) this._end(); - return 0; - } - - var bTop = this.get('border-top'), - bBottom = this.get('border-bottom'); - - var pTop = this.get('padding-top'), - pBottom = this.get('padding-bottom'); - - if (!this._preComputing) this._end(); - - return bHeight - bTop - bBottom - pTop - pBottom; - }, - - 'width': function(element) { - if (!this._preComputing) this._begin(); - - var bWidth = this.get('border-box-width'); - if (bWidth <= 0) { - if (!this._preComputing) this._end(); - return 0; - } - - var bLeft = this.get('border-left'), - bRight = this.get('border-right'); - - var pLeft = this.get('padding-left'), - pRight = this.get('padding-right'); - - if (!this._preComputing) this._end(); - - return bWidth - bLeft - bRight - pLeft - pRight; - }, - - 'padding-box-height': function(element) { - var height = this.get('height'), - pTop = this.get('padding-top'), - pBottom = this.get('padding-bottom'); - - return height + pTop + pBottom; - }, - - 'padding-box-width': function(element) { - var width = this.get('width'), - pLeft = this.get('padding-left'), - pRight = this.get('padding-right'); - - return width + pLeft + pRight; - }, - - 'border-box-height': function(element) { - if (!this._preComputing) this._begin(); - var height = element.offsetHeight; - if (!this._preComputing) this._end(); - return height; - }, - - 'border-box-width': function(element) { - if (!this._preComputing) this._begin(); - var width = element.offsetWidth; - if (!this._preComputing) this._end(); - return width; - }, - - 'margin-box-height': function(element) { - var bHeight = this.get('border-box-height'), - mTop = this.get('margin-top'), - mBottom = this.get('margin-bottom'); - - if (bHeight <= 0) return 0; - - return bHeight + mTop + mBottom; - }, - - 'margin-box-width': function(element) { - var bWidth = this.get('border-box-width'), - mLeft = this.get('margin-left'), - mRight = this.get('margin-right'); - - if (bWidth <= 0) return 0; - - return bWidth + mLeft + mRight; - }, - - 'top': function(element) { - var offset = element.positionedOffset(); - return offset.top; - }, - - 'bottom': function(element) { - var offset = element.positionedOffset(), - parent = element.getOffsetParent(), - pHeight = parent.measure('height'); - - var mHeight = this.get('border-box-height'); - - return pHeight - mHeight - offset.top; - }, - - 'left': function(element) { - var offset = element.positionedOffset(); - return offset.left; - }, - - 'right': function(element) { - var offset = element.positionedOffset(), - parent = element.getOffsetParent(), - pWidth = parent.measure('width'); - - var mWidth = this.get('border-box-width'); - - return pWidth - mWidth - offset.left; - }, - - 'padding-top': function(element) { - return getPixelValue(element, 'paddingTop'); - }, - - 'padding-bottom': function(element) { - return getPixelValue(element, 'paddingBottom'); - }, - - 'padding-left': function(element) { - return getPixelValue(element, 'paddingLeft'); - }, - - 'padding-right': function(element) { - return getPixelValue(element, 'paddingRight'); - }, - - 'border-top': function(element) { - return getPixelValue(element, 'borderTopWidth'); - }, - - 'border-bottom': function(element) { - return getPixelValue(element, 'borderBottomWidth'); - }, - - 'border-left': function(element) { - return getPixelValue(element, 'borderLeftWidth'); - }, - - 'border-right': function(element) { - return getPixelValue(element, 'borderRightWidth'); - }, - - 'margin-top': function(element) { - return getPixelValue(element, 'marginTop'); - }, - - 'margin-bottom': function(element) { - return getPixelValue(element, 'marginBottom'); - }, - - 'margin-left': function(element) { - return getPixelValue(element, 'marginLeft'); - }, - - 'margin-right': function(element) { - return getPixelValue(element, 'marginRight'); - } - } - }); - - if ('getBoundingClientRect' in document.documentElement) { - Object.extend(Element.Layout.COMPUTATIONS, { - 'right': function(element) { - var parent = hasLayout(element.getOffsetParent()); - var rect = element.getBoundingClientRect(), - pRect = parent.getBoundingClientRect(); - - return (pRect.right - rect.right).round(); - }, - - 'bottom': function(element) { - var parent = hasLayout(element.getOffsetParent()); - var rect = element.getBoundingClientRect(), - pRect = parent.getBoundingClientRect(); - - return (pRect.bottom - rect.bottom).round(); - } - }); - } - - Element.Offset = Class.create({ - initialize: function(left, top) { - this.left = left.round(); - this.top = top.round(); - - this[0] = this.left; - this[1] = this.top; - }, - - relativeTo: function(offset) { - return new Element.Offset( - this.left - offset.left, - this.top - offset.top - ); - }, - - inspect: function() { - return "#".interpolate(this); - }, - - toString: function() { - return "[#{left}, #{top}]".interpolate(this); - }, - - toArray: function() { - return [this.left, this.top]; - } - }); - - function getLayout(element, preCompute) { - return new Element.Layout(element, preCompute); - } - - function measure(element, property) { - return $(element).getLayout().get(property); - } - - function getDimensions(element) { - element = $(element); - var display = Element.getStyle(element, 'display'); - - if (display && display !== 'none') { - return { width: element.offsetWidth, height: element.offsetHeight }; - } - - var style = element.style; - var originalStyles = { - visibility: style.visibility, - position: style.position, - display: style.display - }; - - var newStyles = { - visibility: 'hidden', - display: 'block' - }; - - if (originalStyles.position !== 'fixed') - newStyles.position = 'absolute'; - - Element.setStyle(element, newStyles); - - var dimensions = { - width: element.offsetWidth, - height: element.offsetHeight - }; - - Element.setStyle(element, originalStyles); - - return dimensions; - } - - function getOffsetParent(element) { - element = $(element); - - if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) - return $(document.body); - - var isInline = (Element.getStyle(element, 'display') === 'inline'); - if (!isInline && element.offsetParent) return $(element.offsetParent); - - while ((element = element.parentNode) && element !== document.body) { - if (Element.getStyle(element, 'position') !== 'static') { - return isHtml(element) ? $(document.body) : $(element); - } - } - - return $(document.body); - } - - - function cumulativeOffset(element) { - element = $(element); - var valueT = 0, valueL = 0; - if (element.parentNode) { - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - } while (element); - } - return new Element.Offset(valueL, valueT); - } - - function positionedOffset(element) { - element = $(element); - - var layout = element.getLayout(); - - var valueT = 0, valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - element = element.offsetParent; - if (element) { - if (isBody(element)) break; - var p = Element.getStyle(element, 'position'); - if (p !== 'static') break; - } - } while (element); - - valueL -= layout.get('margin-top'); - valueT -= layout.get('margin-left'); - - return new Element.Offset(valueL, valueT); - } - - function cumulativeScrollOffset(element) { - var valueT = 0, valueL = 0; - do { - valueT += element.scrollTop || 0; - valueL += element.scrollLeft || 0; - element = element.parentNode; - } while (element); - return new Element.Offset(valueL, valueT); - } - - function viewportOffset(forElement) { - element = $(element); - var valueT = 0, valueL = 0, docBody = document.body; - - var element = forElement; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - if (element.offsetParent == docBody && - Element.getStyle(element, 'position') == 'absolute') break; - } while (element = element.offsetParent); - - element = forElement; - do { - if (element != docBody) { - valueT -= element.scrollTop || 0; - valueL -= element.scrollLeft || 0; - } - } while (element = element.parentNode); - return new Element.Offset(valueL, valueT); - } - - function absolutize(element) { - element = $(element); - - if (Element.getStyle(element, 'position') === 'absolute') { - return element; - } - - var offsetParent = getOffsetParent(element); - var eOffset = element.viewportOffset(), - pOffset = offsetParent.viewportOffset(); - - var offset = eOffset.relativeTo(pOffset); - var layout = element.getLayout(); - - element.store('prototype_absolutize_original_styles', { - left: element.getStyle('left'), - top: element.getStyle('top'), - width: element.getStyle('width'), - height: element.getStyle('height') - }); - - element.setStyle({ - position: 'absolute', - top: offset.top + 'px', - left: offset.left + 'px', - width: layout.get('width') + 'px', - height: layout.get('height') + 'px' - }); - - return element; - } - - function relativize(element) { - element = $(element); - if (Element.getStyle(element, 'position') === 'relative') { - return element; - } - - var originalStyles = - element.retrieve('prototype_absolutize_original_styles'); - - if (originalStyles) element.setStyle(originalStyles); - return element; - } - - if (Prototype.Browser.IE) { - getOffsetParent = getOffsetParent.wrap( - function(proceed, element) { - element = $(element); - - if (isDocument(element) || isDetached(element) || isBody(element) || isHtml(element)) - return $(document.body); - - var position = element.getStyle('position'); - if (position !== 'static') return proceed(element); - - element.setStyle({ position: 'relative' }); - var value = proceed(element); - element.setStyle({ position: position }); - return value; - } - ); - - positionedOffset = positionedOffset.wrap(function(proceed, element) { - element = $(element); - if (!element.parentNode) return new Element.Offset(0, 0); - var position = element.getStyle('position'); - if (position !== 'static') return proceed(element); - - var offsetParent = element.getOffsetParent(); - if (offsetParent && offsetParent.getStyle('position') === 'fixed') - hasLayout(offsetParent); - - element.setStyle({ position: 'relative' }); - var value = proceed(element); - element.setStyle({ position: position }); - return value; - }); - } else if (Prototype.Browser.Webkit) { - cumulativeOffset = function(element) { - element = $(element); - var valueT = 0, valueL = 0; - do { - valueT += element.offsetTop || 0; - valueL += element.offsetLeft || 0; - if (element.offsetParent == document.body) - if (Element.getStyle(element, 'position') == 'absolute') break; - - element = element.offsetParent; - } while (element); - - return new Element.Offset(valueL, valueT); - }; - } - - - Element.addMethods({ - getLayout: getLayout, - measure: measure, - getDimensions: getDimensions, - getOffsetParent: getOffsetParent, - cumulativeOffset: cumulativeOffset, - positionedOffset: positionedOffset, - cumulativeScrollOffset: cumulativeScrollOffset, - viewportOffset: viewportOffset, - absolutize: absolutize, - relativize: relativize - }); - - function isBody(element) { - return element.nodeName.toUpperCase() === 'BODY'; - } - - function isHtml(element) { - return element.nodeName.toUpperCase() === 'HTML'; - } - - function isDocument(element) { - return element.nodeType === Node.DOCUMENT_NODE; - } - - function isDetached(element) { - return element !== document.body && - !Element.descendantOf(element, document.body); - } - - if ('getBoundingClientRect' in document.documentElement) { - Element.addMethods({ - viewportOffset: function(element) { - element = $(element); - if (isDetached(element)) return new Element.Offset(0, 0); - - var rect = element.getBoundingClientRect(), - docEl = document.documentElement; - return new Element.Offset(rect.left - docEl.clientLeft, - rect.top - docEl.clientTop); - } - }); - } -})(); -window.$$ = function() { - var expression = $A(arguments).join(', '); - return Prototype.Selector.select(expression, document); -}; - -Prototype.Selector = (function() { - - function select() { - throw new Error('Method "Prototype.Selector.select" must be defined.'); - } - - function match() { - throw new Error('Method "Prototype.Selector.match" must be defined.'); - } - - function find(elements, expression, index) { - index = index || 0; - var match = Prototype.Selector.match, length = elements.length, matchIndex = 0, i; - - for (i = 0; i < length; i++) { - if (match(elements[i], expression) && index == matchIndex++) { - return Element.extend(elements[i]); - } - } - } - - function extendElements(elements) { - for (var i = 0, length = elements.length; i < length; i++) { - Element.extend(elements[i]); - } - return elements; - } - - - var K = Prototype.K; - - return { - select: select, - match: match, - find: find, - extendElements: (Element.extend === K) ? K : extendElements, - extendElement: Element.extend - }; -})(); -/*! - * Sizzle CSS Selector Engine - v1.0 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){ - -var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, - done = 0, - toString = Object.prototype.toString, - hasDuplicate = false, - baseHasDuplicate = true; - -[0, 0].sort(function(){ - baseHasDuplicate = false; - return 0; -}); - -var Sizzle = function(selector, context, results, seed) { - results = results || []; - var origContext = context = context || document; - - if ( context.nodeType !== 1 && context.nodeType !== 9 ) { - return []; - } - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - var parts = [], m, set, checkSet, check, mode, extra, prune = true, contextXML = isXML(context), - soFar = selector; - - while ( (chunker.exec(""), m = chunker.exec(soFar)) !== null ) { - soFar = m[3]; - - parts.push( m[1] ); - - if ( m[2] ) { - extra = m[3]; - break; - } - } - - if ( parts.length > 1 && origPOS.exec( selector ) ) { - if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { - set = posProcess( parts[0] + parts[1], context ); - } else { - set = Expr.relative[ parts[0] ] ? - [ context ] : - Sizzle( parts.shift(), context ); - - while ( parts.length ) { - selector = parts.shift(); - - if ( Expr.relative[ selector ] ) - selector += parts.shift(); - - set = posProcess( selector, set ); - } - } - } else { - if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && - Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { - var ret = Sizzle.find( parts.shift(), context, contextXML ); - context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; - } - - if ( context ) { - var ret = seed ? - { expr: parts.pop(), set: makeArray(seed) } : - Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); - set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set; - - if ( parts.length > 0 ) { - checkSet = makeArray(set); - } else { - prune = false; - } - - while ( parts.length ) { - var cur = parts.pop(), pop = cur; - - if ( !Expr.relative[ cur ] ) { - cur = ""; - } else { - pop = parts.pop(); - } - - if ( pop == null ) { - pop = context; - } - - Expr.relative[ cur ]( checkSet, pop, contextXML ); - } - } else { - checkSet = parts = []; - } - } - - if ( !checkSet ) { - checkSet = set; - } - - if ( !checkSet ) { - throw "Syntax error, unrecognized expression: " + (cur || selector); - } - - if ( toString.call(checkSet) === "[object Array]" ) { - if ( !prune ) { - results.push.apply( results, checkSet ); - } else if ( context && context.nodeType === 1 ) { - for ( var i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) { - results.push( set[i] ); - } - } - } else { - for ( var i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && checkSet[i].nodeType === 1 ) { - results.push( set[i] ); - } - } - } - } else { - makeArray( checkSet, results ); - } - - if ( extra ) { - Sizzle( extra, origContext, results, seed ); - Sizzle.uniqueSort( results ); - } - - return results; -}; - -Sizzle.uniqueSort = function(results){ - if ( sortOrder ) { - hasDuplicate = baseHasDuplicate; - results.sort(sortOrder); - - if ( hasDuplicate ) { - for ( var i = 1; i < results.length; i++ ) { - if ( results[i] === results[i-1] ) { - results.splice(i--, 1); - } - } - } - } - - return results; -}; - -Sizzle.matches = function(expr, set){ - return Sizzle(expr, null, null, set); -}; - -Sizzle.find = function(expr, context, isXML){ - var set, match; - - if ( !expr ) { - return []; - } - - for ( var i = 0, l = Expr.order.length; i < l; i++ ) { - var type = Expr.order[i], match; - - if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { - var left = match[1]; - match.splice(1,1); - - if ( left.substr( left.length - 1 ) !== "\\" ) { - match[1] = (match[1] || "").replace(/\\/g, ""); - set = Expr.find[ type ]( match, context, isXML ); - if ( set != null ) { - expr = expr.replace( Expr.match[ type ], "" ); - break; - } - } - } - } - - if ( !set ) { - set = context.getElementsByTagName("*"); - } - - return {set: set, expr: expr}; -}; - -Sizzle.filter = function(expr, set, inplace, not){ - var old = expr, result = [], curLoop = set, match, anyFound, - isXMLFilter = set && set[0] && isXML(set[0]); - - while ( expr && set.length ) { - for ( var type in Expr.filter ) { - if ( (match = Expr.match[ type ].exec( expr )) != null ) { - var filter = Expr.filter[ type ], found, item; - anyFound = false; - - if ( curLoop == result ) { - result = []; - } - - if ( Expr.preFilter[ type ] ) { - match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); - - if ( !match ) { - anyFound = found = true; - } else if ( match === true ) { - continue; - } - } - - if ( match ) { - for ( var i = 0; (item = curLoop[i]) != null; i++ ) { - if ( item ) { - found = filter( item, match, i, curLoop ); - var pass = not ^ !!found; - - if ( inplace && found != null ) { - if ( pass ) { - anyFound = true; - } else { - curLoop[i] = false; - } - } else if ( pass ) { - result.push( item ); - anyFound = true; - } - } - } - } - - if ( found !== undefined ) { - if ( !inplace ) { - curLoop = result; - } - - expr = expr.replace( Expr.match[ type ], "" ); - - if ( !anyFound ) { - return []; - } - - break; - } - } - } - - if ( expr == old ) { - if ( anyFound == null ) { - throw "Syntax error, unrecognized expression: " + expr; - } else { - break; - } - } - - old = expr; - } - - return curLoop; -}; - -var Expr = Sizzle.selectors = { - order: [ "ID", "NAME", "TAG" ], - match: { - ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, - CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/, - NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/, - ATTR: /\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, - TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/, - CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/, - POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/, - PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/ - }, - leftMatch: {}, - attrMap: { - "class": "className", - "for": "htmlFor" - }, - attrHandle: { - href: function(elem){ - return elem.getAttribute("href"); - } - }, - relative: { - "+": function(checkSet, part, isXML){ - var isPartStr = typeof part === "string", - isTag = isPartStr && !/\W/.test(part), - isPartStrNotTag = isPartStr && !isTag; - - if ( isTag && !isXML ) { - part = part.toUpperCase(); - } - - for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { - if ( (elem = checkSet[i]) ) { - while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} - - checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ? - elem || false : - elem === part; - } - } - - if ( isPartStrNotTag ) { - Sizzle.filter( part, checkSet, true ); - } - }, - ">": function(checkSet, part, isXML){ - var isPartStr = typeof part === "string"; - - if ( isPartStr && !/\W/.test(part) ) { - part = isXML ? part : part.toUpperCase(); - - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - if ( elem ) { - var parent = elem.parentNode; - checkSet[i] = parent.nodeName === part ? parent : false; - } - } - } else { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - if ( elem ) { - checkSet[i] = isPartStr ? - elem.parentNode : - elem.parentNode === part; - } - } - - if ( isPartStr ) { - Sizzle.filter( part, checkSet, true ); - } - } - }, - "": function(checkSet, part, isXML){ - var doneName = done++, checkFn = dirCheck; - - if ( !/\W/.test(part) ) { - var nodeCheck = part = isXML ? part : part.toUpperCase(); - checkFn = dirNodeCheck; - } - - checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); - }, - "~": function(checkSet, part, isXML){ - var doneName = done++, checkFn = dirCheck; - - if ( typeof part === "string" && !/\W/.test(part) ) { - var nodeCheck = part = isXML ? part : part.toUpperCase(); - checkFn = dirNodeCheck; - } - - checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); - } - }, - find: { - ID: function(match, context, isXML){ - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - return m ? [m] : []; - } - }, - NAME: function(match, context, isXML){ - if ( typeof context.getElementsByName !== "undefined" ) { - var ret = [], results = context.getElementsByName(match[1]); - - for ( var i = 0, l = results.length; i < l; i++ ) { - if ( results[i].getAttribute("name") === match[1] ) { - ret.push( results[i] ); - } - } - - return ret.length === 0 ? null : ret; - } - }, - TAG: function(match, context){ - return context.getElementsByTagName(match[1]); - } - }, - preFilter: { - CLASS: function(match, curLoop, inplace, result, not, isXML){ - match = " " + match[1].replace(/\\/g, "") + " "; - - if ( isXML ) { - return match; - } - - for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { - if ( elem ) { - if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) { - if ( !inplace ) - result.push( elem ); - } else if ( inplace ) { - curLoop[i] = false; - } - } - } - - return false; - }, - ID: function(match){ - return match[1].replace(/\\/g, ""); - }, - TAG: function(match, curLoop){ - for ( var i = 0; curLoop[i] === false; i++ ){} - return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase(); - }, - CHILD: function(match){ - if ( match[1] == "nth" ) { - var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( - match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" || - !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); - - match[2] = (test[1] + (test[2] || 1)) - 0; - match[3] = test[3] - 0; - } - - match[0] = done++; - - return match; - }, - ATTR: function(match, curLoop, inplace, result, not, isXML){ - var name = match[1].replace(/\\/g, ""); - - if ( !isXML && Expr.attrMap[name] ) { - match[1] = Expr.attrMap[name]; - } - - if ( match[2] === "~=" ) { - match[4] = " " + match[4] + " "; - } - - return match; - }, - PSEUDO: function(match, curLoop, inplace, result, not){ - if ( match[1] === "not" ) { - if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { - match[3] = Sizzle(match[3], null, null, curLoop); - } else { - var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); - if ( !inplace ) { - result.push.apply( result, ret ); - } - return false; - } - } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { - return true; - } - - return match; - }, - POS: function(match){ - match.unshift( true ); - return match; - } - }, - filters: { - enabled: function(elem){ - return elem.disabled === false && elem.type !== "hidden"; - }, - disabled: function(elem){ - return elem.disabled === true; - }, - checked: function(elem){ - return elem.checked === true; - }, - selected: function(elem){ - elem.parentNode.selectedIndex; - return elem.selected === true; - }, - parent: function(elem){ - return !!elem.firstChild; - }, - empty: function(elem){ - return !elem.firstChild; - }, - has: function(elem, i, match){ - return !!Sizzle( match[3], elem ).length; - }, - header: function(elem){ - return /h\d/i.test( elem.nodeName ); - }, - text: function(elem){ - return "text" === elem.type; - }, - radio: function(elem){ - return "radio" === elem.type; - }, - checkbox: function(elem){ - return "checkbox" === elem.type; - }, - file: function(elem){ - return "file" === elem.type; - }, - password: function(elem){ - return "password" === elem.type; - }, - submit: function(elem){ - return "submit" === elem.type; - }, - image: function(elem){ - return "image" === elem.type; - }, - reset: function(elem){ - return "reset" === elem.type; - }, - button: function(elem){ - return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON"; - }, - input: function(elem){ - return /input|select|textarea|button/i.test(elem.nodeName); - } - }, - setFilters: { - first: function(elem, i){ - return i === 0; - }, - last: function(elem, i, match, array){ - return i === array.length - 1; - }, - even: function(elem, i){ - return i % 2 === 0; - }, - odd: function(elem, i){ - return i % 2 === 1; - }, - lt: function(elem, i, match){ - return i < match[3] - 0; - }, - gt: function(elem, i, match){ - return i > match[3] - 0; - }, - nth: function(elem, i, match){ - return match[3] - 0 == i; - }, - eq: function(elem, i, match){ - return match[3] - 0 == i; - } - }, - filter: { - PSEUDO: function(elem, match, i, array){ - var name = match[1], filter = Expr.filters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - } else if ( name === "contains" ) { - return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0; - } else if ( name === "not" ) { - var not = match[3]; - - for ( var i = 0, l = not.length; i < l; i++ ) { - if ( not[i] === elem ) { - return false; - } - } - - return true; - } - }, - CHILD: function(elem, match){ - var type = match[1], node = elem; - switch (type) { - case 'only': - case 'first': - while ( (node = node.previousSibling) ) { - if ( node.nodeType === 1 ) return false; - } - if ( type == 'first') return true; - node = elem; - case 'last': - while ( (node = node.nextSibling) ) { - if ( node.nodeType === 1 ) return false; - } - return true; - case 'nth': - var first = match[2], last = match[3]; - - if ( first == 1 && last == 0 ) { - return true; - } - - var doneName = match[0], - parent = elem.parentNode; - - if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { - var count = 0; - for ( node = parent.firstChild; node; node = node.nextSibling ) { - if ( node.nodeType === 1 ) { - node.nodeIndex = ++count; - } - } - parent.sizcache = doneName; - } - - var diff = elem.nodeIndex - last; - if ( first == 0 ) { - return diff == 0; - } else { - return ( diff % first == 0 && diff / first >= 0 ); - } - } - }, - ID: function(elem, match){ - return elem.nodeType === 1 && elem.getAttribute("id") === match; - }, - TAG: function(elem, match){ - return (match === "*" && elem.nodeType === 1) || elem.nodeName === match; - }, - CLASS: function(elem, match){ - return (" " + (elem.className || elem.getAttribute("class")) + " ") - .indexOf( match ) > -1; - }, - ATTR: function(elem, match){ - var name = match[1], - result = Expr.attrHandle[ name ] ? - Expr.attrHandle[ name ]( elem ) : - elem[ name ] != null ? - elem[ name ] : - elem.getAttribute( name ), - value = result + "", - type = match[2], - check = match[4]; - - return result == null ? - type === "!=" : - type === "=" ? - value === check : - type === "*=" ? - value.indexOf(check) >= 0 : - type === "~=" ? - (" " + value + " ").indexOf(check) >= 0 : - !check ? - value && result !== false : - type === "!=" ? - value != check : - type === "^=" ? - value.indexOf(check) === 0 : - type === "$=" ? - value.substr(value.length - check.length) === check : - type === "|=" ? - value === check || value.substr(0, check.length + 1) === check + "-" : - false; - }, - POS: function(elem, match, i, array){ - var name = match[2], filter = Expr.setFilters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - } - } - } -}; - -var origPOS = Expr.match.POS; - -for ( var type in Expr.match ) { - Expr.match[ type ] = new RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source ); - Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source ); -} - -var makeArray = function(array, results) { - array = Array.prototype.slice.call( array, 0 ); - - if ( results ) { - results.push.apply( results, array ); - return results; - } - - return array; -}; - -try { - Array.prototype.slice.call( document.documentElement.childNodes, 0 ); - -} catch(e){ - makeArray = function(array, results) { - var ret = results || []; - - if ( toString.call(array) === "[object Array]" ) { - Array.prototype.push.apply( ret, array ); - } else { - if ( typeof array.length === "number" ) { - for ( var i = 0, l = array.length; i < l; i++ ) { - ret.push( array[i] ); - } - } else { - for ( var i = 0; array[i]; i++ ) { - ret.push( array[i] ); - } - } - } - - return ret; - }; -} - -var sortOrder; - -if ( document.documentElement.compareDocumentPosition ) { - sortOrder = function( a, b ) { - if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { - if ( a == b ) { - hasDuplicate = true; - } - return 0; - } - - var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; - if ( ret === 0 ) { - hasDuplicate = true; - } - return ret; - }; -} else if ( "sourceIndex" in document.documentElement ) { - sortOrder = function( a, b ) { - if ( !a.sourceIndex || !b.sourceIndex ) { - if ( a == b ) { - hasDuplicate = true; - } - return 0; - } - - var ret = a.sourceIndex - b.sourceIndex; - if ( ret === 0 ) { - hasDuplicate = true; - } - return ret; - }; -} else if ( document.createRange ) { - sortOrder = function( a, b ) { - if ( !a.ownerDocument || !b.ownerDocument ) { - if ( a == b ) { - hasDuplicate = true; - } - return 0; - } - - var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); - aRange.setStart(a, 0); - aRange.setEnd(a, 0); - bRange.setStart(b, 0); - bRange.setEnd(b, 0); - var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange); - if ( ret === 0 ) { - hasDuplicate = true; - } - return ret; - }; -} - -(function(){ - var form = document.createElement("div"), - id = "script" + (new Date).getTime(); - form.innerHTML = ""; - - var root = document.documentElement; - root.insertBefore( form, root.firstChild ); - - if ( !!document.getElementById( id ) ) { - Expr.find.ID = function(match, context, isXML){ - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; - } - }; - - Expr.filter.ID = function(elem, match){ - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - return elem.nodeType === 1 && node && node.nodeValue === match; - }; - } - - root.removeChild( form ); - root = form = null; // release memory in IE -})(); - -(function(){ - - var div = document.createElement("div"); - div.appendChild( document.createComment("") ); - - if ( div.getElementsByTagName("*").length > 0 ) { - Expr.find.TAG = function(match, context){ - var results = context.getElementsByTagName(match[1]); - - if ( match[1] === "*" ) { - var tmp = []; - - for ( var i = 0; results[i]; i++ ) { - if ( results[i].nodeType === 1 ) { - tmp.push( results[i] ); - } - } - - results = tmp; - } - - return results; - }; - } - - div.innerHTML = ""; - if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && - div.firstChild.getAttribute("href") !== "#" ) { - Expr.attrHandle.href = function(elem){ - return elem.getAttribute("href", 2); - }; - } - - div = null; // release memory in IE -})(); - -if ( document.querySelectorAll ) (function(){ - var oldSizzle = Sizzle, div = document.createElement("div"); - div.innerHTML = "

"; - - if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { - return; - } - - Sizzle = function(query, context, extra, seed){ - context = context || document; - - if ( !seed && context.nodeType === 9 && !isXML(context) ) { - try { - return makeArray( context.querySelectorAll(query), extra ); - } catch(e){} - } - - return oldSizzle(query, context, extra, seed); - }; - - for ( var prop in oldSizzle ) { - Sizzle[ prop ] = oldSizzle[ prop ]; - } - - div = null; // release memory in IE -})(); - -if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){ - var div = document.createElement("div"); - div.innerHTML = "
"; - - if ( div.getElementsByClassName("e").length === 0 ) - return; - - div.lastChild.className = "e"; - - if ( div.getElementsByClassName("e").length === 1 ) - return; - - Expr.order.splice(1, 0, "CLASS"); - Expr.find.CLASS = function(match, context, isXML) { - if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { - return context.getElementsByClassName(match[1]); - } - }; - - div = null; // release memory in IE -})(); - -function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - var sibDir = dir == "previousSibling" && !isXML; - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - if ( elem ) { - if ( sibDir && elem.nodeType === 1 ){ - elem.sizcache = doneName; - elem.sizset = i; - } - elem = elem[dir]; - var match = false; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 && !isXML ){ - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( elem.nodeName === cur ) { - match = elem; - break; - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - var sibDir = dir == "previousSibling" && !isXML; - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - if ( elem ) { - if ( sibDir && elem.nodeType === 1 ) { - elem.sizcache = doneName; - elem.sizset = i; - } - elem = elem[dir]; - var match = false; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 ) { - if ( !isXML ) { - elem.sizcache = doneName; - elem.sizset = i; - } - if ( typeof cur !== "string" ) { - if ( elem === cur ) { - match = true; - break; - } - - } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { - match = elem; - break; - } - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -var contains = document.compareDocumentPosition ? function(a, b){ - return a.compareDocumentPosition(b) & 16; -} : function(a, b){ - return a !== b && (a.contains ? a.contains(b) : true); -}; - -var isXML = function(elem){ - return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" || - !!elem.ownerDocument && elem.ownerDocument.documentElement.nodeName !== "HTML"; -}; - -var posProcess = function(selector, context){ - var tmpSet = [], later = "", match, - root = context.nodeType ? [context] : context; - - while ( (match = Expr.match.PSEUDO.exec( selector )) ) { - later += match[0]; - selector = selector.replace( Expr.match.PSEUDO, "" ); - } - - selector = Expr.relative[selector] ? selector + "*" : selector; - - for ( var i = 0, l = root.length; i < l; i++ ) { - Sizzle( selector, root[i], tmpSet ); - } - - return Sizzle.filter( later, tmpSet ); -}; - - -window.Sizzle = Sizzle; - -})(); - -Prototype._original_property = window.Sizzle; - -;(function(engine) { - var extendElements = Prototype.Selector.extendElements; - - function select(selector, scope) { - return extendElements(engine(selector, scope || document)); - } - - function match(element, selector) { - return engine.matches(selector, [element]).length == 1; - } - - Prototype.Selector.engine = engine; - Prototype.Selector.select = select; - Prototype.Selector.match = match; -})(Sizzle); - -window.Sizzle = Prototype._original_property; -delete Prototype._original_property; - -var Form = { - reset: function(form) { - form = $(form); - form.reset(); - return form; - }, - - serializeElements: function(elements, options) { - if (typeof options != 'object') options = { hash: !!options }; - else if (Object.isUndefined(options.hash)) options.hash = true; - var key, value, submitted = false, submit = options.submit, accumulator, initial; - - if (options.hash) { - initial = {}; - accumulator = function(result, key, value) { - if (key in result) { - if (!Object.isArray(result[key])) result[key] = [result[key]]; - result[key].push(value); - } else result[key] = value; - return result; - }; - } else { - initial = ''; - accumulator = function(result, key, value) { - return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + encodeURIComponent(value); - } - } - - return elements.inject(initial, function(result, element) { - if (!element.disabled && element.name) { - key = element.name; value = $(element).getValue(); - if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted && - submit !== false && (!submit || key == submit) && (submitted = true)))) { - result = accumulator(result, key, value); - } - } - return result; - }); - } -}; - -Form.Methods = { - serialize: function(form, options) { - return Form.serializeElements(Form.getElements(form), options); - }, - - getElements: function(form) { - var elements = $(form).getElementsByTagName('*'), - element, - arr = [ ], - serializers = Form.Element.Serializers; - for (var i = 0; element = elements[i]; i++) { - arr.push(element); - } - return arr.inject([], function(elements, child) { - if (serializers[child.tagName.toLowerCase()]) - elements.push(Element.extend(child)); - return elements; - }) - }, - - getInputs: function(form, typeName, name) { - form = $(form); - var inputs = form.getElementsByTagName('input'); - - if (!typeName && !name) return $A(inputs).map(Element.extend); - - for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { - var input = inputs[i]; - if ((typeName && input.type != typeName) || (name && input.name != name)) - continue; - matchingInputs.push(Element.extend(input)); - } - - return matchingInputs; - }, - - disable: function(form) { - form = $(form); - Form.getElements(form).invoke('disable'); - return form; - }, - - enable: function(form) { - form = $(form); - Form.getElements(form).invoke('enable'); - return form; - }, - - findFirstElement: function(form) { - var elements = $(form).getElements().findAll(function(element) { - return 'hidden' != element.type && !element.disabled; - }); - var firstByIndex = elements.findAll(function(element) { - return element.hasAttribute('tabIndex') && element.tabIndex >= 0; - }).sortBy(function(element) { return element.tabIndex }).first(); - - return firstByIndex ? firstByIndex : elements.find(function(element) { - return /^(?:input|select|textarea)$/i.test(element.tagName); - }); - }, - - focusFirstElement: function(form) { - form = $(form); - var element = form.findFirstElement(); - if (element) element.activate(); - return form; - }, - - request: function(form, options) { - form = $(form), options = Object.clone(options || { }); - - var params = options.parameters, action = form.readAttribute('action') || ''; - if (action.blank()) action = window.location.href; - options.parameters = form.serialize(true); - - if (params) { - if (Object.isString(params)) params = params.toQueryParams(); - Object.extend(options.parameters, params); - } - - if (form.hasAttribute('method') && !options.method) - options.method = form.method; - - return new Ajax.Request(action, options); - } -}; - -/*--------------------------------------------------------------------------*/ - - -Form.Element = { - focus: function(element) { - $(element).focus(); - return element; - }, - - select: function(element) { - $(element).select(); - return element; - } -}; - -Form.Element.Methods = { - - serialize: function(element) { - element = $(element); - if (!element.disabled && element.name) { - var value = element.getValue(); - if (value != undefined) { - var pair = { }; - pair[element.name] = value; - return Object.toQueryString(pair); - } - } - return ''; - }, - - getValue: function(element) { - element = $(element); - var method = element.tagName.toLowerCase(); - return Form.Element.Serializers[method](element); - }, - - setValue: function(element, value) { - element = $(element); - var method = element.tagName.toLowerCase(); - Form.Element.Serializers[method](element, value); - return element; - }, - - clear: function(element) { - $(element).value = ''; - return element; - }, - - present: function(element) { - return $(element).value != ''; - }, - - activate: function(element) { - element = $(element); - try { - element.focus(); - if (element.select && (element.tagName.toLowerCase() != 'input' || - !(/^(?:button|reset|submit)$/i.test(element.type)))) - element.select(); - } catch (e) { } - return element; - }, - - disable: function(element) { - element = $(element); - element.disabled = true; - return element; - }, - - enable: function(element) { - element = $(element); - element.disabled = false; - return element; - } -}; - -/*--------------------------------------------------------------------------*/ - -var Field = Form.Element; - -var $F = Form.Element.Methods.getValue; - -/*--------------------------------------------------------------------------*/ - -Form.Element.Serializers = (function() { - function input(element, value) { - switch (element.type.toLowerCase()) { - case 'checkbox': - case 'radio': - return inputSelector(element, value); - default: - return valueSelector(element, value); - } - } - - function inputSelector(element, value) { - if (Object.isUndefined(value)) - return element.checked ? element.value : null; - else element.checked = !!value; - } - - function valueSelector(element, value) { - if (Object.isUndefined(value)) return element.value; - else element.value = value; - } - - function select(element, value) { - if (Object.isUndefined(value)) - return (element.type === 'select-one' ? selectOne : selectMany)(element); - - var opt, currentValue, single = !Object.isArray(value); - for (var i = 0, length = element.length; i < length; i++) { - opt = element.options[i]; - currentValue = this.optionValue(opt); - if (single) { - if (currentValue == value) { - opt.selected = true; - return; - } - } - else opt.selected = value.include(currentValue); - } - } - - function selectOne(element) { - var index = element.selectedIndex; - return index >= 0 ? optionValue(element.options[index]) : null; - } - - function selectMany(element) { - var values, length = element.length; - if (!length) return null; - - for (var i = 0, values = []; i < length; i++) { - var opt = element.options[i]; - if (opt.selected) values.push(optionValue(opt)); - } - return values; - } - - function optionValue(opt) { - return Element.hasAttribute(opt, 'value') ? opt.value : opt.text; - } - - return { - input: input, - inputSelector: inputSelector, - textarea: valueSelector, - select: select, - selectOne: selectOne, - selectMany: selectMany, - optionValue: optionValue, - button: valueSelector - }; -})(); - -/*--------------------------------------------------------------------------*/ - - -Abstract.TimedObserver = Class.create(PeriodicalExecuter, { - initialize: function($super, element, frequency, callback) { - $super(callback, frequency); - this.element = $(element); - this.lastValue = this.getValue(); - }, - - execute: function() { - var value = this.getValue(); - if (Object.isString(this.lastValue) && Object.isString(value) ? - this.lastValue != value : String(this.lastValue) != String(value)) { - this.callback(this.element, value); - this.lastValue = value; - } - } -}); - -Form.Element.Observer = Class.create(Abstract.TimedObserver, { - getValue: function() { - return Form.Element.getValue(this.element); - } -}); - -Form.Observer = Class.create(Abstract.TimedObserver, { - getValue: function() { - return Form.serialize(this.element); - } -}); - -/*--------------------------------------------------------------------------*/ - -Abstract.EventObserver = Class.create({ - initialize: function(element, callback) { - this.element = $(element); - this.callback = callback; - - this.lastValue = this.getValue(); - if (this.element.tagName.toLowerCase() == 'form') - this.registerFormCallbacks(); - else - this.registerCallback(this.element); - }, - - onElementEvent: function() { - var value = this.getValue(); - if (this.lastValue != value) { - this.callback(this.element, value); - this.lastValue = value; - } - }, - - registerFormCallbacks: function() { - Form.getElements(this.element).each(this.registerCallback, this); - }, - - registerCallback: function(element) { - if (element.type) { - switch (element.type.toLowerCase()) { - case 'checkbox': - case 'radio': - Event.observe(element, 'click', this.onElementEvent.bind(this)); - break; - default: - Event.observe(element, 'change', this.onElementEvent.bind(this)); - break; - } - } - } -}); - -Form.Element.EventObserver = Class.create(Abstract.EventObserver, { - getValue: function() { - return Form.Element.getValue(this.element); - } -}); - -Form.EventObserver = Class.create(Abstract.EventObserver, { - getValue: function() { - return Form.serialize(this.element); - } -}); -(function() { - - var Event = { - KEY_BACKSPACE: 8, - KEY_TAB: 9, - KEY_RETURN: 13, - KEY_ESC: 27, - KEY_LEFT: 37, - KEY_UP: 38, - KEY_RIGHT: 39, - KEY_DOWN: 40, - KEY_DELETE: 46, - KEY_HOME: 36, - KEY_END: 35, - KEY_PAGEUP: 33, - KEY_PAGEDOWN: 34, - KEY_INSERT: 45, - - cache: {} - }; - - var docEl = document.documentElement; - var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl - && 'onmouseleave' in docEl; - - - - var isIELegacyEvent = function(event) { return false; }; - - if (window.attachEvent) { - if (window.addEventListener) { - isIELegacyEvent = function(event) { - return !(event instanceof window.Event); - }; - } else { - isIELegacyEvent = function(event) { return true; }; - } - } - - var _isButton; - - function _isButtonForDOMEvents(event, code) { - return event.which ? (event.which === code + 1) : (event.button === code); - } - - var legacyButtonMap = { 0: 1, 1: 4, 2: 2 }; - function _isButtonForLegacyEvents(event, code) { - return event.button === legacyButtonMap[code]; - } - - function _isButtonForWebKit(event, code) { - switch (code) { - case 0: return event.which == 1 && !event.metaKey; - case 1: return event.which == 2 || (event.which == 1 && event.metaKey); - case 2: return event.which == 3; - default: return false; - } - } - - if (window.attachEvent) { - if (!window.addEventListener) { - _isButton = _isButtonForLegacyEvents; - } else { - _isButton = function(event, code) { - return isIELegacyEvent(event) ? _isButtonForLegacyEvents(event, code) : - _isButtonForDOMEvents(event, code); - } - } - } else if (Prototype.Browser.WebKit) { - _isButton = _isButtonForWebKit; - } else { - _isButton = _isButtonForDOMEvents; - } - - function isLeftClick(event) { return _isButton(event, 0) } - - function isMiddleClick(event) { return _isButton(event, 1) } - - function isRightClick(event) { return _isButton(event, 2) } - - function element(event) { - event = Event.extend(event); - - var node = event.target, type = event.type, - currentTarget = event.currentTarget; - - if (currentTarget && currentTarget.tagName) { - if (type === 'load' || type === 'error' || - (type === 'click' && currentTarget.tagName.toLowerCase() === 'input' - && currentTarget.type === 'radio')) - node = currentTarget; - } - - if (node.nodeType == Node.TEXT_NODE) - node = node.parentNode; - - return Element.extend(node); - } - - function findElement(event, expression) { - var element = Event.element(event); - - if (!expression) return element; - while (element) { - if (Object.isElement(element) && Prototype.Selector.match(element, expression)) { - return Element.extend(element); - } - element = element.parentNode; - } - } - - function pointer(event) { - return { x: pointerX(event), y: pointerY(event) }; - } - - function pointerX(event) { - var docElement = document.documentElement, - body = document.body || { scrollLeft: 0 }; - - return event.pageX || (event.clientX + - (docElement.scrollLeft || body.scrollLeft) - - (docElement.clientLeft || 0)); - } - - function pointerY(event) { - var docElement = document.documentElement, - body = document.body || { scrollTop: 0 }; - - return event.pageY || (event.clientY + - (docElement.scrollTop || body.scrollTop) - - (docElement.clientTop || 0)); - } - - - function stop(event) { - Event.extend(event); - event.preventDefault(); - event.stopPropagation(); - - event.stopped = true; - } - - - Event.Methods = { - isLeftClick: isLeftClick, - isMiddleClick: isMiddleClick, - isRightClick: isRightClick, - - element: element, - findElement: findElement, - - pointer: pointer, - pointerX: pointerX, - pointerY: pointerY, - - stop: stop - }; - - var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { - m[name] = Event.Methods[name].methodize(); - return m; - }); - - if (window.attachEvent) { - function _relatedTarget(event) { - var element; - switch (event.type) { - case 'mouseover': - case 'mouseenter': - element = event.fromElement; - break; - case 'mouseout': - case 'mouseleave': - element = event.toElement; - break; - default: - return null; - } - return Element.extend(element); - } - - var additionalMethods = { - stopPropagation: function() { this.cancelBubble = true }, - preventDefault: function() { this.returnValue = false }, - inspect: function() { return '[object Event]' } - }; - - Event.extend = function(event, element) { - if (!event) return false; - - if (!isIELegacyEvent(event)) return event; - - if (event._extendedByPrototype) return event; - event._extendedByPrototype = Prototype.emptyFunction; - - var pointer = Event.pointer(event); - - Object.extend(event, { - target: event.srcElement || element, - relatedTarget: _relatedTarget(event), - pageX: pointer.x, - pageY: pointer.y - }); - - Object.extend(event, methods); - Object.extend(event, additionalMethods); - - return event; - }; - } else { - Event.extend = Prototype.K; - } - - if (window.addEventListener) { - Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; - Object.extend(Event.prototype, methods); - } - - function _createResponder(element, eventName, handler) { - var registry = Element.retrieve(element, 'prototype_event_registry'); - - if (Object.isUndefined(registry)) { - CACHE.push(element); - registry = Element.retrieve(element, 'prototype_event_registry', $H()); - } - - var respondersForEvent = registry.get(eventName); - if (Object.isUndefined(respondersForEvent)) { - respondersForEvent = []; - registry.set(eventName, respondersForEvent); - } - - if (respondersForEvent.pluck('handler').include(handler)) return false; - - var responder; - if (eventName.include(":")) { - responder = function(event) { - if (Object.isUndefined(event.eventName)) - return false; - - if (event.eventName !== eventName) - return false; - - Event.extend(event, element); - handler.call(element, event); - }; - } else { - if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && - (eventName === "mouseenter" || eventName === "mouseleave")) { - if (eventName === "mouseenter" || eventName === "mouseleave") { - responder = function(event) { - Event.extend(event, element); - - var parent = event.relatedTarget; - while (parent && parent !== element) { - try { parent = parent.parentNode; } - catch(e) { parent = element; } - } - - if (parent === element) return; - - handler.call(element, event); - }; - } - } else { - responder = function(event) { - Event.extend(event, element); - handler.call(element, event); - }; - } - } - - responder.handler = handler; - respondersForEvent.push(responder); - return responder; - } - - function _destroyCache() { - for (var i = 0, length = CACHE.length; i < length; i++) { - Event.stopObserving(CACHE[i]); - CACHE[i] = null; - } - } - - var CACHE = []; - - if (Prototype.Browser.IE) - window.attachEvent('onunload', _destroyCache); - - if (Prototype.Browser.WebKit) - window.addEventListener('unload', Prototype.emptyFunction, false); - - - var _getDOMEventName = Prototype.K, - translations = { mouseenter: "mouseover", mouseleave: "mouseout" }; - - if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) { - _getDOMEventName = function(eventName) { - return (translations[eventName] || eventName); - }; - } - - function observe(element, eventName, handler) { - element = $(element); - - var responder = _createResponder(element, eventName, handler); - - if (!responder) return element; - - if (eventName.include(':')) { - if (element.addEventListener) - element.addEventListener("dataavailable", responder, false); - else { - element.attachEvent("ondataavailable", responder); - element.attachEvent("onlosecapture", responder); - } - } else { - var actualEventName = _getDOMEventName(eventName); - - if (element.addEventListener) - element.addEventListener(actualEventName, responder, false); - else - element.attachEvent("on" + actualEventName, responder); - } - - return element; - } - - function stopObserving(element, eventName, handler) { - element = $(element); - - var registry = Element.retrieve(element, 'prototype_event_registry'); - if (!registry) return element; - - if (!eventName) { - registry.each( function(pair) { - var eventName = pair.key; - stopObserving(element, eventName); - }); - return element; - } - - var responders = registry.get(eventName); - if (!responders) return element; - - if (!handler) { - responders.each(function(r) { - stopObserving(element, eventName, r.handler); - }); - return element; - } - - var i = responders.length, responder; - while (i--) { - if (responders[i].handler === handler) { - responder = responders[i]; - break; - } - } - if (!responder) return element; - - if (eventName.include(':')) { - if (element.removeEventListener) - element.removeEventListener("dataavailable", responder, false); - else { - element.detachEvent("ondataavailable", responder); - element.detachEvent("onlosecapture", responder); - } - } else { - var actualEventName = _getDOMEventName(eventName); - if (element.removeEventListener) - element.removeEventListener(actualEventName, responder, false); - else - element.detachEvent('on' + actualEventName, responder); - } - - registry.set(eventName, responders.without(responder)); - - return element; - } - - function fire(element, eventName, memo, bubble) { - element = $(element); - - if (Object.isUndefined(bubble)) - bubble = true; - - if (element == document && document.createEvent && !element.dispatchEvent) - element = document.documentElement; - - var event; - if (document.createEvent) { - event = document.createEvent('HTMLEvents'); - event.initEvent('dataavailable', bubble, true); - } else { - event = document.createEventObject(); - event.eventType = bubble ? 'ondataavailable' : 'onlosecapture'; - } - - event.eventName = eventName; - event.memo = memo || { }; - - if (document.createEvent) - element.dispatchEvent(event); - else - element.fireEvent(event.eventType, event); - - return Event.extend(event); - } - - Event.Handler = Class.create({ - initialize: function(element, eventName, selector, callback) { - this.element = $(element); - this.eventName = eventName; - this.selector = selector; - this.callback = callback; - this.handler = this.handleEvent.bind(this); - }, - - start: function() { - Event.observe(this.element, this.eventName, this.handler); - return this; - }, - - stop: function() { - Event.stopObserving(this.element, this.eventName, this.handler); - return this; - }, - - handleEvent: function(event) { - var element = Event.findElement(event, this.selector); - if (element) this.callback.call(this.element, event, element); - } - }); - - function on(element, eventName, selector, callback) { - element = $(element); - if (Object.isFunction(selector) && Object.isUndefined(callback)) { - callback = selector, selector = null; - } - - return new Event.Handler(element, eventName, selector, callback).start(); - } - - Object.extend(Event, Event.Methods); - - Object.extend(Event, { - fire: fire, - observe: observe, - stopObserving: stopObserving, - on: on - }); - - Element.addMethods({ - fire: fire, - - observe: observe, - - stopObserving: stopObserving, - - on: on - }); - - Object.extend(document, { - fire: fire.methodize(), - - observe: observe.methodize(), - - stopObserving: stopObserving.methodize(), - - on: on.methodize(), - - loaded: false - }); - - if (window.Event) Object.extend(window.Event, Event); - else window.Event = Event; -})(); - -(function() { - /* Support for the DOMContentLoaded event is based on work by Dan Webb, - Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */ - - var timer; - - function fireContentLoadedEvent() { - if (document.loaded) return; - if (timer) window.clearTimeout(timer); - document.loaded = true; - document.fire('dom:loaded'); - } - - function checkReadyState() { - if (document.readyState === 'complete') { - document.stopObserving('readystatechange', checkReadyState); - fireContentLoadedEvent(); - } - } - - function pollDoScroll() { - try { document.documentElement.doScroll('left'); } - catch(e) { - timer = pollDoScroll.defer(); - return; - } - fireContentLoadedEvent(); - } - - if (document.addEventListener) { - document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); - } else { - document.observe('readystatechange', checkReadyState); - if (window == top) - timer = pollDoScroll.defer(); - } - - Event.observe(window, 'load', fireContentLoadedEvent); -})(); - - -Element.addMethods(); -/*------------------------------- DEPRECATED -------------------------------*/ - -Hash.toQueryString = Object.toQueryString; - -var Toggle = { display: Element.toggle }; - -Element.Methods.childOf = Element.Methods.descendantOf; - -var Insertion = { - Before: function(element, content) { - return Element.insert(element, {before:content}); - }, - - Top: function(element, content) { - return Element.insert(element, {top:content}); - }, - - Bottom: function(element, content) { - return Element.insert(element, {bottom:content}); - }, - - After: function(element, content) { - return Element.insert(element, {after:content}); - } -}; - -var $continue = new Error('"throw $continue" is deprecated, use "return" instead'); - -var Position = { - includeScrollOffsets: false, - - prepare: function() { - this.deltaX = window.pageXOffset - || document.documentElement.scrollLeft - || document.body.scrollLeft - || 0; - this.deltaY = window.pageYOffset - || document.documentElement.scrollTop - || document.body.scrollTop - || 0; - }, - - within: function(element, x, y) { - if (this.includeScrollOffsets) - return this.withinIncludingScrolloffsets(element, x, y); - this.xcomp = x; - this.ycomp = y; - this.offset = Element.cumulativeOffset(element); - - return (y >= this.offset[1] && - y < this.offset[1] + element.offsetHeight && - x >= this.offset[0] && - x < this.offset[0] + element.offsetWidth); - }, - - withinIncludingScrolloffsets: function(element, x, y) { - var offsetcache = Element.cumulativeScrollOffset(element); - - this.xcomp = x + offsetcache[0] - this.deltaX; - this.ycomp = y + offsetcache[1] - this.deltaY; - this.offset = Element.cumulativeOffset(element); - - return (this.ycomp >= this.offset[1] && - this.ycomp < this.offset[1] + element.offsetHeight && - this.xcomp >= this.offset[0] && - this.xcomp < this.offset[0] + element.offsetWidth); - }, - - overlap: function(mode, element) { - if (!mode) return 0; - if (mode == 'vertical') - return ((this.offset[1] + element.offsetHeight) - this.ycomp) / - element.offsetHeight; - if (mode == 'horizontal') - return ((this.offset[0] + element.offsetWidth) - this.xcomp) / - element.offsetWidth; - }, - - - cumulativeOffset: Element.Methods.cumulativeOffset, - - positionedOffset: Element.Methods.positionedOffset, - - absolutize: function(element) { - Position.prepare(); - return Element.absolutize(element); - }, - - relativize: function(element) { - Position.prepare(); - return Element.relativize(element); - }, - - realOffset: Element.Methods.cumulativeScrollOffset, - - offsetParent: Element.Methods.getOffsetParent, - - page: Element.Methods.viewportOffset, - - clone: function(source, target, options) { - options = options || { }; - return Element.clonePosition(target, source, options); - } -}; - -/*--------------------------------------------------------------------------*/ - -if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ - function iter(name) { - return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; - } - - instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? - function(element, className) { - className = className.toString().strip(); - var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); - return cond ? document._getElementsByXPath('.//*' + cond, element) : []; - } : function(element, className) { - className = className.toString().strip(); - var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); - if (!classNames && !className) return elements; - - var nodes = $(element).getElementsByTagName('*'); - className = ' ' + className + ' '; - - for (var i = 0, child, cn; child = nodes[i]; i++) { - if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || - (classNames && classNames.all(function(name) { - return !name.toString().blank() && cn.include(' ' + name + ' '); - })))) - elements.push(Element.extend(child)); - } - return elements; - }; - - return function(className, parentElement) { - return $(parentElement || document.body).getElementsByClassName(className); - }; -}(Element.Methods); - -/*--------------------------------------------------------------------------*/ - -Element.ClassNames = Class.create(); -Element.ClassNames.prototype = { - initialize: function(element) { - this.element = $(element); - }, - - _each: function(iterator) { - this.element.className.split(/\s+/).select(function(name) { - return name.length > 0; - })._each(iterator); - }, - - set: function(className) { - this.element.className = className; - }, - - add: function(classNameToAdd) { - if (this.include(classNameToAdd)) return; - this.set($A(this).concat(classNameToAdd).join(' ')); - }, - - remove: function(classNameToRemove) { - if (!this.include(classNameToRemove)) return; - this.set($A(this).without(classNameToRemove).join(' ')); - }, - - toString: function() { - return $A(this).join(' '); - } -}; - -Object.extend(Element.ClassNames.prototype, Enumerable); - -/*--------------------------------------------------------------------------*/ - -(function() { - window.Selector = Class.create({ - initialize: function(expression) { - this.expression = expression.strip(); - }, - - findElements: function(rootElement) { - return Prototype.Selector.select(this.expression, rootElement); - }, - - match: function(element) { - return Prototype.Selector.match(element, this.expression); - }, - - toString: function() { - return this.expression; - }, - - inspect: function() { - return "#"; - } - }); - - Object.extend(Selector, { - matchElements: function(elements, expression) { - var match = Prototype.Selector.match, - results = []; - - for (var i = 0, length = elements.length; i < length; i++) { - var element = elements[i]; - if (match(element, expression)) { - results.push(Element.extend(element)); - } - } - return results; - }, - - findElement: function(elements, expression, index) { - index = index || 0; - var matchIndex = 0, element; - for (var i = 0, length = elements.length; i < length; i++) { - element = elements[i]; - if (Prototype.Selector.match(element, expression) && index === matchIndex++) { - return Element.extend(element); - } - } - }, - - findChildElements: function(element, expressions) { - var selector = expressions.toArray().join(', '); - return Prototype.Selector.select(selector, element || document); - } - }); -})(); diff --git a/html/inc/showtty.js b/html/inc/showtty.js deleted file mode 100644 index dd7076333..000000000 --- a/html/inc/showtty.js +++ /dev/null @@ -1,298 +0,0 @@ -// showtty.js - a building block for viewing tty animations -// Copyright 2008 Jack Christopher Kastorff -(function(){ - -var repeatString = function (str, rep) { - var outstr = ''; - for (var i = 0; i < rep; i++) { - outstr += str; - } - return outstr; -}; - -var makeTable = function (width, height) { - var table = document.createElement("div"); - var arr = []; - for (var j = 1; j <= height; j++) { - var row = Element('div'); - var arrrow = []; - row.addClassName('row'); - for (var i = 1; i <= width; i++) { - var charelem = Element('span'); - charelem.addClassName('charelem'); - charelem.style.display = 'inline'; - charelem.appendChild(document.createTextNode(" ")); - row.appendChild(charelem); - arrrow.push(charelem); - } - table.appendChild(row); - arr.push(arrrow); - } - return { "arr": arr, "elem": table }; -}; - -var setTextChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].firstChild.replaceData(0, 1, r.charAt(i)); - } -}; - -var setBoldChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.fontWeight = r.charAt(i) == 0 ? 'normal' : 'bold'; - } -}; - -var setUnderlineChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.textDecoration = r.charAt(i) == 0 ? 'none' : 'underline'; - } -}; - -var clut = { 0: "#000", 1: "#D00", 2: "#0D0", 3: "#DD0", 4: "#00D", 5: "#D0D", 6: "#0DD", 7: "#DDD" }; - -var setFcolorChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.color = clut[r.charAt(i)]; - } -}; - -var t = 0; -var setBcolorChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.backgroundColor = clut[r.charAt(i)]; - } -}; - -var loadIFrame = function (tb, rowcaches, fr, width, height) { - var d = uncompressIFrameBlock(fr.d, width); - for (var i = 0; i < d.length; i++) { - setTextChunk(tb, d[i], i, 0); - rowcaches.d[i] = d[i]; - } - var B = uncompressIFrameBlock(fr.B, width); - for (var i = 0; i < B.length; i++) { - setBoldChunk(tb, B[i], i, 0); - rowcaches.B[i] = B[i]; - } - var U = uncompressIFrameBlock(fr.U, width); - for (var i = 0; i < U.length; i++) { - setUnderlineChunk(tb, U[i], i, 0); - rowcaches.U[i] = U[i]; - } - var f = uncompressIFrameBlock(fr.f, width); - for (var i = 0; i < f.length; i++) { - setFcolorChunk(tb, f[i], i, 0); - rowcaches.f[i] = f[i]; - } - var b = uncompressIFrameBlock(fr.b, width); - for (var i = 0; i < b.length; i++) { - setBcolorChunk(tb, b[i], i, 0); - rowcaches.b[i] = b[i]; - } -}; - -var uncompressIFrameBlock = function (d,width) { - var uncomp = []; - var last = null; - for (var i = 0; i < d.length; i++) { - var uncomprow = null; - if ( typeof d[i] == 'array' || typeof d[i] == 'object' ) { - if ( d[i][0] == "r" ) { - uncomprow = d[i][1]; - } else if ( d[i][0] == "a" ) { - uncomprow = repeatString(d[i][1], width); - } else { - throw new Error ("bad iframe data: subarray is not valid"); - } - } else if ( typeof d[i] == 'string' && d[i] == 'd' ) { - uncomprow = last; - } else { - throw new Error ("bad iframe data: unknown " + (typeof d[i]) + " in array"); - } - uncomp.push(uncomprow); - last = uncomprow; - } - return uncomp; -}; - -var loadPFrame = function (table, rowcaches, fr, width, height) { - if ( fr.d ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.d, width), rowcaches.d, setTextChunk); - } - if ( fr.B ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.B, width), rowcaches.B, setBoldChunk); - } - if ( fr.U ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.U, width), rowcaches.U, setUnderlineChunk); - } - if ( fr.f ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.f, width), rowcaches.f, setFcolorChunk); - } - if ( fr.b ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.b, width), rowcaches.b, setBcolorChunk); - } -}; - -var diffPushGeneric = function (table, d, rowcache, set) { - // convert everything to line operations - for (var i = 0; i < d.length; i++) { - var e = d[i]; - if ( e[0] == "cp" ) { - set(table, rowcache[e[1]], e[2], 0); - rowcache[e[2]] = rowcache[e[1]]; - } else if ( e[0] == 'char' ) { - var r = e[1]; - var v = rowcache[r]; - var da = v.slice(0, e[2]) + e[3] + v.slice(e[2]+1); - set(table, e[3], e[1], e[2]); - rowcache[r] = da; - } else if ( e[0] == 'chunk' ) { - var r = e[1]; - var v = rowcache[r]; - var da = v.slice(0, e[2]) + e[4] + v.slice(e[3]+1); - set(table, e[4], e[1], e[2]); - rowcache[r] = da; - } else if ( e[0] == 'line' ) { - set(table, e[2], e[1], 0); - rowcache[e[1]] = e[2]; - } else { - throw new Error ("unknown p-frame item type " + e[0] + ", len " + e.length); - } - } -}; - -var annotatedPFrameBlock = function (frame, width) { - var ann = []; - for (var i = 0; i < frame.length; i++) { - var e = frame[i]; - if ( e[0] == 'cp' ) { - ann.push(e); - } else if ( e.length == 2 ) { - // raw line - if ( typeof e[1] == 'string' ) { - ann.push(['line', e[0], e[1]]); - } else if ( e[1][0] == "a" ) { - ann.push(['line', e[0], repeatString(e[1][1], width)]); - } else { - throw new Error ("p-frame corrupted: invalid 2-len"); - } - } else if ( e.length == 3 ) { - // char - ann.push(['char', e[0], e[1], e[2]]); - } else if ( e.length == 4 ) { - // chunk - if ( typeof e[3] == 'string' ) { - ann.push(['chunk', e[0], e[1], e[2], e[3]]); - } else if ( e[3][0] == 'a' ) { - ann.push(['chunk', e[0], e[1], e[2], repeatString(e[3][1], e[2]-e[1]+1)]); - } else { - throw new Error ("p-frame corrupted: invalid 4-len"); - } - } else { - throw new Error ("p-frame corrupted: no such thing as a " + e.length + "-len"); - } - } - return ann; -}; - -var handleCursor = function (table, bgcache, curpos, dx, dy) { - if ( typeof dx == 'number' || typeof dy == 'number' ) { - // make sure the old cursor position has been overwritten - setBcolorChunk(table, bgcache[curpos[1]-1].charAt(curpos[0]-1), curpos[1]-1, curpos[0]-1); - if ( typeof dx == 'number' ) { - curpos[0] = dx; - } - if ( typeof dy == 'number' ) { - curpos[1] = dy; - } - } - - // draw the cursor - table.arr[curpos[1]-1][curpos[0]-1].style.backgroundColor = '#FFF'; -}; - -var animateNextFrame = function (holder) { with (holder) { - var fr = timeline[nextframe]; - if ( fr.i ) { - loadIFrame(table, rowcaches, fr, width, height); - } else { - loadPFrame(table, rowcaches, fr, width, height); - } - handleCursor(table, rowcaches.b, curpos, fr.x, fr.y); - nextframe++; - if ( timeline.length > nextframe ) { - var wait = timeadd + timeline[nextframe].t - (new Date).getTime()/1000; - if ( wait < 0 ) { - // we're out of date! try to catch up. - return animateNextFrame(holder); - } else { - setTimeout(function(){animateNextFrame(holder);}, wait*1000); - } - } -}}; - -var makeCache = function (ch, wid, hei) { - var c = []; - for (var y = 0; y < hei; y++) { - c.push( repeatString(ch, wid) ); - } - return c; -}; - -showTTY = function (elem, data) { - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - var width = data.width; - var height = data.height; - var timeline = data.timeline; - - var table = makeTable(width, height); - elem.appendChild(table.elem); - - var holder = { - 'width': width, - 'height': height, - 'timeline': timeline, - 'table': table, - 'nextframe': 0, - 'time': 0, - 'rowcaches': { - 'd': makeCache(" ", width, height), - 'f': makeCache("7", width, height), - 'b': makeCache("0", width, height), - 'B': makeCache("0", width, height), - 'U': makeCache("0", width, height) - }, - 'curpos': [1,1], - 'timeadd': (new Date).getTime()/1000-timeline[0].t - }; - - animateNextFrame(holder); -}; - -showTTYURL = function (elem, url) { - var showText = function (text) { - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - elem.appendChild( document.createTextNode( text ) ); - }; - - showText("Loading " + url); - - new Ajax.Request(url, { method: 'get', - onSuccess: function(req) { - var data = eval("(" + req.responseText + ")"); - if ( typeof data == "undefined" ) { - showText("Error: didn't get tty data from " + url); - req = null; - return; - } - showTTY(elem, data); - }}); -}; - -}()); diff --git a/html/inc/streamtty.js b/html/inc/streamtty.js deleted file mode 100644 index 0f611847d..000000000 --- a/html/inc/streamtty.js +++ /dev/null @@ -1,347 +0,0 @@ -// streamtty.js - a pty client for jstty -// Copyright 2008 Jack Christopher Kastorff -(function(){ - -var repeatString = function (str, rep) { - var outstr = ''; - for (var i = 0; i < rep; i++) { - outstr += str; - } - return outstr; -}; - -var makeTable = function (width, height) { - var table = document.createElement("div"); - var arr = []; - for (var j = 1; j <= height; j++) { - var row = document.createElement("div"); - var arrrow = []; - row.style.fontFamily = '"ProFont", "Luxi Mono", "Monaco", "Courier", "Courier new", monospace'; - row.style.margin = '0'; - row.style.padding = '0'; - row.style.wordSpacing = '0'; - row.style.height = '1.2em'; - for (var i = 1; i <= width; i++) { - var charelem = document.createElement("pre"); - charelem.style.backgroundColor = '#000'; - charelem.style.color = '#FFF'; - charelem.style.display = 'inline'; - charelem.style.fontWeight = 'normal'; - charelem.style.textDecoration = 'none'; - charelem.style.letterSpacing = '0'; - charelem.style.margin = '0'; - charelem.style.padding = '0 0 0.2em 0'; - charelem.appendChild(document.createTextNode(" ")); - row.appendChild(charelem); - arrrow.push(charelem); - } - table.appendChild(row); - arr.push(arrrow); - } - return { "arr": arr, "elem": table }; -}; - -var setTextChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].firstChild.replaceData(0, 1, r.charAt(i)); - } -}; - -var setBoldChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.fontWeight = r.charAt(i) == 0 ? 'normal' : 'bold'; - } -}; - -var setUnderlineChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.textDecoration = r.charAt(i) == 0 ? 'none' : 'underline'; - } -}; - -var clut = { 0: "#000", 1: "#D00", 2: "#0D0", 3: "#DD0", 4: "#00D", 5: "#D0D", 6: "#0DD", 7: "#DDD" }; - -var setFcolorChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.color = clut[r.charAt(i)]; - } -}; - -var t = 0; -var setBcolorChunk = function (tb, r, index, stx) { - for (var i = 0; i < r.length; i++) { - tb.arr[index][i+stx].style.backgroundColor = clut[r.charAt(i)]; - } -}; - -var loadIFrame = function (tb, rowcaches, fr, width, height) { - var d = uncompressIFrameBlock(fr.d, width); - for (var i = 0; i < d.length; i++) { - setTextChunk(tb, d[i], i, 0); - rowcaches.d[i] = d[i]; - } - var B = uncompressIFrameBlock(fr.B, width); - for (var i = 0; i < B.length; i++) { - setBoldChunk(tb, B[i], i, 0); - rowcaches.B[i] = B[i]; - } - var U = uncompressIFrameBlock(fr.U, width); - for (var i = 0; i < U.length; i++) { - setUnderlineChunk(tb, U[i], i, 0); - rowcaches.U[i] = U[i]; - } - var f = uncompressIFrameBlock(fr.f, width); - for (var i = 0; i < f.length; i++) { - setFcolorChunk(tb, f[i], i, 0); - rowcaches.f[i] = f[i]; - } - var b = uncompressIFrameBlock(fr.b, width); - for (var i = 0; i < b.length; i++) { - setBcolorChunk(tb, b[i], i, 0); - rowcaches.b[i] = b[i]; - } -}; - -var uncompressIFrameBlock = function (d,width) { - var uncomp = []; - var last = null; - for (var i = 0; i < d.length; i++) { - var uncomprow = null; - if ( typeof d[i] == 'array' || typeof d[i] == 'object' ) { - if ( d[i][0] == "r" ) { - uncomprow = d[i][1]; - } else if ( d[i][0] == "a" ) { - uncomprow = repeatString(d[i][1], width); - } else { - throw new Error ("bad iframe data: subarray is not valid"); - } - } else if ( typeof d[i] == 'string' && d[i] == 'd' ) { - uncomprow = last; - } else { - throw new Error ("bad iframe data: unknown " + (typeof d[i]) + " in array"); - } - uncomp.push(uncomprow); - last = uncomprow; - } - return uncomp; -}; - -var loadPFrame = function (table, rowcaches, fr, width, height) { - if ( fr.d ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.d, width), rowcaches.d, setTextChunk); - } - if ( fr.B ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.B, width), rowcaches.B, setBoldChunk); - } - if ( fr.U ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.U, width), rowcaches.U, setUnderlineChunk); - } - if ( fr.f ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.f, width), rowcaches.f, setFcolorChunk); - } - if ( fr.b ) { - diffPushGeneric(table, annotatedPFrameBlock(fr.b, width), rowcaches.b, setBcolorChunk); - } -}; - -var diffPushGeneric = function (table, d, rowcache, set) { - // convert everything to line operations - for (var i = 0; i < d.length; i++) { - var e = d[i]; - if ( e[0] == "cp" ) { - set(table, rowcache[e[1]], e[2], 0); - rowcache[e[2]] = rowcache[e[1]]; - } else if ( e[0] == 'char' ) { - var r = e[1]; - var v = rowcache[r]; - var da = v.slice(0, e[2]) + e[3] + v.slice(e[2]+1); - set(table, e[3], e[1], e[2]); - rowcache[r] = da; - } else if ( e[0] == 'chunk' ) { - var r = e[1]; - var v = rowcache[r]; - var da = v.slice(0, e[2]) + e[4] + v.slice(e[3]+1); - set(table, e[4], e[1], e[2]); - rowcache[r] = da; - } else if ( e[0] == 'line' ) { - set(table, e[2], e[1], 0); - rowcache[e[1]] = e[2]; - } else { - throw new Error ("unknown p-frame item type " + e[0] + ", len " + e.length); - } - } -}; - -var annotatedPFrameBlock = function (frame, width) { - var ann = []; - for (var i = 0; i < frame.length; i++) { - var e = frame[i]; - if ( e[0] == 'cp' ) { - ann.push(e); - } else if ( e.length == 2 ) { - // raw line - if ( typeof e[1] == 'string' ) { - ann.push(['line', e[0], e[1]]); - } else if ( e[1][0] == "a" ) { - ann.push(['line', e[0], repeatString(e[1][1], width)]); - } else { - throw new Error ("p-frame corrupted: invalid 2-len"); - } - } else if ( e.length == 3 ) { - // char - ann.push(['char', e[0], e[1], e[2]]); - } else if ( e.length == 4 ) { - // chunk - if ( typeof e[3] == 'string' ) { - ann.push(['chunk', e[0], e[1], e[2], e[3]]); - } else if ( e[3][0] == 'a' ) { - ann.push(['chunk', e[0], e[1], e[2], repeatString(e[3][1], e[2]-e[1]+1)]); - } else { - throw new Error ("p-frame corrupted: invalid 4-len"); - } - } else { - throw new Error ("p-frame corrupted: no such thing as a " + e.length + "-len"); - } - } - return ann; -}; - -var handleCursor = function (table, bgcache, curpos, dx, dy) { - if ( typeof dx == 'number' || typeof dy == 'number' ) { - // make sure the old cursor position has been overwritten - setBcolorChunk(table, bgcache[curpos[1]-1].charAt(curpos[0]-1), curpos[1]-1, curpos[0]-1); - if ( typeof dx == 'number' ) { - curpos[0] = dx; - } - if ( typeof dy == 'number' ) { - curpos[1] = dy; - } - } - - // draw the cursor - table.arr[curpos[1]-1][curpos[0]-1].style.backgroundColor = '#FFF'; -}; - -var makeCache = function (ch, wid, hei) { - var c = []; - for (var y = 0; y < hei; y++) { - c.push( repeatString(ch, wid) ); - } - return c; -}; - -var newSendBuffer = function (h) { - if ( ! h.activeRequest && h.sendBuffer.length > 0 ) { - if ( h.timer ) clearTimeout(h.timer); - request(h, "user input", { keys: h.sendBuffer } ); - h.sendBuffer = ''; - } -}; - -var request = function (h, cmd, args) { - if ( h.activeRequest ) return; - var url = '/api?'; - args['type'] = cmd; - if ( h.id ) args['id'] = h.id; - var urlargs = []; - for (var k in args) { - urlargs.push( encodeURIComponent(k) + '=' + encodeURIComponent(args[k]) ); - } - url += urlargs.join("&"); - - h.activeRequest = true; - var req = new XMLHttpRequest(); - req.open("GET", url, true); - req.onreadystatechange = function () { - if ( req.readyState == 4 && req.status == 200 ) { - var data = eval('(' + req.responseText + ')'); - if ( typeof data == "undefined" ) { - alert("err: undefined"); - h.activeRequest = false; - req = null; - return; - } - if ( data.ok ) { - if ( data.id ) h.id = data.id; - if ( data.pframe ) { - loadPFrame(h.table, h.rowcaches, data.pframe, h.width, h.height); - if ( data.pframe.x && data.pframe.y ) { - handleCursor(h.table, h.rowcaches.b, h.curpos, data.pframe.x, data.pframe.y); - } - } - if ( data.iframe ) { - loadIFrame(h.table, h.rowcaches, data.iframe, h.width, h.height); - handleCursor(h.table, h.rowcaches.b, h.curpos, data.iframe.x, data.iframe.y); - } - h.timer = setTimeout( function () { request(h, "pframe", { }); }, h.timerlen.current ); - h.timerlen.current *= h.timerlen.step; - if ( h.timerlen.current > h.timerlen.max ) { - h.timerlen.current = h.timerlen.max; - } - h.activeRequest = false; - newSendBuffer(h); - } else { - h.activeRequest = false; - alert("err: " + data.error); - } - req = null; - return; - } else if ( req.readyState == 4 && req.status != 200 ) { - alert("err: response code " + req.status); - h.activeRequest = false; - req = null; - return; - } - }; - req.send(null); -}; - -var keyPressHandler = function (h, e) { - var str = String.fromCharCode(e.charCode); - h.sendBuffer += str; - h.timerlen.current = h.timerlen.min; - e.stopPropagation(); - e.preventDefault(); - newSendBuffer(h); - return false; -}; - -startStreamTTY = function (elem) { - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - var width = 80; - var height = 24; - - var table = makeTable(width, height); - elem.appendChild(table.elem); - - var holder = { - 'width': width, - 'height': height, - 'table': table, - 'rowcaches': { - 'd': makeCache(" ", width, height), - 'f': makeCache("7", width, height), - 'b': makeCache("0", width, height), - 'B': makeCache("0", width, height), - 'U': makeCache("0", width, height) - }, - 'curpos': [1,1], - 'sendBuffer': '', - 'timerlen': { - 'max': 15000, - 'current': 100, - 'min': 100, - 'step': 1.05 - }, - 'activeRequest': false, - }; - - document.body.addEventListener( "keypress", function (e) { return keyPressHandler(holder, e); }, true ); - - request(holder, "create session", {}); -}; - -}()); diff --git a/html/inc/tty.css b/html/inc/tty.css deleted file mode 100644 index e99b2613a..000000000 --- a/html/inc/tty.css +++ /dev/null @@ -1,29 +0,0 @@ -div#tty -{ - background: #000; - margin: 1em 0.2em 1em 0.2em; - padding: 0.5em 0.2em 0.5em 0.2em; -} - -div.row -{ - font-family: "Lucida Console", "DejaVu Sans Mono", "Nimbus Mono L", "Bitstream Vera Sans Mono", "ProFont", "Luxi Mono", "Monaco", "Courier", "Courier new", monospace; - margin: 0; - padding: 0; - word-spacing: 0; - height: 1.2em; -} - -span.charelem -{ - background: #000; - color: #FFF; - margin: 0; - padding: 0 0 0.2em 0; - font-weight: normal; - font-size: 1em; - text-decoration: none; - letter-spacing: 0; - display: inline; - overflow:auto;white-space:pre;/* <- css3 */ -} diff --git a/html/part1/ch01-01-diff-patch.html b/html/part1/ch01-01-diff-patch.html deleted file mode 100644 index e8f33c259..000000000 --- a/html/part1/ch01-01-diff-patch.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch01-01-diff-patch -json_file: ch01-01-diff-patch.json ---- diff --git a/html/part1/ch01-01-diff-patch.json b/html/part1/ch01-01-diff-patch.json deleted file mode 100644 index 2c361847d..000000000 --- a/html/part1/ch01-01-diff-patch.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305081330.96588,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305081332.55884},{"y":1,"d":[[0,11,"a"]],"x":13,"t":1305081332.67096},{"y":1,"d":[[0,12,"t"]],"x":14,"t":1305081332.75059},{"y":1,"x":15,"t":1305081332.85462},{"y":1,"d":[[0,14,"h"]],"x":16,"t":1305081332.99056},{"y":1,"d":[[0,15,"e"]],"x":17,"t":1305081333.07873},{"y":1,"d":[[0,16,18,"llo"]],"x":21,"t":1305081333.31118},{"y":2,"x":1,"t":1305081333.87883},{"y":13,"d":[[1,0,35,"应该杜绝文章中的错别子。"],[3,0,17,"但是无论使用"],[4,0,16,"* 全拼,双拼"],[5,0,13,"* 还是五笔"],[7,0,47,"是人就有可能犯错,软件更是如此。"],[9,0,29,"犯了错,就要扣工资!"],[11,0,32,"改正的成本可能会很高。"],[12,0,8,"bash-3.2$"]],"x":11,"t":1305081333.88321},{"y":13,"d":[[12,10,"c"]],"x":12,"t":1305081334.76643},{"y":13,"d":[[12,11,"a"]],"x":13,"t":1305081334.88662},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305081334.95861},{"y":13,"x":15,"t":1305081335.0707},{"y":13,"d":[[12,14,"w"]],"x":16,"t":1305081335.32629},{"y":13,"d":[[12,15,"o"]],"x":17,"t":1305081335.43083},{"y":13,"d":[[12,16,18,"rld"]],"x":21,"t":1305081335.57766},{"y":14,"x":1,"t":1305081336.39826},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],[12,0,35,"应该杜绝文章中的错别字。"],["cp",2,14],["cp",3,15],["cp",4,16],["cp",6,18],["cp",10,20],[22,0,56,"但是“只要眼球足够多,所有Bug都好捉”,"],[23,0,32,"这就是开源的哲学之一。"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081336.40578},{"y":25,"d":[[24,10,"d"]],"x":12,"t":1305081337.52646},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305081337.60639},{"y":25,"d":[[24,12,"f"]],"x":14,"t":1305081337.72651},{"y":25,"d":[[24,13,"f"]],"x":15,"t":1305081337.89438},{"y":25,"x":16,"t":1305081338.0227},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305081338.19817},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305081338.28642},{"y":25,"d":[[24,17,19,"llo"]],"x":22,"t":1305081338.52652},{"y":25,"d":[[24,21,"w"]],"x":23,"t":1305081339.05456},{"y":25,"d":[[24,22,"o"]],"x":24,"t":1305081339.14246},{"y":25,"d":[[24,23,"r"]],"x":25,"t":1305081339.43842},{"y":25,"d":[[24,24,25,"ld"]],"x":28,"t":1305081339.65498},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",1,13],["cp",2,14],["cp",3,15],["cp",0,16],["cp",5,17],["cp",0,18],["cp",9,19],["cp",0,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305081340.07071},{"y":25,"d":[["cp",11,0],["cp",4,1],["cp",13,2],["cp",14,3],["cp",15,4],["cp",1,5],["cp",17,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",21,10],["cp",22,11],["cp",23,12],[13,0,17,"1c1 "],[14,0,37,"< 应该杜绝文章中的错别子。"],[15,0,13,"--- "],[16,0,37,"> 应该杜绝文章中的错别字。"],[17,0,47,"9,10d8 "],[18,0,31,"< 犯了错,就要扣工资!"],[19,0,32,"< "],[20,0,7,"11a10,12"],[21,0,56,"> "],[22,0,58,"> 但是“只要眼球足够多,所有Bug都好捉”,"],[23,0,34,"> 这就是开源的哲学之一。"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081340.07697},{"y":25,"d":[[24,10,"d"]],"x":12,"t":1305081341.28623},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305081341.38208},{"y":25,"d":[[24,12,"f"]],"x":14,"t":1305081341.47822},{"y":25,"d":[[24,13,"f"]],"x":15,"t":1305081341.63014},{"y":25,"x":16,"t":1305081341.73417},{"y":25,"d":[[24,15,"-"]],"x":17,"t":1305081341.84605},{"y":25,"d":[[24,16,"u"]],"x":18,"t":1305081342.06994},{"y":25,"x":19,"t":1305081342.18198},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305081342.34983},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305081342.44616},{"y":25,"d":[[24,20,22,"llo"]],"x":25,"t":1305081342.67056},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305081343.26992},{"y":25,"d":[[24,25,"o"]],"x":27,"t":1305081343.34993},{"y":25,"d":[[24,26,"r"]],"x":28,"t":1305081343.54209},{"y":25,"d":[[24,27,28,"ld"]],"x":31,"t":1305081343.86307},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305081345.07831},{"y":25,"d":[["cp",18,0],["cp",19,1],["cp",20,2],["cp",21,3],["cp",22,4],["cp",23,5],[6,0,8,"--- hello"],[6,16,50,"2011-05-11 10:34:17.000000000 +0800"],[7,0,50,"+++ world 2011-05-11 10:34:00.000000000 +0800"],[8,0,14,"@@ -1,4 +1,4 @@"],[9,0,56,"-应该杜绝文章中的错别子。 "],[10,0,36,"+应该杜绝文章中的错别字。"],["cp",24,11],[12,0,18," 但是无论使用"],[13,0,37," * 全拼,双拼 "],[14,0,14,"@@ -6,6 +6,7 @@"],["cp",11,15],[16,0,48," 是人就有可能犯错,软件更是如此。"],["cp",11,17],[18,0,30,"-犯了错,就要扣工资!"],[19,0,7,"- "],[20,0,33," 改正的成本可能会很高。"],[21,0,58,"+ "],[22,0,57,"+但是“只要眼球足够多,所有Bug都好捉”,"],[23,0,33,"+这就是开源的哲学之一。"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081345.08417},{"y":25,"d":[[24,10,"d"]],"x":12,"t":1305081348.10974},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305081348.18185},{"y":25,"d":[[24,12,"f"]],"x":14,"t":1305081348.30173},{"y":25,"d":[[24,13,"f"]],"x":15,"t":1305081348.46163},{"y":25,"x":16,"t":1305081348.582},{"y":25,"d":[[24,15,"-"]],"x":17,"t":1305081348.7016},{"y":25,"d":[[24,16,"u"]],"x":18,"t":1305081348.91762},{"y":25,"x":19,"t":1305081349.07763},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305081349.2776},{"y":25,"d":[[24,19,22,"ello"]],"x":25,"t":1305081349.4224},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305081349.9095},{"y":25,"d":[[24,25,"o"]],"x":27,"t":1305081349.99775},{"y":25,"d":[["cp",5,24]],"x":31,"t":1305081350.13612},{"y":25,"d":[[24,30,">"]],"x":32,"t":1305081350.58173},{"y":25,"x":33,"t":1305081350.76545},{"y":25,"d":[[24,32,"d"]],"x":34,"t":1305081351.58968},{"y":25,"d":[[24,33,"i"]],"x":35,"t":1305081351.66966},{"y":25,"d":[[24,34,"f"]],"x":36,"t":1305081351.77356},{"y":25,"d":[[24,35,"f"]],"x":37,"t":1305081351.94159},{"y":25,"d":[[24,36,"."]],"x":38,"t":1305081352.02935},{"y":25,"d":[[24,37,"t"]],"x":39,"t":1305081352.16546},{"y":25,"d":[[24,38,"x"]],"x":40,"t":1305081352.30936},{"y":25,"d":[[24,39,"t"]],"x":41,"t":1305081352.41335},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",10,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",10,24]],"x":1,"t":1305081352.50949},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305081352.51433},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305081353.7415},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305081353.82123},{"y":25,"x":14,"t":1305081353.91721},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305081354.06116},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305081354.32529},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",15,14],["cp",9,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",9,24]],"x":1,"t":1305081354.733},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",14,10],["cp",5,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,57,"total 24 "],[21,0,54,"-rw-r--r-- 1 jiangxin staff 460 5 11 10:35 diff.txt"],[22,0,51,"-rw-r--r-- 1 jiangxin staff 207 5 11 10:34 hello"],[23,0,51,"-rw-r--r-- 1 jiangxin staff 268 5 11 10:34 world"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081354.74512},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305081358.42897},{"y":25,"d":[[24,11,"p"]],"x":13,"t":1305081358.54119},{"y":25,"x":14,"t":1305081358.669},{"y":25,"d":[[24,13,"w"]],"x":15,"t":1305081358.90921},{"y":25,"d":[[24,14,"o"]],"x":16,"t":1305081358.99696},{"y":25,"d":[[24,14," "]],"x":15,"t":1305081360.44505},{"y":25,"d":[[24,13," "]],"x":14,"t":1305081360.62095},{"y":25,"d":[[24,13,"h"]],"x":15,"t":1305081360.79693},{"y":25,"d":[[24,14,17,"ello"]],"x":20,"t":1305081360.89411},{"y":25,"d":[[24,19,"w"]],"x":21,"t":1305081361.44513},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305081361.53287},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305081361.87682},{"y":25,"d":[[24,22,23,"ld"]],"x":26,"t":1305081362.09346},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",4,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"t":1305081362.46859},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305081362.47287},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305081362.73293},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305081362.81301},{"y":25,"x":14,"t":1305081362.93278},{"d":[["r","+++ world 2011-05-11 10:34:00.000000000 +0800 "],["r","@@ -1,4 +1,4 @@ "],["r","-应该杜绝文章中的错别子。 "],["r","+应该杜绝文章中的错别字。 "],["a"," "],["r"," 但是无论使用 "],["r"," * 全拼,双拼 "],["r","@@ -6,6 +6,7 @@ "],["a"," "],["r"," 是人就有可能犯错,软件更是如此。 "],["a"," "],["r","-犯了错,就要扣工资! "],["r","- "],["r"," 改正的成本可能会很高。 "],["r","+ "],["r","+但是“只要眼球足够多,所有Bug都好捉”, "],["r","+这就是开源的哲学之一。 "],["r","bash-3.2$ diff -u hello world > diff.txt "],["r","bash-3.2$ ls -l "],["r","total 24 "],["r","-rw-r--r-- 1 jiangxin staff 460 5 11 10:35 diff.txt "],["r","-rw-r--r-- 1 jiangxin staff 207 5 11 10:34 hello "],["r","-rw-r--r-- 1 jiangxin staff 268 5 11 10:34 world "],["r","bash-3.2$ cp hello world "],["r","bash-3.2$ ls - "]],"x":15,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305081363.02881,"i":1},{"y":25,"d":[["cp",18,24]],"x":16,"t":1305081363.25312},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",17,23],["cp",3,24]],"x":1,"t":1305081364.03676},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",8,4],["cp",3,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",13,19],["cp",14,20],["cp",15,21],["cp",16,22],[23,0,51,"-rw-r--r-- 1 jiangxin staff 207 5 11 10:36 world"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081364.05124},{"y":25,"d":[[24,10,"p"]],"x":12,"t":1305081367.02864},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305081367.09256},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305081367.22881},{"y":25,"d":[[24,13,"c"]],"x":15,"t":1305081367.35656},{"y":25,"d":[[24,14,"h"]],"x":16,"t":1305081367.43687},{"y":25,"x":17,"t":1305081367.62082},{"y":25,"d":[[24,16,"w"]],"x":18,"t":1305081368.11768},{"y":25,"d":[[24,17,"o"]],"x":19,"t":1305081368.19691},{"y":25,"d":[[24,18,20,"rld"]],"x":23,"t":1305081368.32479},{"y":25,"d":[[24,22,"<"]],"x":24,"t":1305081368.83677},{"y":25,"d":[[24,23,"d"]],"x":25,"t":1305081369.17249},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305081369.26871},{"y":25,"d":[[24,24," "]],"x":25,"t":1305081369.82043},{"y":25,"d":[[24,23," "]],"x":24,"t":1305081369.98834},{"y":25,"x":25,"t":1305081370.05275},{"y":25,"d":[[24,24,"d"]],"x":26,"t":1305081370.22039},{"y":25,"d":[[24,25,"i"]],"x":27,"t":1305081370.28472},{"y":25,"d":[[24,26,31,"ff.txt"]],"x":34,"t":1305081370.48911},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",12,18],["cp",13,19],["cp",14,20],["cp",15,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"t":1305081370.89243},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",12,18],["cp",13,19],["cp",14,20],["cp",22,21],["cp",23,22],[23,0,31,"patching file world "]],"x":1,"t":1305081370.89827},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305081371.18641},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305081372.25256},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305081372.31622},{"y":25,"x":14,"t":1305081372.42025},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305081372.47612},{"y":25,"d":[["cp",11,24]],"x":16,"t":1305081372.69198},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",10,16],["cp",11,17],["cp",12,18],["cp",13,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",10,23],["cp",0,24]],"x":1,"t":1305081372.88414},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",6,12],["cp",7,13],["cp",8,14],["cp",9,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",6,19],["cp",7,20],["cp",8,21],["cp",9,22],[23,0,51,"-rw-r--r-- 1 jiangxin staff 268 5 11 10:36 world"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081372.89549},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305081375.82833},{"y":25,"d":[[24,11,"p"]],"x":13,"t":1305081375.9404},{"y":25,"x":14,"t":1305081376.05992},{"y":25,"d":[[24,13,"w"]],"x":15,"t":1305081376.21218},{"y":25,"d":[[24,14,"o"]],"x":16,"t":1305081376.27597},{"y":25,"d":[[24,15,17,"rld"]],"x":20,"t":1305081376.4441},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305081377.44391},{"y":25,"d":[[24,20,23,"ello"]],"x":26,"t":1305081377.55974},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",5,11],["cp",6,12],["cp",7,13],["cp",8,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",5,18],["cp",6,19],["cp",7,20],["cp",8,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305081378.03611},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305081378.0422},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305081378.90798},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305081378.98007},{"y":25,"x":14,"t":1305081379.09205},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305081379.18005},{"y":25,"d":[["cp",5,24]],"x":16,"t":1305081379.37979},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",5,11],["cp",6,12],["cp",7,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",4,17],["cp",5,18],["cp",6,19],["cp",7,20],["cp",22,21],["cp",23,22],["cp",4,23],[24,["a"," "]]],"x":1,"t":1305081379.55566},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",0,6],["cp",1,7],["cp",2,8],["cp",3,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",0,13],["cp",1,14],["cp",2,15],["cp",3,16],["cp",21,17],["cp",22,18],["cp",0,19],["cp",1,20],["cp",2,21],[22,0,51,"-rw-r--r-- 1 jiangxin staff 268 5 11 10:36 hello"],["cp",17,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081379.5719},{"y":25,"d":[[24,10,"p"]],"x":12,"t":1305081380.42779},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305081380.52407},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305081380.67599},{"y":25,"d":[[24,13,"c"]],"x":15,"t":1305081380.8359},{"y":25,"d":[[24,14,"h"]],"x":16,"t":1305081380.94},{"y":25,"x":17,"t":1305081381.09961},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305081381.324},{"y":25,"d":[[24,17,"R"]],"x":19,"t":1305081381.58784},{"y":25,"x":20,"t":1305081381.69985},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305081382.2357},{"y":25,"d":[[24,20,23,"ello"]],"x":26,"t":1305081382.32472},{"y":25,"d":[[24,25,"<"]],"x":27,"t":1305081382.7718},{"y":25,"x":28,"t":1305081383.21992},{"y":25,"d":[[24,27,"d"]],"x":29,"t":1305081383.38765},{"y":25,"d":[[24,28,"i"]],"x":30,"t":1305081383.45974},{"y":25,"d":[[24,29,34,"ff.txt"]],"x":37,"t":1305081383.60521},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",1,7],["cp",2,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",5,12],["cp",0,13],["cp",1,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",5,18],["cp",0,19],["cp",1,20],["cp",22,21],["cp",16,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305081383.985},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",1,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",4,11],["cp",5,12],["cp",0,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",4,17],["cp",5,18],["cp",0,19],["cp",21,20],["cp",15,21],["cp",23,22],[23,0,34,"patching file hello "]],"x":1,"t":1305081383.98765},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305081384.27602},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305081385.67552},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305081385.7153},{"y":25,"x":14,"t":1305081385.81951},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305081385.92363},{"y":25,"d":[["cp",4,24]],"x":16,"t":1305081386.13192},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",4,11],["cp",5,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",3,16],["cp",4,17],["cp",5,18],["cp",20,19],["cp",14,20],["cp",22,21],["cp",23,22],["cp",3,23],[24,["a"," "]]],"x":1,"t":1305081386.31552},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",14,10],["cp",15,11],["cp",6,12],["cp",0,13],["cp",1,14],["cp",19,15],["cp",10,16],["cp",21,17],["cp",22,18],["cp",6,19],["cp",0,20],["cp",1,21],[22,0,51,"-rw-r--r-- 1 jiangxin staff 207 5 11 10:36 hello"],["cp",10,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081386.32677},{"y":25,"d":[[24,10,"d"]],"x":12,"t":1305081388.55533},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305081388.63566},{"y":25,"d":[[24,12,"f"]],"x":14,"t":1305081388.73942},{"y":25,"d":[[24,13,"f"]],"x":15,"t":1305081388.89942},{"y":25,"x":16,"t":1305081389.01947},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305081389.13128},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305081389.25136},{"y":25,"d":[[24,17,19,"llo"]],"x":22,"t":1305081389.46791},{"y":25,"d":[[24,21,"w"]],"x":23,"t":1305081389.89132},{"y":25,"d":[[24,22,"o"]],"x":24,"t":1305081389.97116},{"y":25,"d":[[24,23,25,"rld"]],"x":28,"t":1305081390.09254},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",5,11],["cp",6,12],["cp",0,13],["cp",15,14],["cp",9,15],["cp",17,16],["cp",18,17],["cp",5,18],["cp",6,19],["cp",0,20],["cp",22,21],["cp",9,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305081390.29939},{"y":25,"d":[["cp",5,0],["cp",6,1],["cp",7,2],["cp",14,3],["cp",9,4],["cp",16,5],["cp",17,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",21,10],["cp",4,11],["cp",23,12],[13,0,54,"1c1 "],[14,0,51,"< 应该杜绝文章中的错别子。 "],[15,1,51,"-- "],[16,0,37,"> 应该杜绝文章中的错别字。"],[17,0,18,"9,10d8 "],[18,0,31,"< 犯了错,就要扣工资!"],[19,0,7,"< "],[20,0,54,"11a10,12 "],[21,0,51,"> "],[22,0,58,"> 但是“只要眼球足够多,所有Bug都好捉”,"],[23,0,34,"> 这就是开源的哲学之一。"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305081390.3041},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,34,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"t":1305081391.5714}]} \ No newline at end of file diff --git a/html/part2/ch04-01-first-commit.html b/html/part2/ch04-01-first-commit.html deleted file mode 100644 index 8ed225478..000000000 --- a/html/part2/ch04-01-first-commit.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch04-01-first-commit -json_file: ch04-01-first-commit.json ---- diff --git a/html/part2/ch04-01-first-commit.json b/html/part2/ch04-01-first-commit.json deleted file mode 100644 index c51a26d25..000000000 --- a/html/part2/ch04-01-first-commit.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305082916.8102,"i":1},{"y":1,"d":[[0,10,"g"]],"x":12,"t":1305082917.40305},{"y":1,"d":[[0,11,"i"]],"x":13,"t":1305082917.491},{"y":1,"d":[[0,12,"t"]],"x":14,"t":1305082917.59517},{"y":1,"x":15,"t":1305082917.66714},{"y":1,"d":[[0,14,"-"]],"x":16,"t":1305082917.81913},{"y":1,"d":[[0,15,"-"]],"x":17,"t":1305082917.99517},{"y":1,"d":[[0,16,"v"]],"x":18,"t":1305082918.12325},{"y":1,"d":[[0,17,"e"]],"x":19,"t":1305082918.30168},{"y":1,"d":[[0,18,"r"]],"x":20,"t":1305082918.34696},{"y":1,"d":[[0,19,"s"]],"x":21,"t":1305082918.47501},{"y":1,"d":[[0,20,"i"]],"x":22,"t":1305082918.53904},{"y":1,"d":[[0,21,"o"]],"x":23,"t":1305082918.65096},{"y":1,"d":[[0,22,"n"]],"x":24,"t":1305082918.78705},{"y":2,"x":1,"t":1305082919.04311},{"y":3,"d":[[1,0,22,"git version 1.7.5.dirty"],[2,0,8,"bash-3.2$"]],"x":11,"t":1305082919.04959},{"y":3,"d":[[2,10,"g"]],"x":12,"t":1305082922.13909},{"y":3,"d":[[2,11,"i"]],"x":13,"t":1305082922.22691},{"y":3,"d":[[2,12,"t"]],"x":14,"t":1305082922.33092},{"y":3,"x":15,"t":1305082922.41892},{"y":3,"d":[[2,14,"c"]],"x":16,"t":1305082922.56298},{"y":3,"d":[[2,15,"o"]],"x":17,"t":1305082922.63484},{"y":3,"d":[[2,16,"n"]],"x":18,"t":1305082922.74673},{"y":3,"d":[[2,17,"f"]],"x":19,"t":1305082922.77065},{"y":3,"d":[[2,18,"i"]],"x":20,"t":1305082922.91483},{"y":3,"d":[[2,19,"g"]],"x":21,"t":1305082922.97902},{"y":3,"x":22,"t":1305082923.10683},{"y":3,"d":[[2,21,"-"]],"x":23,"t":1305082923.62736},{"y":3,"d":[[2,22,"-"]],"x":24,"t":1305082923.78664},{"y":3,"d":[[2,23,"g"]],"x":25,"t":1305082924.23466},{"y":3,"d":[[2,24,"l"]],"x":26,"t":1305082924.34669},{"y":3,"d":[[2,25,"o"]],"x":27,"t":1305082924.5065},{"y":3,"d":[[2,26,"b"]],"x":28,"t":1305082924.57063},{"y":3,"d":[[2,27,"a"]],"x":29,"t":1305082924.71469},{"y":3,"d":[[2,28,"l"]],"x":30,"t":1305082924.80276},{"y":3,"x":31,"t":1305082924.92272},{"y":3,"d":[[2,30,"u"]],"x":32,"t":1305082925.09885},{"y":3,"d":[[2,31,"s"]],"x":33,"t":1305082925.16277},{"y":3,"d":[[2,32,"e"]],"x":34,"t":1305082925.25864},{"y":3,"d":[[2,33,"r"]],"x":35,"t":1305082925.29079},{"y":3,"d":[[2,34,"."]],"x":36,"t":1305082925.5067},{"y":3,"d":[[2,35,"n"]],"x":37,"t":1305082926.09871},{"y":3,"d":[[2,36,"a"]],"x":38,"t":1305082926.14664},{"y":3,"d":[[2,37,"m"]],"x":39,"t":1305082926.27475},{"y":3,"d":[[2,38,"e"]],"x":40,"t":1305082926.35472},{"y":3,"x":41,"t":1305082926.46665},{"y":3,"d":[[2,40,"\""]],"x":42,"t":1305082927.11466},{"y":3,"d":[[2,41,"J"]],"x":43,"t":1305082927.72275},{"y":3,"d":[[2,42,"i"]],"x":44,"t":1305082927.85895},{"y":3,"d":[[2,43,"a"]],"x":45,"t":1305082927.98663},{"y":3,"d":[[2,44,"n"]],"x":46,"t":1305082928.05887},{"y":3,"d":[[2,45,"g"]],"x":47,"t":1305082928.14653},{"y":3,"x":48,"t":1305082928.24265},{"y":3,"d":[[2,47,"X"]],"x":49,"t":1305082928.43464},{"y":3,"d":[[2,48,"i"]],"x":50,"t":1305082928.58648},{"y":3,"d":[[2,49,"n"]],"x":51,"t":1305082928.69857},{"y":3,"d":[[2,50,"\""]],"x":52,"t":1305082929.10688},{"y":4,"x":1,"t":1305082929.30646},{"y":4,"d":[[3,0,8,"bash-3.2$"]],"x":11,"t":1305082929.3141},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305082929.89863},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305082929.95436},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305082930.0663},{"y":4,"x":15,"t":1305082930.10628},{"y":4,"d":[[3,14,"c"]],"x":16,"t":1305082930.25874},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305082930.31448},{"y":4,"d":[[3,16,"n"]],"x":18,"t":1305082930.42632},{"y":4,"d":[[3,17,"f"]],"x":19,"t":1305082930.4593},{"y":4,"d":[[3,18,"i"]],"x":20,"t":1305082930.57033},{"y":4,"d":[[3,19,"g"]],"x":21,"t":1305082930.65862},{"y":4,"x":22,"t":1305082930.75457},{"y":4,"d":[[3,21,"-"]],"x":23,"t":1305082930.96248},{"y":4,"d":[[3,22,"-"]],"x":24,"t":1305082931.12243},{"y":4,"d":[[3,23,"g"]],"x":25,"t":1305082931.40286},{"y":4,"d":[[3,24,"l"]],"x":26,"t":1305082931.50647},{"y":4,"d":[[3,25,"o"]],"x":27,"t":1305082931.6667},{"y":4,"d":[[3,26,"b"]],"x":28,"t":1305082931.73827},{"y":4,"d":[[3,27,"a"]],"x":29,"t":1305082931.87431},{"y":4,"d":[[3,28,"l"]],"x":30,"t":1305082931.9943},{"y":4,"x":31,"t":1305082932.14628},{"y":4,"d":[[3,30,"u"]],"x":32,"t":1305082932.53034},{"y":4,"d":[[3,31,"s"]],"x":33,"t":1305082932.5942},{"y":4,"d":[[3,32,"e"]],"x":34,"t":1305082932.65852},{"y":4,"d":[[3,33,"r"]],"x":35,"t":1305082932.69027},{"y":4,"d":[[3,34,"."]],"x":36,"t":1305082932.89813},{"y":4,"d":[[3,35,"e"]],"x":37,"t":1305082933.02628},{"y":4,"d":[[3,36,"m"]],"x":38,"t":1305082933.32247},{"y":4,"d":[[3,37,"a"]],"x":39,"t":1305082933.42624},{"y":4,"d":[[3,38,"i"]],"x":40,"t":1305082933.50625},{"y":4,"d":[[3,39,"l"]],"x":41,"t":1305082933.57809},{"y":4,"x":42,"t":1305082934.29006},{"y":4,"d":[[3,41,"j"]],"x":43,"t":1305082934.72211},{"y":4,"d":[[3,42,"i"]],"x":44,"t":1305082934.85824},{"y":4,"d":[[3,43,"a"]],"x":45,"t":1305082934.89001},{"y":4,"d":[[3,44,"n"]],"x":46,"t":1305082934.98598},{"y":4,"d":[[3,45,"g"]],"x":47,"t":1305082935.04227},{"y":4,"d":[[3,46,"x"]],"x":48,"t":1305082935.14618},{"y":4,"d":[[3,47,"i"]],"x":49,"t":1305082935.20228},{"y":4,"d":[[3,48,"n"]],"x":50,"t":1305082935.30635},{"y":4,"d":[[3,49,"@"]],"x":51,"t":1305082935.6263},{"y":4,"d":[[3,50,"o"]],"x":52,"t":1305082935.91441},{"d":[["r","bash-3.2$ git --version "],["r","git version 1.7.5.dirty "],["r","bash-3.2$ git config --global user.name \"Jiang Xin\" "],["r","bash-3.2$ git config --global user.email jiangxin@os "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":53,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":4,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305082936.01804,"i":1},{"y":4,"d":[[3,52,"s"]],"x":54,"t":1305082936.19416},{"y":4,"d":[[3,53,"x"]],"x":55,"t":1305082936.36203},{"y":4,"d":[[3,54,"p"]],"x":56,"t":1305082936.45134},{"y":4,"d":[[3,55,"."]],"x":57,"t":1305082936.60996},{"y":4,"d":[[3,56,"c"]],"x":58,"t":1305082936.682},{"y":4,"d":[[3,57,"o"]],"x":59,"t":1305082936.80237},{"y":4,"d":[[3,58,"m"]],"x":60,"t":1305082936.91424},{"y":5,"x":1,"t":1305082937.14588},{"y":5,"d":[[4,0,8,"bash-3.2$"]],"x":11,"t":1305082937.15638},{"y":5,"d":[[4,10,"g"]],"x":12,"t":1305082938.60992},{"y":5,"d":[[4,11,"i"]],"x":13,"t":1305082938.67397},{"y":5,"d":[[4,12,"t"]],"x":14,"t":1305082938.8021},{"y":5,"x":15,"t":1305082938.88228},{"y":5,"d":[[4,14,"c"]],"x":16,"t":1305082940.31379},{"y":5,"d":[[4,15,"o"]],"x":17,"t":1305082940.37787},{"y":5,"d":[[4,16,"n"]],"x":18,"t":1305082940.49828},{"y":5,"d":[[4,17,"f"]],"x":19,"t":1305082940.5297},{"y":5,"d":[[4,18,"i"]],"x":20,"t":1305082940.66585},{"y":5,"d":[[4,19,"g"]],"x":21,"t":1305082940.74588},{"y":5,"x":22,"t":1305082940.84184},{"y":5,"d":[[4,21,"-"]],"x":23,"t":1305082941.3138},{"y":5,"d":[[4,22,"-"]],"x":24,"t":1305082941.49944},{"y":5,"d":[[4,23,"g"]],"x":25,"t":1305082941.64192},{"y":5,"d":[[4,24,"l"]],"x":26,"t":1305082941.81774},{"y":5,"d":[[4,25,"o"]],"x":27,"t":1305082941.978},{"y":5,"d":[[4,26,"b"]],"x":28,"t":1305082942.06583},{"y":5,"d":[[4,27,"a"]],"x":29,"t":1305082942.18562},{"y":5,"d":[[4,28,"l"]],"x":30,"t":1305082942.27378},{"y":5,"x":31,"t":1305082942.5136},{"y":5,"d":[[4,30,"c"]],"x":32,"t":1305082943.63364},{"y":5,"d":[[4,31,"o"]],"x":33,"t":1305082943.72178},{"y":5,"d":[[4,32,"l"]],"x":34,"t":1305082943.89774},{"y":5,"d":[[4,33,"o"]],"x":35,"t":1305082944.07385},{"y":5,"d":[[4,34,"r"]],"x":36,"t":1305082944.17762},{"y":5,"d":[[4,35,"."]],"x":37,"t":1305082944.47368},{"y":5,"d":[[4,36,"u"]],"x":38,"t":1305082944.71372},{"y":5,"d":[[4,37,"i"]],"x":39,"t":1305082945.05754},{"y":5,"x":40,"t":1305082945.24144},{"y":5,"d":[[4,39,"t"]],"x":41,"t":1305082945.49757},{"y":5,"d":[[4,40,"r"]],"x":42,"t":1305082945.68147},{"y":5,"d":[[4,41,"u"]],"x":43,"t":1305082945.8255},{"y":5,"d":[[4,42,"e"]],"x":44,"t":1305082945.95352},{"y":6,"x":1,"t":1305082946.58541},{"y":6,"d":[[5,0,8,"bash-3.2$"]],"x":11,"t":1305082946.59185},{"y":6,"d":[[5,10,"g"]],"x":12,"t":1305082947.22555},{"y":6,"d":[[5,11,"i"]],"x":13,"t":1305082947.30527},{"y":6,"d":[[5,12,"t"]],"x":14,"t":1305082947.40156},{"y":6,"x":15,"t":1305082947.48945},{"y":6,"d":[[5,14,"c"]],"x":16,"t":1305082947.61032},{"y":6,"d":[[5,15,"o"]],"x":17,"t":1305082947.68157},{"y":6,"d":[[5,16,"n"]],"x":18,"t":1305082947.80955},{"y":6,"d":[[5,17,"f"]],"x":19,"t":1305082947.82574},{"y":6,"d":[[5,18,"i"]],"x":20,"t":1305082947.93739},{"y":6,"d":[[5,19,"g"]],"x":21,"t":1305082948.01757},{"y":6,"x":22,"t":1305082948.13735},{"y":6,"d":[[5,21,"-"]],"x":23,"t":1305082948.24123},{"y":6,"d":[[5,22,"-"]],"x":24,"t":1305082948.42567},{"y":6,"d":[[5,23,"s"]],"x":25,"t":1305082948.50568},{"y":6,"d":[[5,24,"y"]],"x":26,"t":1305082948.62533},{"y":6,"d":[[5,25,"s"]],"x":27,"t":1305082948.68936},{"y":6,"d":[[5,26,"t"]],"x":28,"t":1305082948.86569},{"y":6,"d":[[5,27,"e"]],"x":29,"t":1305082949.00142},{"y":6,"d":[[5,28,"m"]],"x":30,"t":1305082949.12959},{"y":6,"x":31,"t":1305082949.26551},{"y":6,"d":[[5,30,"a"]],"x":32,"t":1305082949.49741},{"y":6,"d":[[5,31,"l"]],"x":33,"t":1305082949.56934},{"y":6,"d":[[5,32,"i"]],"x":34,"t":1305082949.69738},{"y":6,"d":[[5,33,"a"]],"x":35,"t":1305082949.84963},{"y":6,"d":[[5,34,"s"]],"x":36,"t":1305082950.02551},{"y":6,"d":[[5,35,"."]],"x":37,"t":1305082950.21729},{"y":6,"d":[[5,36,"s"]],"x":38,"t":1305082951.71338},{"y":6,"d":[[5,37,"t"]],"x":39,"t":1305082951.85733},{"y":6,"x":40,"t":1305082951.99312},{"y":6,"d":[[5,39,"s"]],"x":41,"t":1305082952.1532},{"y":6,"d":[[5,40,"t"]],"x":42,"t":1305082952.26528},{"y":6,"d":[[5,41,"a"]],"x":43,"t":1305082952.40117},{"y":6,"d":[[5,42,"t"]],"x":44,"t":1305082952.51327},{"y":6,"d":[[5,43,"u"]],"x":45,"t":1305082952.61719},{"y":6,"d":[[5,44,"s"]],"x":46,"t":1305082952.68909},{"y":7,"x":1,"t":1305082952.84104},{"y":8,"d":[[6,0,66,"error: could not lock config file /etc/gitconfig: Permission denied"],[7,0,8,"bash-3.2$"]],"x":11,"t":1305082952.84775},{"y":8,"d":[["cp",5,7]],"x":11,"t":1305082954.53708},{"y":8,"d":[[7,10,45,"sgit config --system alias.st status"]],"x":12,"t":1305082954.94514},{"y":8,"d":[[7,11,46,"ugit config --system alias.st status"]],"x":13,"t":1305082955.07338},{"y":8,"d":[[7,12,47,"dgit config --system alias.st status"]],"x":14,"t":1305082955.13709},{"y":8,"d":[[7,13,48,"ogit config --system alias.st status"]],"x":15,"t":1305082955.26511},{"y":8,"d":[[7,14,49," git config --system alias.st status"]],"x":16,"t":1305082955.38523},{"y":9,"x":1,"t":1305082955.73707},{"y":9,"d":[[8,0,8,"bash-3.2$"]],"x":11,"t":1305082955.75914},{"y":9,"d":[["cp",7,8]],"x":11,"t":1305082956.50479},{"y":9,"x":16,"t":1305082956.68904},{"y":9,"x":20,"t":1305082957.18937},{"y":9,"x":27,"t":1305082957.27291},{"y":9,"x":29,"t":1305082957.35609},{"y":9,"x":36,"t":1305082957.43967},{"y":9,"x":41,"t":1305082958.425},{"y":9,"x":42,"t":1305082958.60913},{"y":9,"d":[[8,41,49,["a"," "]]],"x":41,"t":1305082959.48098},{"y":9,"x":42,"t":1305082959.65692},{"d":[["r","bash-3.2$ git --version "],["r","git version 1.7.5.dirty "],["r","bash-3.2$ git config --global user.name \"Jiang Xin\" "],["r","bash-3.2$ git config --global user.email jiangxin@ossxp.com "],["r","bash-3.2$ git config --global color.ui true "],["r","bash-3.2$ git config --system alias.st status "],["r","error: could not lock config file /etc/gitconfig: Permission denied "],["r","bash-3.2$ sudo git config --system alias.st status "],["r","bash-3.2$ sudo git config --system alias.c "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":43,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":9,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305082960.10465,"i":1},{"y":9,"d":[[8,42,"i"]],"x":44,"t":1305082960.18467},{"y":9,"x":45,"t":1305082960.34449},{"y":9,"d":[[8,44,"c"]],"x":46,"t":1305082960.55261},{"y":9,"d":[[8,45,"o"]],"x":47,"t":1305082960.63276},{"y":9,"d":[[8,46,"m"]],"x":48,"t":1305082960.80867},{"y":9,"d":[[8,47,"m"]],"x":49,"t":1305082960.95278},{"y":9,"d":[[8,48,"i"]],"x":50,"t":1305082961.10469},{"y":9,"d":[[8,49,"t"]],"x":51,"t":1305082961.19257},{"y":10,"x":1,"t":1305082961.3286},{"y":10,"d":[[9,0,8,"bash-3.2$"]],"x":11,"t":1305082961.346},{"y":10,"d":[["cp",8,9]],"x":11,"t":1305082961.9286},{"y":10,"x":16,"t":1305082962.31286},{"y":10,"x":20,"t":1305082962.81286},{"y":10,"x":27,"t":1305082962.89603},{"y":10,"x":29,"t":1305082962.97962},{"y":10,"x":36,"t":1305082963.06318},{"y":10,"x":41,"t":1305082963.14642},{"y":10,"x":42,"t":1305082963.23207},{"y":10,"x":45,"t":1305082963.31326},{"y":10,"x":42,"t":1305082963.69646},{"y":10,"d":[[9,41,49,["a"," "]]],"x":41,"t":1305082964.337},{"y":10,"x":42,"t":1305082964.50442},{"y":10,"d":[[9,41,"c"]],"x":43,"t":1305082964.75241},{"y":10,"d":[[9,42,"o"]],"x":44,"t":1305082964.8405},{"y":10,"x":45,"t":1305082965.05649},{"y":10,"d":[[9,44,"c"]],"x":46,"t":1305082965.24324},{"y":10,"d":[[9,45,"h"]],"x":47,"t":1305082965.33633},{"y":10,"d":[[9,46,"e"]],"x":48,"t":1305082965.43246},{"y":10,"d":[[9,47,"c"]],"x":49,"t":1305082965.60048},{"y":10,"d":[[9,48,"k"]],"x":50,"t":1305082965.64064},{"y":10,"d":[[9,49,"o"]],"x":51,"t":1305082965.78453},{"y":10,"d":[[9,50,"u"]],"x":52,"t":1305082965.88838},{"y":10,"d":[[9,51,"t"]],"x":53,"t":1305082966.02443},{"y":11,"x":1,"t":1305082966.19246},{"y":11,"d":[[10,0,8,"bash-3.2$"]],"x":11,"t":1305082966.21165},{"y":11,"d":[["cp",9,10]],"x":11,"t":1305082966.64829},{"y":11,"x":16,"t":1305082966.97628},{"y":11,"x":20,"t":1305082967.47669},{"y":11,"x":27,"t":1305082967.56013},{"y":11,"x":29,"t":1305082967.6432},{"y":11,"x":36,"t":1305082967.72644},{"y":11,"x":41,"t":1305082967.80997},{"y":11,"x":42,"t":1305082967.89338},{"y":11,"d":[[10,41,51,["a"," "]]],"x":41,"t":1305082968.65657},{"y":11,"x":42,"t":1305082968.88848},{"y":11,"d":[[10,41,"b"]],"x":43,"t":1305082969.69623},{"y":11,"d":[[10,42,"r"]],"x":44,"t":1305082969.88012},{"y":11,"x":45,"t":1305082969.98418},{"y":11,"d":[[10,44,"b"]],"x":46,"t":1305082970.18438},{"y":11,"d":[[10,45,"r"]],"x":47,"t":1305082970.36894},{"y":11,"d":[[10,46,"a"]],"x":48,"t":1305082970.52808},{"y":11,"d":[[10,47,"n"]],"x":49,"t":1305082970.64002},{"y":11,"d":[[10,48,"c"]],"x":50,"t":1305082970.77625},{"y":11,"d":[[10,49,"h"]],"x":51,"t":1305082970.89625},{"y":12,"x":1,"t":1305082971.21601},{"y":12,"d":[[11,0,8,"bash-3.2$"]],"x":11,"t":1305082971.23762},{"y":12,"d":[[11,10,"c"]],"x":12,"t":1305082973.96799},{"y":12,"d":[[11,11,"d"]],"x":13,"t":1305082974.14405},{"y":12,"x":14,"t":1305082974.232},{"y":12,"d":[[11,13,"/"]],"x":15,"t":1305082974.3599},{"y":12,"d":[[11,14,"p"]],"x":16,"t":1305082974.56907},{"y":12,"d":[[11,15,"a"]],"x":17,"t":1305082974.60831},{"y":12,"d":[[11,16,"t"]],"x":18,"t":1305082974.75992},{"y":12,"d":[[11,17,"h"]],"x":19,"t":1305082974.97751},{"y":12,"d":[[11,18,"t"]],"x":20,"t":1305082975.45583},{"y":12,"d":[[11,18," "]],"x":19,"t":1305082975.84789},{"y":12,"d":[[11,18,"/"]],"x":20,"t":1305082976.05599},{"y":12,"d":[[11,19,"t"]],"x":21,"t":1305082976.50516},{"y":12,"d":[[11,20,"o"]],"x":22,"t":1305082976.56008},{"y":12,"d":[[11,21,"/"]],"x":23,"t":1305082976.72662},{"y":12,"d":[[11,22,"m"]],"x":24,"t":1305082977.2799},{"y":12,"d":[[11,23,"y"]],"x":25,"t":1305082977.48781},{"y":12,"d":[[11,24,"/"]],"x":26,"t":1305082977.57401},{"y":12,"d":[[11,25,"w"]],"x":27,"t":1305082978.43963},{"y":12,"d":[[11,26,"o"]],"x":28,"t":1305082978.51991},{"y":12,"d":[[11,27,33,"rkspace"]],"x":35,"t":1305082978.67018},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305082979.83164},{"y":13,"d":[[12,10,"l"]],"x":12,"t":1305082981.33559},{"y":13,"d":[[12,11,"s"]],"x":13,"t":1305082981.41566},{"y":14,"x":1,"t":1305082981.55938},{"y":14,"d":[[13,0,8,"bash-3.2$"]],"x":11,"t":1305082981.56397},{"y":14,"d":[[13,10,"g"]],"x":12,"t":1305082981.87961},{"y":14,"d":[[13,11,"i"]],"x":13,"t":1305082981.93624},{"y":14,"d":[[13,12,"t"]],"x":14,"t":1305082982.05573},{"y":14,"x":15,"t":1305082982.12769},{"y":14,"d":[[13,14,"i"]],"x":16,"t":1305082982.28848},{"y":14,"d":[[13,15,"n"]],"x":17,"t":1305082982.41532},{"y":14,"d":[[13,16,"i"]],"x":18,"t":1305082982.53572},{"y":14,"d":[[13,17,"t"]],"x":19,"t":1305082982.62353},{"y":14,"x":20,"t":1305082982.67962},{"y":14,"d":[[13,19,"d"]],"x":21,"t":1305082982.89561},{"y":14,"d":[[13,20,"e"]],"x":22,"t":1305082983.07135},{"y":14,"d":[[13,21,"m"]],"x":23,"t":1305082983.20734},{"y":14,"d":[[13,22,"o"]],"x":24,"t":1305082983.33558},{"y":15,"x":1,"t":1305082983.53606},{"y":17,"d":[[14,0,79,"Initialized empty Git repository in /Volumes/MacDATA/path/to/my/workspace/demo/."],[15,0,3,"git/"],[16,0,8,"bash-3.2$"]],"x":11,"t":1305082983.55219},{"y":17,"d":[[16,10,"l"]],"x":12,"t":1305082983.75132},{"y":17,"d":[["cp",12,16]],"x":13,"t":1305082983.84751},{"y":18,"x":1,"t":1305082983.95129},{"d":[["r","bash-3.2$ git --version "],["r","git version 1.7.5.dirty "],["r","bash-3.2$ git config --global user.name \"Jiang Xin\" "],["r","bash-3.2$ git config --global user.email jiangxin@ossxp.com "],["r","bash-3.2$ git config --global color.ui true "],["r","bash-3.2$ git config --system alias.st status "],["r","error: could not lock config file /etc/gitconfig: Permission denied "],["r","bash-3.2$ sudo git config --system alias.st status "],["r","bash-3.2$ sudo git config --system alias.ci commit "],["r","bash-3.2$ sudo git config --system alias.co checkout "],["r","bash-3.2$ sudo git config --system alias.br branch "],["r","bash-3.2$ cd /path/to/my/workspace "],["r","bash-3.2$ ls "],["r","bash-3.2$ git init demo "],["r","Initialized empty Git repository in /Volumes/MacDATA/path/to/my/workspace/demo/."],["r","git/ "],["r","bash-3.2$ ls "],["r","demo "],["r","bash-3.2$ "],["a"," "],"d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":19,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","44447777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305082983.95562,"i":1},{"y":19,"d":[[18,10,"c"]],"x":12,"t":1305082984.61523},{"y":19,"d":[[18,11,"d"]],"x":13,"t":1305082984.79951},{"y":19,"x":14,"t":1305082984.86337},{"y":19,"d":[[18,13,"d"]],"x":15,"t":1305082985.0154},{"y":19,"d":[[18,14,"e"]],"x":16,"t":1305082985.16718},{"y":19,"d":[[18,15,"m"]],"x":17,"t":1305082985.27142},{"y":19,"d":[[18,16,17,"o/"]],"x":19,"t":1305082985.44007},{"y":20,"x":1,"t":1305082985.69522},{"y":20,"d":[[19,0,8,"bash-3.2$"]],"x":11,"t":1305082985.69549},{"y":20,"d":[[19,10,"l"]],"x":12,"t":1305082985.87922},{"y":20,"d":[["cp",12,19]],"x":13,"t":1305082985.9673},{"y":21,"x":1,"t":1305082986.07927},{"y":21,"d":[[20,0,8,"bash-3.2$"]],"x":11,"t":1305082986.0851},{"y":21,"d":[[20,10,"l"]],"x":12,"t":1305082986.33533},{"y":21,"d":[["cp",12,20]],"x":13,"t":1305082986.43123},{"y":21,"x":14,"t":1305082986.51915},{"y":21,"d":[[20,13,"-"]],"x":15,"t":1305082986.74349},{"y":21,"d":[[20,14,"a"]],"x":16,"t":1305082987.16736},{"y":21,"d":[[20,15,"F"]],"x":17,"t":1305082987.48736},{"y":22,"x":1,"t":1305082987.71128},{"y":23,"d":[[21,0,1,"./"],[21,6,16,"../ .git/"],[22,0,8,"bash-3.2$"]],"x":11,"f":[[21,0,"4"],[21,6,7,["a","4"]],[21,12,15,["a","4"]]],"t":1305082987.71608},{"y":23,"d":[[22,10,"e"]],"x":12,"t":1305082992.19099},{"y":23,"d":[[22,11,"c"]],"x":13,"t":1305082992.36687},{"y":23,"d":[[22,12,"h"]],"x":14,"t":1305082992.42302},{"y":23,"d":[[22,13,"o"]],"x":15,"t":1305082992.527},{"y":23,"x":16,"t":1305082992.71092},{"y":23,"d":[[22,15,"H"]],"x":17,"t":1305082993.03124},{"y":23,"d":[[22,16,"e"]],"x":18,"t":1305082993.17496},{"y":23,"d":[[22,17,"l"]],"x":19,"t":1305082993.28682},{"y":23,"d":[[22,18,"l"]],"x":20,"t":1305082993.43897},{"y":23,"d":[[22,19,"o"]],"x":21,"t":1305082993.61604},{"y":23,"d":[[22,20,"."]],"x":22,"t":1305082993.79156},{"y":23,"x":23,"t":1305082994.06283},{"y":23,"d":[[22,22,">"]],"x":24,"t":1305082994.31892},{"y":23,"x":25,"t":1305082994.45482},{"y":23,"d":[[22,24,"w"]],"x":26,"t":1305082995.18273},{"y":23,"d":[[22,25,"e"]],"x":27,"t":1305082995.38285},{"y":23,"d":[[22,26,"l"]],"x":28,"t":1305082995.5905},{"y":23,"d":[[22,27,"c"]],"x":29,"t":1305082995.75865},{"y":23,"d":[[22,28,"o"]],"x":30,"t":1305082995.8388},{"y":23,"d":[[22,29,"m"]],"x":31,"t":1305082995.99065},{"y":23,"d":[[22,30,"e"]],"x":32,"t":1305082996.12692},{"y":23,"d":[[22,31,"."]],"x":33,"t":1305082996.23886},{"y":23,"d":[[22,32,"t"]],"x":34,"t":1305082996.37469},{"y":23,"d":[[22,33,"x"]],"x":35,"t":1305082996.52692},{"y":23,"d":[[22,34,"t"]],"x":36,"t":1305082996.63057},{"y":24,"d":[[23,0,8,"bash-3.2$"]],"x":11,"t":1305082996.7512},{"y":24,"d":[[23,10,"g"]],"x":12,"t":1305082998.38251},{"y":24,"d":[[23,11,"i"]],"x":13,"t":1305082998.4387},{"y":24,"d":[[23,12,"t"]],"x":14,"t":1305082998.54271},{"y":24,"x":15,"t":1305082998.63869},{"y":24,"d":[[23,14,"a"]],"x":16,"t":1305082998.83069},{"y":24,"d":[[23,15,"d"]],"x":17,"t":1305082998.99052},{"y":24,"d":[[23,16,"d"]],"x":18,"t":1305082999.15065},{"y":24,"x":19,"t":1305082999.25443},{"y":24,"d":[[23,18,"."]],"x":20,"t":1305082999.35846},{"y":25,"x":1,"t":1305082999.57436},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305082999.58291},{"y":25,"d":[[24,10,"i"]],"x":12,"t":1305083003.11834},{"y":25,"d":[[24,10," "]],"x":11,"t":1305083003.58226},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305083003.71852},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305083003.82216},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305083003.89424},{"y":25,"x":15,"t":1305083003.98252},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305083004.14227},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305083004.2702},{"y":25,"x":18,"t":1305083004.47032},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305083004.63828},{"y":25,"d":[[24,18,"m"]],"x":20,"t":1305083004.87836},{"y":25,"x":21,"t":1305083005.03812},{"y":25,"d":[[24,20,"\""]],"x":22,"t":1305083005.33425},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305083005.92622},{"y":25,"d":[[24,22,"n"]],"x":24,"t":1305083006.08627},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305083006.27817},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305083006.38229},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305083006.50212},{"y":25,"d":[[24,26,"l"]],"x":28,"t":1305083007.06206},{"y":25,"d":[[24,27,"i"]],"x":29,"t":1305083007.27794},{"y":25,"d":[[24,28,"z"]],"x":30,"t":1305083007.6703},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305083007.83822},{"y":25,"d":[[24,30,"d"]],"x":32,"t":1305083007.9982},{"y":25,"d":[[24,31,"."]],"x":33,"t":1305083008.13387},{"y":25,"d":[[24,32,"\""]],"x":34,"t":1305083008.56619},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",17,16],["cp",0,17],["cp",21,20],["cp",0,21]],"t":1305083008.73392},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",17,16],["cp",10,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,41,"[master (root-commit) 3869015] intialized."]],"x":1,"f":[["cp",16,15],["cp",0,16],["cp",20,19],["cp",0,20]],"t":1305083009.02533},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",8,12],["cp",15,13],["cp",16,14],["cp",8,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,48," 1 files changed, 1 insertions(+), 0 deletions(-)"],[23,0,41," create mode 100644 welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,13],["cp",0,15],["cp",19,17],["cp",0,19]],"t":1305083009.02665},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305083013.0138},{"y":25,"d":[[24,11,"x"]],"x":13,"t":1305083013.20589},{"y":25,"d":[[24,12,"i"]],"x":14,"t":1305083013.29362},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305083013.4459},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",6,10],["cp",13,11],["cp",14,12],["cp",6,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],["cp",24,22],[23,0,30,"exit "],[24,["a"," "]]],"x":1,"f":[["cp",13,11],["cp",0,13],["cp",17,15],["cp",0,17]],"t":1305083014.2244}]} \ No newline at end of file diff --git a/html/part2/ch04-02-git-config.html b/html/part2/ch04-02-git-config.html deleted file mode 100644 index e4b73ea64..000000000 --- a/html/part2/ch04-02-git-config.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch04-02-git-config -json_file: ch04-02-git-config.json ---- diff --git a/html/part2/ch04-02-git-config.json b/html/part2/ch04-02-git-config.json deleted file mode 100644 index d5ec12953..000000000 --- a/html/part2/ch04-02-git-config.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084231.27491,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305084231.86193},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305084232.03725},{"y":1,"x":14,"t":1305084232.14159},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305084232.17336},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305084232.42141},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305084232.48518},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305084232.6214},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305084232.69323},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305084232.83701},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305084233.06117},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305084233.43743},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305084233.58008},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305084234.02146},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305084234.22141},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305084234.28572},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305084234.9332},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305084235.03736},{"y":1,"d":[[0,27,33,"rkspace"]],"x":35,"t":1305084235.16374},{"y":1,"d":[[0,34,"d"]],"x":36,"t":1305084235.50911},{"y":1,"d":[[0,35,"e"]],"x":37,"t":1305084235.69326},{"y":1,"d":[[0,35," "]],"x":36,"t":1305084235.94887},{"y":1,"d":[[0,34," "]],"x":35,"t":1305084236.09282},{"y":1,"d":[[0,34,"/"]],"x":36,"t":1305084236.30913},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305084236.38924},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305084236.56522},{"y":1,"d":[[0,37,39,"mo/"]],"x":41,"t":1305084236.77946},{"y":2,"x":1,"t":1305084238.21298},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305084238.2133},{"y":2,"d":[[1,10,"l"]],"x":12,"t":1305084239.78905},{"y":2,"d":[[1,11,"s"]],"x":13,"t":1305084239.85295},{"y":3,"x":1,"t":1305084239.99724},{"y":4,"d":[[2,0,10,"welcome.txt"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305084240.00685},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305084240.55679},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305084240.64492},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305084240.73276},{"y":4,"x":15,"t":1305084240.8369},{"y":4,"d":[[3,14,"c"]],"x":16,"t":1305084240.96502},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305084241.04527},{"y":4,"d":[[3,16,"n"]],"x":18,"t":1305084241.15681},{"y":4,"d":[[3,17,"f"]],"x":19,"t":1305084241.16499},{"y":4,"d":[[3,18,"i"]],"x":20,"t":1305084241.26916},{"y":4,"d":[[3,19,"g"]],"x":21,"t":1305084241.36499},{"y":4,"x":22,"t":1305084241.47705},{"y":4,"d":[[3,21,"-"]],"x":23,"t":1305084241.68479},{"y":4,"d":[[3,22,"e"]],"x":24,"t":1305084241.90904},{"y":5,"x":1,"t":1305084242.21289},{"y":5,"x":1,"t":1305084242.4906},{"y":1,"b":[[0,0,"6"],[0,5,"6"]],"d":[[0,0,39,"[core] "],[1,0,28," repositoryformatversion = 0"],[2,0,16," filemode = true"],[3,0,22," bare = false "],[4,2,24,"logallrefupdates = true"],[5,2,18,"ignorecase = true"],[6,0,"~"],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],[21,0,22,"\".git/config\" 6L, 111Cc"]],"x":1,"f":[[0,0,5,["a","3"]],[1,2,28,"666666666666666666666667771"],[2,2,16,"666666667771111"],[3,2,13,"666677711111"],[4,2,24,"66666666666666667771111"],[5,2,18,"66666666667771111"],[6,0,77,["a","4"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20]],"B":[[6,0,77,["a","1"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20]],"t":1305084242.49679},{"y":2,"b":[["cp",1,0]],"x":2,"t":1305084243.41323},{"y":3,"x":2,"t":1305084243.58093},{"y":4,"x":2,"t":1305084243.7651},{"y":5,"x":2,"t":1305084243.94873},{"y":6,"x":2,"t":1305084244.11718},{"y":22,"d":[[21,0,22,": "]],"x":2,"t":1305084244.85293},{"y":22,"d":[[21,1,"q"]],"x":3,"t":1305084245.10867},{"y":5,"d":[["cp",22,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"x":1,"f":[["cp",21,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"B":[["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"t":1305084245.54188},{"y":5,"d":[[4,0,8,"bash-3.2$"]],"x":11,"t":1305084245.83076},{"y":5,"d":[[4,10,"g"]],"x":12,"t":1305084245.98891},{"y":5,"d":[[4,11,"i"]],"x":13,"t":1305084246.06069},{"y":5,"d":[[4,12,"t"]],"x":14,"t":1305084246.17247},{"y":5,"x":15,"t":1305084246.24466},{"y":5,"d":[[4,14,"c"]],"x":16,"t":1305084246.38864},{"y":5,"d":[[4,15,"o"]],"x":17,"t":1305084246.4289},{"y":5,"d":[[4,16,"n"]],"x":18,"t":1305084246.57282},{"y":5,"d":[[4,17,"f"]],"x":19,"t":1305084246.58046},{"y":5,"d":[[4,18,"i"]],"x":20,"t":1305084246.72556},{"y":5,"d":[[4,19,"g"]],"x":21,"t":1305084247.26048},{"y":5,"x":22,"t":1305084247.59653},{"y":5,"d":[[4,21,"-"]],"x":23,"t":1305084247.83633},{"y":5,"d":[[4,22,"-"]],"x":24,"t":1305084248.0124},{"y":5,"d":[[4,23,"s"]],"x":25,"t":1305084248.1163},{"y":5,"d":[[4,24,"y"]],"x":26,"t":1305084248.23633},{"y":5,"d":[[4,25,"s"]],"x":27,"t":1305084248.30844},{"y":5,"d":[[4,26,"t"]],"x":28,"t":1305084248.54034},{"y":5,"d":[[4,27,"e"]],"x":29,"t":1305084248.67653},{"y":5,"d":[[4,28,"m"]],"x":30,"t":1305084248.75662},{"y":5,"x":31,"t":1305084248.91634},{"y":5,"d":[[4,30,"-"]],"x":32,"t":1305084249.15629},{"y":5,"d":[[4,31,"e"]],"x":33,"t":1305084249.24427},{"y":6,"x":1,"t":1305084249.42829},{"y":6,"d":[["cp",0,4]],"x":1,"t":1305084249.47766},{"y":1,"b":[[0,0,"6"],[0,6,"6"]],"d":[[0,0,6,"[alias]"],[1,2,12,"st = status"],[2,2,12,"ci = commit"],[3,2,14,"co = checkout"],[4,2,12,"br = branch"],[5,0,"~"],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20],[21,0,35,"\"/etc/gitconfig\" [readonly] 5L, 62Cc"]],"x":1,"f":[[5,0,77,["a","4"]],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20]],"B":[[5,0,77,["a","1"]],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20]],"t":1305084249.48158},{"y":2,"b":[["cp",1,0]],"x":2,"t":1305084250.4608},{"y":3,"x":2,"t":1305084250.96072},{"y":4,"x":2,"t":1305084251.04384},{"y":5,"x":2,"t":1305084251.12748},{"y":5,"x":2,"t":1305084251.21071},{"y":5,"x":2,"t":1305084251.29452},{"y":5,"x":2,"t":1305084251.3777},{"y":22,"d":[[21,0,35,": "]],"x":2,"t":1305084252.69243},{"y":22,"d":[[21,1,"q"]],"x":3,"t":1305084252.81247},{"y":22,"x":1,"t":1305084252.96438},{"y":6,"d":[["cp",22,0],["cp",0,1],["cp",0,2],["cp",0,3],[4,0,31,"bash-3.2$ git config --system -e"],[5,0,8,"bash-3.2$"],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"x":11,"f":[["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"B":[["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"t":1305084252.96702},{"y":6,"d":[["cp",4,5]],"x":11,"t":1305084253.54009},{"y":6,"x":15,"t":1305084253.71606},{"y":6,"x":22,"t":1305084253.94041},{"y":6,"x":24,"t":1305084254.124},{"y":6,"d":[[5,23,31,"-e "]],"x":24,"t":1305084254.62823},{"y":6,"d":[[5,23,25,"g-e"]],"x":25,"t":1305084254.97205},{"d":[["a"," "],"d","d","d",["r","bash-3.2$ git config --system -e "],["r","bash-3.2$ git config --gl-e "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":26,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":6,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084255.06003,"i":1},{"y":6,"d":[[5,25,27,"o-e"]],"x":27,"t":1305084255.24405},{"y":6,"d":[[5,26,28,"b-e"]],"x":28,"t":1305084255.30786},{"y":6,"d":[[5,27,29,"a-e"]],"x":29,"t":1305084255.43618},{"y":6,"d":[[5,28,30,"l-e"]],"x":30,"t":1305084255.50017},{"y":6,"d":[[5,29,31," -e"]],"x":31,"t":1305084255.65205},{"y":7,"x":1,"t":1305084255.76427},{"y":7,"d":[["cp",0,4],["cp",0,5]],"x":1,"t":1305084255.81253},{"y":1,"b":[[0,0,"6"],[0,5,"6"]],"d":[[0,0,5,"[user]"],[1,2,17,"name = Jiang Xin"],[2,2,27,"email = jiangxin@ossxp.com"],[3,0,6,"[color]"],[4,2,10,"ui = true"],[5,0,"~"],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20],[21,0,22,"\"~/.gitconfig\" 5L, 72Cc"]],"x":1,"f":[[0,0,5,["a","3"]],[1,2,5,["a","6"]],[2,2,6,["a","6"]],[3,0,6,["a","3"]],[4,2,10,"667771111"],[5,0,77,["a","4"]],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20]],"B":[[5,0,77,["a","1"]],["cp",5,6],["cp",5,7],["cp",5,8],["cp",5,9],["cp",5,10],["cp",5,11],["cp",5,12],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",5,17],["cp",5,18],["cp",5,19],["cp",5,20]],"t":1305084255.8204},{"y":2,"b":[["cp",1,0]],"x":2,"t":1305084256.79633},{"y":3,"x":2,"t":1305084256.98016},{"y":4,"b":[[3,0,"6"],[3,6,"6"]],"x":1,"t":1305084257.18093},{"y":5,"b":[["cp",0,3]],"x":2,"t":1305084257.37381},{"y":5,"x":2,"t":1305084258.116},{"y":4,"b":[[3,0,"6"],[3,6,"6"]],"x":1,"t":1305084258.52445},{"y":22,"d":[[21,0,22,": "]],"x":2,"t":1305084259.42832},{"y":22,"d":[[21,1,"q"]],"x":3,"t":1305084259.55589},{"y":22,"x":1,"t":1305084260.0681},{"y":7,"b":[["cp",0,3]],"d":[["cp",22,0],["cp",0,1],["cp",0,2],["cp",0,3],[4,0,31,"bash-3.2$ git config --system -e"],[5,0,31,"bash-3.2$ git config --global -e"],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"x":1,"f":[["cp",21,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"B":[["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"t":1305084260.0683},{"y":7,"d":[[6,0,8,"bash-3.2$"]],"x":11,"t":1305084260.35926},{"y":7,"d":[[6,10,"c"]],"x":12,"t":1305084260.83598},{"y":7,"d":[[6,11,"a"]],"x":13,"t":1305084260.96376},{"y":7,"d":[[6,12,"t"]],"x":14,"t":1305084261.04443},{"y":7,"x":15,"t":1305084261.13994},{"y":7,"d":[[6,14,"."]],"x":16,"t":1305084261.54773},{"y":7,"d":[[6,15,"g"]],"x":17,"t":1305084261.68377},{"y":7,"d":[[6,16,"i"]],"x":18,"t":1305084261.7637},{"y":7,"d":[[6,17,18,"t/"]],"x":20,"t":1305084261.90786},{"y":7,"d":[[6,19,"c"]],"x":21,"t":1305084262.29186},{"y":7,"d":[[6,20,"o"]],"x":22,"t":1305084262.39582},{"y":7,"d":[[6,21,"n"]],"x":23,"t":1305084263.01965},{"y":7,"d":[[6,22,24,"fig"]],"x":27,"t":1305084263.14805},{"y":8,"x":1,"t":1305084263.65148},{"y":14,"d":[[7,0,5,"[core]"],[8,8,34,"repositoryformatversion = 0"],[9,8,22,"filemode = true"],[10,8,19,"bare = false"],[11,8,30,"logallrefupdates = true"],[12,8,24,"ignorecase = true"],[13,0,8,"bash-3.2$"]],"x":11,"t":1305084263.65633},{"y":14,"d":[[13,10,"g"]],"x":12,"t":1305084264.85145},{"y":14,"d":[[13,11,"i"]],"x":13,"t":1305084264.92368},{"y":14,"d":[[13,12,"t"]],"x":14,"t":1305084265.03551},{"y":14,"x":15,"t":1305084265.1236},{"y":14,"d":[[13,14,"c"]],"x":16,"t":1305084265.28347},{"y":14,"d":[[13,15,"o"]],"x":17,"t":1305084265.35567},{"y":14,"d":[[13,16,"n"]],"x":18,"t":1305084265.47535},{"y":14,"d":[[13,17,"f"]],"x":19,"t":1305084265.49978},{"y":14,"d":[[13,18,"i"]],"x":20,"t":1305084265.6036},{"y":14,"d":[[13,19,"g"]],"x":21,"t":1305084265.7156},{"y":14,"x":22,"t":1305084265.81949},{"y":14,"d":[[13,21,"c"]],"x":23,"t":1305084266.41206},{"y":14,"d":[[13,22,"o"]],"x":24,"t":1305084266.50761},{"y":14,"d":[[13,23,"r"]],"x":25,"t":1305084266.59549},{"y":14,"d":[[13,24,"e"]],"x":26,"t":1305084266.73145},{"y":14,"d":[[13,25,"."]],"x":27,"t":1305084266.96333},{"y":14,"d":[[13,26,"b"]],"x":28,"t":1305084267.55545},{"y":14,"d":[[13,27,"a"]],"x":29,"t":1305084267.70742},{"y":14,"d":[[13,28,"r"]],"x":30,"t":1305084267.81937},{"y":14,"d":[[13,29,"e"]],"x":31,"t":1305084267.94723},{"y":15,"x":1,"t":1305084268.14728},{"y":16,"d":[[14,0,4,"false"],[15,0,8,"bash-3.2$"]],"x":11,"t":1305084268.15424},{"y":16,"d":[[15,10,"g"]],"x":12,"t":1305084268.81131},{"y":16,"d":[[15,11,"i"]],"x":13,"t":1305084268.8913},{"y":16,"d":[[15,12,"t"]],"x":14,"t":1305084268.9793},{"y":16,"x":15,"t":1305084269.11527},{"y":16,"d":[[15,14,"c"]],"x":16,"t":1305084269.29927},{"y":16,"d":[[15,15,"o"]],"x":17,"t":1305084269.41148},{"y":16,"d":[[15,16,"f"]],"x":18,"t":1305084269.55531},{"y":16,"d":[[15,17,"n"]],"x":19,"t":1305084269.61154},{"y":16,"d":[[15,18,"i"]],"x":20,"t":1305084269.75514},{"y":16,"d":[[15,19,"g"]],"x":21,"t":1305084269.90737},{"y":16,"d":[[15,19," "]],"x":20,"t":1305084270.33127},{"y":16,"d":[[15,18," "]],"x":19,"t":1305084270.48323},{"y":16,"d":[[15,17," "]],"x":18,"t":1305084270.64325},{"y":16,"d":[[15,16," "]],"x":17,"t":1305084270.81112},{"y":16,"d":[[15,16,"n"]],"x":18,"t":1305084271.01127},{"y":16,"d":[[15,17,"f"]],"x":19,"t":1305084271.23512},{"y":16,"d":[[15,18,"i"]],"x":20,"t":1305084271.32331},{"y":16,"d":[[15,19,"g"]],"x":21,"t":1305084271.4353},{"y":16,"x":22,"t":1305084271.58713},{"y":16,"d":[[15,21,"c"]],"x":23,"t":1305084271.94695},{"y":16,"d":[[15,22,"o"]],"x":24,"t":1305084272.01942},{"y":16,"d":[[15,23,"r"]],"x":25,"t":1305084272.12304},{"y":16,"d":[[15,24,"e"]],"x":26,"t":1305084272.25938},{"y":16,"d":[[15,25,"."]],"x":27,"t":1305084272.51668},{"y":16,"d":[[15,26,"f"]],"x":28,"t":1305084272.79626},{"y":16,"d":[[15,27,"i"]],"x":29,"t":1305084272.85945},{"y":16,"d":[[15,28,"l"]],"x":30,"t":1305084272.96305},{"y":16,"d":[[15,29,"e"]],"x":31,"t":1305084273.04332},{"y":16,"d":[[15,30,"m"]],"x":32,"t":1305084273.27507},{"y":16,"d":[[15,31,"o"]],"x":33,"t":1305084273.41102},{"y":16,"d":[[15,32,"d"]],"x":34,"t":1305084273.54699},{"y":16,"d":[[15,33,"e"]],"x":35,"t":1305084273.69896},{"y":17,"x":1,"t":1305084273.85092},{"y":18,"d":[[16,0,3,"true"],[17,0,8,"bash-3.2$"]],"x":11,"t":1305084273.85761},{"y":18,"d":[[17,10,"g"]],"x":12,"t":1305084276.05926},{"y":18,"d":[[17,11,"i"]],"x":13,"t":1305084276.12313},{"y":18,"d":[[17,12,"t"]],"x":14,"t":1305084276.23486},{"y":18,"x":15,"t":1305084276.30699},{"y":18,"d":[[17,14,"c"]],"x":16,"t":1305084276.46687},{"y":18,"d":[[17,15,"o"]],"x":17,"t":1305084276.53906},{"y":18,"d":[[17,16,"n"]],"x":18,"t":1305084276.66697},{"y":18,"d":[[17,17,"f"]],"x":19,"t":1305084276.69087},{"y":18,"d":[[17,18,"i"]],"x":20,"t":1305084276.9468},{"y":18,"d":[[17,19,"g"]],"x":21,"t":1305084277.91484},{"d":[["a"," "],"d","d","d",["r","bash-3.2$ git config --system -e "],["r","bash-3.2$ git config --global -e "],["r","bash-3.2$ cat .git/config "],["r","[core] "],["r"," repositoryformatversion = 0 "],["r"," filemode = true "],["r"," bare = false "],["r"," logallrefupdates = true "],["r"," ignorecase = true "],["r","bash-3.2$ git config core.bare "],["r","false "],["r","bash-3.2$ git config core.filemode "],["r","true "],["r","bash-3.2$ git config "],["a"," "],"d","d","d","d","d","d"],"x":22,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":18,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084278.08292,"i":1},{"y":18,"d":[[17,21,"a"]],"x":23,"t":1305084278.37097},{"y":18,"d":[[17,22,"."]],"x":24,"t":1305084279.40288},{"y":18,"d":[[17,23,"b"]],"x":25,"t":1305084279.51455},{"y":18,"x":26,"t":1305084279.72265},{"y":18,"d":[[17,25,"s"]],"x":27,"t":1305084279.92284},{"y":18,"d":[[17,26,"o"]],"x":28,"t":1305084280.02668},{"y":18,"d":[[17,27,"m"]],"x":29,"t":1305084280.17888},{"y":18,"d":[[17,28,"e"]],"x":30,"t":1305084280.29089},{"y":18,"d":[[17,29,"t"]],"x":31,"t":1305084280.46655},{"y":18,"d":[[17,30,"h"]],"x":32,"t":1305084280.54706},{"y":18,"d":[[17,31,"i"]],"x":33,"t":1305084280.68288},{"y":18,"d":[[17,32,"n"]],"x":34,"t":1305084280.81062},{"y":18,"d":[[17,33,"g"]],"x":35,"t":1305084280.94652},{"y":19,"x":1,"t":1305084281.0506},{"y":19,"d":[[18,0,8,"bash-3.2$"]],"x":11,"t":1305084281.05728},{"y":19,"d":[[18,10,"g"]],"x":12,"t":1305084282.27461},{"y":19,"d":[[18,11,"i"]],"x":13,"t":1305084282.33067},{"y":19,"d":[[18,12,"t"]],"x":14,"t":1305084282.44248},{"y":19,"x":15,"t":1305084282.53152},{"y":19,"d":[[18,14,"c"]],"x":16,"t":1305084282.69858},{"y":19,"d":[[18,15,"o"]],"x":17,"t":1305084282.75452},{"y":19,"d":[[18,16,"n"]],"x":18,"t":1305084282.8908},{"y":19,"d":[[18,17,"f"]],"x":19,"t":1305084282.90654},{"y":19,"d":[[18,18,"i"]],"x":20,"t":1305084283.03442},{"y":19,"d":[[18,19,"g"]],"x":21,"t":1305084283.13831},{"y":19,"x":22,"t":1305084283.26648},{"y":19,"d":[[18,21,"x"]],"x":23,"t":1305084284.31438},{"y":19,"d":[[18,22,"y"]],"x":24,"t":1305084284.47433},{"y":19,"d":[[18,23,"."]],"x":25,"t":1305084284.74648},{"y":19,"d":[[18,23," "]],"x":24,"t":1305084285.1784},{"y":19,"d":[[18,22," "]],"x":23,"t":1305084285.31435},{"y":19,"d":[[18,22,"."]],"x":24,"t":1305084285.50622},{"y":19,"d":[[18,23,"y"]],"x":25,"t":1305084285.7383},{"y":19,"d":[[18,24,"."]],"x":26,"t":1305084285.98635},{"y":19,"d":[[18,25,"z"]],"x":27,"t":1305084286.16251},{"y":19,"x":28,"t":1305084286.56257},{"y":19,"d":[[18,27,"o"]],"x":29,"t":1305084287.00243},{"y":19,"d":[[18,28,"t"]],"x":30,"t":1305084287.11446},{"y":19,"d":[[18,29,"h"]],"x":31,"t":1305084287.19425},{"y":19,"d":[[18,30,"e"]],"x":32,"t":1305084287.28241},{"y":19,"d":[[18,31,"r"]],"x":33,"t":1305084287.34623},{"y":19,"d":[[18,32,"s"]],"x":34,"t":1305084287.49824},{"y":20,"x":1,"t":1305084287.60279},{"y":20,"d":[[19,0,8,"bash-3.2$"]],"x":11,"t":1305084287.62125},{"y":20,"d":[[19,10,"g"]],"x":12,"t":1305084289.61012},{"y":20,"d":[[19,11,"i"]],"x":13,"t":1305084289.70614},{"y":20,"d":[[19,12,"t"]],"x":14,"t":1305084289.79427},{"y":20,"x":15,"t":1305084289.86615},{"y":20,"d":[[19,14,"c"]],"x":16,"t":1305084290.01032},{"y":20,"d":[[19,15,"o"]],"x":17,"t":1305084290.06631},{"y":20,"d":[[19,16,"n"]],"x":18,"t":1305084290.18623},{"y":20,"d":[[19,17,"f"]],"x":19,"t":1305084290.20209},{"y":20,"d":[[19,18,"i"]],"x":20,"t":1305084290.3061},{"y":20,"d":[[19,19,"g"]],"x":21,"t":1305084290.4022},{"y":20,"x":22,"t":1305084290.48228},{"y":20,"d":[[19,21,"-"]],"x":23,"t":1305084290.59399},{"y":20,"d":[[19,22,"l"]],"x":24,"t":1305084290.82624},{"y":21,"x":1,"t":1305084291.03419},{"y":25,"d":[["cp",10,0],["cp",11,1],["cp",12,2],["cp",13,3],["cp",14,4],["cp",15,5],["cp",16,6],["cp",17,7],["cp",18,8],["cp",19,9],[10,0,19,"alias.st=status "],[11,0,30,"alias.ci=commit "],[12,0,24,"alias.co=checkout "],[13,0,29,"alias.br=branch "],[14,0,18,"user.name=Jiang Xin"],[15,0,33,"user.email=jiangxin@ossxp.com "],[16,0,12,"color.ui=true"],[17,0,33,"core.repositoryformatversion=0 "],[18,0,32,"core.filemode=true "],[19,0,22,"core.bare=false "],[20,0,25,"core.logallrefupdates=true"],[21,0,19,"core.ignorecase=true"],[22,0,12,"a.b=something"],[23,0,11,"x.y.z=others"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084291.04018},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305084291.53806},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305084291.66606},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084291.70631},{"y":25,"x":15,"t":1305084291.80197},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305084292.43414},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305084292.56209},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305084292.62624},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305084292.74613},{"y":25,"d":[[24,18,"/"]],"x":20,"t":1305084292.97846},{"y":25,"d":[[24,19,"c"]],"x":21,"t":1305084293.44234},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305084293.53031},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305084293.63422},{"y":25,"d":[[24,22,"f"]],"x":24,"t":1305084293.66575},{"y":25,"d":[[24,23,"i"]],"x":25,"t":1305084293.80983},{"y":25,"d":[[24,24,"g"]],"x":27,"t":1305084293.89048},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084294.30566},{"y":25,"d":[["cp",10,0],["cp",11,1],["cp",12,2],["cp",13,3],["cp",14,4],["cp",15,5],["cp",16,6],["cp",17,7],["cp",18,8],["cp",19,9],["cp",20,10],["cp",21,11],["cp",22,12],["cp",23,13],[14,0,28,"[core] "],[15,0,34," repositoryformatversion = 0"],[16,0,29," filemode = true "],[17,0,19," bare = false"],[18,0,30," logallrefupdates = true"],[19,0,25," ignorecase = true "],[20,0,19,"[a] "],[21,0,20," b = something"],[22,0,11,"[x \"y\"] "],[23,0,24," z = others "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084294.30963},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084295.28969},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084295.35408},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084295.46611},{"y":25,"x":15,"t":1305084295.55363},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305084295.70572},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084295.76201},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305084295.88187},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305084295.91378},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305084296.03377},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305084296.12198},{"y":25,"x":22,"t":1305084296.20979},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084296.34652},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305084296.49792},{"y":25,"d":[[24,23,"u"]],"x":25,"t":1305084296.68976},{"y":25,"d":[[24,24,"n"]],"x":26,"t":1305084296.87374},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305084297.00975},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305084297.16168},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305084297.32984},{"y":25,"x":30,"t":1305084297.47386},{"y":25,"d":[[24,29,"a"]],"x":31,"t":1305084297.9777},{"y":25,"d":[[24,30,"."]],"x":32,"t":1305084298.10701},{"y":25,"d":[[24,31,"b"]],"x":33,"t":1305084298.25762},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084298.84173},{"d":[["r","alias.co=checkout "],["r","alias.br=branch "],["r","user.name=Jiang Xin "],["r","user.email=jiangxin@ossxp.com "],["r","color.ui=true "],["r","core.repositoryformatversion=0 "],["r","core.filemode=true "],["r","core.bare=false "],["r","core.logallrefupdates=true "],["r","core.ignorecase=true "],["r","a.b=something "],["r","x.y.z=others "],["r","bash-3.2$ cat .git/config "],["r","[core] "],["r"," repositoryformatversion = 0 "],["r"," filemode = true "],["r"," bare = false "],["r"," logallrefupdates = true "],["r"," ignorecase = true "],["r","[a] "],["r"," b = something "],["r","[x \"y\"] "],["r"," z = others "],["r","bash-3.2$ git config --unset a.b "],["r","bash-3.2$ "]],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084298.8491,"i":1},{"y":25,"d":[["cp",23,24]],"x":33,"t":1305084299.35362},{"y":25,"d":[[24,31," "]],"x":32,"t":1305084299.62561},{"y":25,"d":[[24,30," "]],"x":31,"t":1305084299.80158},{"y":25,"d":[[24,29," "]],"x":30,"t":1305084299.96969},{"y":25,"d":[[24,29,"x"]],"x":31,"t":1305084300.18538},{"y":25,"d":[[24,30,"."]],"x":32,"t":1305084300.46552},{"y":25,"d":[[24,31,"y"]],"x":33,"t":1305084300.75338},{"y":25,"d":[[24,32,"."]],"x":34,"t":1305084301.20144},{"y":25,"d":[[24,33,"z"]],"x":35,"t":1305084301.33765},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084301.53773},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084301.54837},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084302.05766},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084302.13756},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084302.25759},{"y":25,"x":15,"t":1305084302.29761},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305084302.63363},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084302.72144},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305084302.84141},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305084302.85066},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305084303.00142},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305084303.05778},{"y":25,"x":22,"t":1305084303.14542},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084303.2575},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305084303.42552},{"y":25,"d":[[24,23,"r"]],"x":25,"t":1305084303.52306},{"y":25,"d":[[24,24,"e"]],"x":26,"t":1305084303.64936},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305084303.71337},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305084303.72152},{"y":25,"d":[[24,27,"o"]],"x":29,"t":1305084303.8492},{"y":25,"d":[[24,27," "]],"x":28,"t":1305084304.28132},{"y":25,"d":[[24,26," "]],"x":27,"t":1305084304.44142},{"y":25,"d":[[24,25," "]],"x":26,"t":1305084304.60131},{"y":25,"d":[[24,25,"m"]],"x":27,"t":1305084304.80947},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305084304.92134},{"y":25,"d":[[24,27,"v"]],"x":29,"t":1305084305.00136},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305084305.11317},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305084305.48123},{"y":25,"d":[[24,30,"s"]],"x":32,"t":1305084305.72909},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305084305.92115},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305084306.11334},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305084306.28936},{"y":25,"d":[[24,34,"i"]],"x":36,"t":1305084306.33753},{"y":25,"d":[[24,35,"o"]],"x":37,"t":1305084306.44936},{"y":25,"d":[[24,36,"n"]],"x":39,"t":1305084306.60885},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305084307.7611},{"y":25,"d":[[24,39,"."]],"x":41,"t":1305084308.12901},{"y":25,"d":[[24,40,"b"]],"x":42,"t":1305084308.23308},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084308.38502},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,40,"fatal: No such section! "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084308.39346},{"y":25,"d":[["cp",22,24]],"x":42,"t":1305084310.58502},{"y":25,"d":[[24,40," "]],"x":41,"t":1305084310.91288},{"y":25,"d":[[24,39," "]],"x":40,"t":1305084311.1049},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084311.3448},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084311.35192},{"y":25,"d":[["cp",23,24]],"x":40,"t":1305084312.25689},{"y":25,"d":[[24,38," "]],"x":39,"t":1305084312.53675},{"y":25,"d":[[24,38,"x"]],"x":40,"t":1305084313.27291},{"y":25,"d":[[24,39,"."]],"x":41,"t":1305084313.5609},{"y":25,"d":[[24,40,"y"]],"x":42,"t":1305084313.79271},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084314.02472},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084314.03428},{"y":25,"d":[[24,10,"G"]],"x":12,"t":1305084322.1924},{"y":25,"d":[[24,11,"I"]],"x":13,"t":1305084322.29666},{"y":25,"d":[[24,12,"T"]],"x":14,"t":1305084322.37634},{"y":25,"d":[[24,13,"_"]],"x":15,"t":1305084322.65652},{"y":25,"d":[[24,14,"C"]],"x":16,"t":1305084322.85634},{"y":25,"d":[[24,15,"N"]],"x":17,"t":1305084323.28039},{"y":25,"d":[[24,15," "]],"x":16,"t":1305084323.64044},{"y":25,"d":[[24,15,"O"]],"x":17,"t":1305084323.84841},{"y":25,"d":[[24,16,"N"]],"x":18,"t":1305084324.00819},{"y":25,"d":[[24,17,"F"]],"x":19,"t":1305084324.55225},{"y":25,"d":[[24,18,"I"]],"x":20,"t":1305084324.67218},{"y":25,"d":[[24,19,"G"]],"x":21,"t":1305084324.7924},{"y":25,"d":[[24,20,"="]],"x":22,"t":1305084325.76024},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305084326.01706},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305084326.17784},{"y":25,"d":[[24,23,"s"]],"x":25,"t":1305084326.28815},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305084326.40835},{"y":25,"d":[[24,25,"."]],"x":27,"t":1305084326.56828},{"y":25,"d":[[24,26,"i"]],"x":28,"t":1305084326.7285},{"y":25,"d":[[24,27,"n"]],"x":29,"t":1305084327.19199},{"y":25,"d":[[24,28,"i"]],"x":30,"t":1305084327.53596},{"y":25,"x":31,"t":1305084327.96012},{"y":25,"d":[[24,30,"g"]],"x":32,"t":1305084328.56011},{"y":25,"d":[[24,31,"i"]],"x":33,"t":1305084328.63227},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305084328.75242},{"y":25,"x":35,"t":1305084328.84829},{"y":25,"d":[[24,34,"c"]],"x":36,"t":1305084328.99993},{"y":25,"d":[[24,35,"o"]],"x":37,"t":1305084329.03991},{"y":25,"d":[[24,36,"n"]],"x":38,"t":1305084329.17588},{"y":25,"d":[[24,37,"f"]],"x":39,"t":1305084329.20046},{"y":25,"d":[[24,38,"i"]],"x":40,"t":1305084329.32012},{"y":25,"d":[[24,39,"g"]],"x":41,"t":1305084329.40805},{"y":25,"x":42,"t":1305084329.51203},{"y":25,"d":[[24,41,"a"]],"x":43,"t":1305084329.98429},{"y":25,"d":[[24,42,"."]],"x":44,"t":1305084330.1597},{"y":25,"d":[[24,43,"b"]],"x":45,"t":1305084330.27989},{"y":25,"d":[[24,44,"."]],"x":46,"t":1305084330.40782},{"y":25,"d":[[24,45,"c"]],"x":47,"t":1305084330.54447},{"d":[["r","core.repositoryformatversion=0 "],["r","core.filemode=true "],["r","core.bare=false "],["r","core.logallrefupdates=true "],["r","core.ignorecase=true "],["r","a.b=something "],["r","x.y.z=others "],["r","bash-3.2$ cat .git/config "],["r","[core] "],["r"," repositoryformatversion = 0 "],["r"," filemode = true "],["r"," bare = false "],["r"," logallrefupdates = true "],["r"," ignorecase = true "],["r","[a] "],["r"," b = something "],["r","[x \"y\"] "],["r"," z = others "],["r","bash-3.2$ git config --unset a.b "],["r","bash-3.2$ git config --unset x.y.z "],["r","bash-3.2$ git config --remove-section a.b "],["r","fatal: No such section! "],["r","bash-3.2$ git config --remove-section a "],["r","bash-3.2$ git config --remove-section x.y "],["r","bash-3.2$ GIT_CONFIG=test.ini git config a.b.c. "]],"x":48,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084330.65589,"i":1},{"y":25,"d":[[24,47,"d"]],"x":49,"t":1305084330.83207},{"y":25,"x":50,"t":1305084331.28017},{"y":25,"d":[[24,49,"\""]],"x":51,"t":1305084331.66418},{"y":25,"d":[[24,50,"h"]],"x":52,"t":1305084332.08831},{"y":25,"d":[[24,51,"e"]],"x":53,"t":1305084332.16777},{"y":25,"d":[[24,52,"l"]],"x":54,"t":1305084332.27195},{"y":25,"d":[[24,53,"l"]],"x":55,"t":1305084332.43979},{"y":25,"d":[[24,54,"o"]],"x":56,"t":1305084332.60823},{"y":25,"d":[[24,55,","]],"x":57,"t":1305084332.78381},{"y":25,"d":[[24,56,"w"]],"x":58,"t":1305084333.3276},{"y":25,"d":[[24,56," "]],"x":57,"t":1305084333.75986},{"y":25,"x":58,"t":1305084333.87185},{"y":25,"d":[[24,57,"w"]],"x":59,"t":1305084334.06374},{"y":25,"d":[[24,58,"o"]],"x":60,"t":1305084334.19165},{"y":25,"d":[[24,59,"r"]],"x":61,"t":1305084334.27988},{"y":25,"d":[[24,60,"l"]],"x":62,"t":1305084334.37557},{"y":25,"d":[[24,61,"d"]],"x":63,"t":1305084334.51285},{"y":25,"d":[[24,62,"."]],"x":64,"t":1305084334.64795},{"y":25,"d":[[24,63,"\""]],"x":65,"t":1305084335.07165},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084335.26352},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084335.27102},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084336.89572},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084336.97581},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084337.07164},{"y":25,"x":15,"t":1305084337.15181},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305084337.30377},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084337.37582},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305084337.51151},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305084337.52013},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305084337.6558},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305084337.75177},{"y":25,"x":22,"t":1305084337.84746},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084337.93544},{"y":25,"d":[[24,22,"f"]],"x":24,"t":1305084338.05554},{"y":25,"x":25,"t":1305084338.18341},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305084338.99955},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305084339.15945},{"y":25,"d":[[24,26,31,"st.ini"]],"x":33,"t":1305084339.44061},{"y":25,"x":34,"t":1305084340.44733},{"y":25,"d":[[24,33,"a"]],"x":35,"t":1305084340.70332},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305084340.85548},{"y":25,"d":[[24,35,"b"]],"x":37,"t":1305084340.95131},{"y":25,"d":[[24,36,"."]],"x":38,"t":1305084341.05553},{"y":25,"d":[[24,37,"c"]],"x":39,"t":1305084341.19118},{"y":25,"d":[[24,38,"."]],"x":40,"t":1305084341.27953},{"y":25,"d":[[24,39,"d"]],"x":41,"t":1305084341.51136},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084341.67126},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,39,"hello, world. "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084341.67856},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305084342.85536},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305084342.9673},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084343.07923},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22,"test.ini welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084343.08366},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305084343.55128},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305084343.67135},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084343.75118},{"y":25,"x":15,"t":1305084343.81539},{"y":25,"d":[[24,14,"t"]],"x":16,"t":1305084343.98316},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305084344.15926},{"y":25,"d":[[24,16,21,"st.ini"]],"x":24,"t":1305084344.39943},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084344.82342},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,22,"[a \"b.c\"] "],[23,0,24," d = hello, world."],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084344.82928},{"y":25,"d":[[24,10,"r"]],"x":12,"t":1305084345.35911},{"y":25,"d":[[24,11,"m"]],"x":13,"t":1305084345.47905},{"y":25,"x":14,"t":1305084345.59128},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305084345.79923},{"y":25,"d":[[24,14,"e"]],"x":16,"t":1305084345.94291},{"y":25,"d":[[24,15,20,"st.ini"]],"x":23,"t":1305084346.18433},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305084347.15894},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084347.16492},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,10,20,"exit "],[24,["a"," "]]],"x":1,"t":1305084349.11128}]} \ No newline at end of file diff --git a/html/part2/ch04-03-who-does-commit.html b/html/part2/ch04-03-who-does-commit.html deleted file mode 100644 index 4f18bc90b..000000000 --- a/html/part2/ch04-03-who-does-commit.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch04-03-who-does-commit -json_file: ch04-03-who-does-commit.json ---- diff --git a/html/part2/ch04-03-who-does-commit.json b/html/part2/ch04-03-who-does-commit.json deleted file mode 100644 index eef2d8006..000000000 --- a/html/part2/ch04-03-who-does-commit.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084692.5636,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305084693.78828},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305084693.98006},{"y":1,"x":14,"t":1305084694.08417},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305084694.23601},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305084694.51605},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305084694.55595},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305084694.67594},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305084694.75623},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305084694.89138},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305084695.33209},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305084695.4279},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305084695.57827},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305084695.804},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305084695.99611},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305084696.09805},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305084696.57201},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305084696.65208},{"y":1,"d":[[0,27,33,"rkspace"]],"x":35,"t":1305084696.78623},{"y":1,"d":[[0,34,"/"]],"x":36,"t":1305084697.46789},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305084697.55574},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305084697.71598},{"y":1,"d":[[0,37,"m"]],"x":39,"t":1305084697.81975},{"y":1,"d":[[0,38,39,"o/"]],"x":41,"t":1305084697.97141},{"y":2,"x":1,"t":1305084698.45209},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305084698.45236},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305084699.22775},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305084699.30764},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305084699.38796},{"y":2,"x":15,"t":1305084699.4679},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305084699.54762},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305084699.72515},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305084699.84369},{"y":3,"x":1,"t":1305084700.47691},{"y":8,"d":[[2,0,46,"commit 38690158d57ea02061e42ab88101ed3517a4292f"],[3,0,37,"Author: Jiang Xin "],[4,0,37,"Date: Wed May 11 11:03:28 2011 +0800"],[6,4,14,"intialized."],[7,0,8,"bash-3.2$"]],"x":11,"f":[[2,0,46,["a","3"]]],"t":1305084700.49141},{"y":8,"d":[[7,10,"g"]],"x":12,"t":1305084701.404},{"y":8,"d":[[7,11,"i"]],"x":13,"t":1305084701.6997},{"y":8,"d":[[7,12,"t"]],"x":14,"t":1305084701.80363},{"y":8,"x":15,"t":1305084701.92365},{"y":8,"d":[[7,14,"l"]],"x":16,"t":1305084702.07558},{"y":8,"d":[[7,15,"o"]],"x":17,"t":1305084702.24361},{"y":8,"d":[["cp",1,7]],"x":18,"t":1305084702.33172},{"y":8,"x":19,"t":1305084702.41164},{"y":8,"d":[[7,18,"-"]],"x":20,"t":1305084702.55554},{"y":8,"d":[[7,19,"-"]],"x":21,"t":1305084702.7078},{"y":8,"d":[[7,20,"p"]],"x":22,"t":1305084702.92351},{"y":8,"d":[[7,21,"r"]],"x":23,"t":1305084703.31576},{"y":8,"d":[[7,22,"e"]],"x":24,"t":1305084703.47565},{"y":8,"d":[[7,23,26,"tty="]],"x":28,"t":1305084703.71846},{"y":8,"d":[[7,27,"f"]],"x":29,"t":1305084704.41136},{"y":8,"d":[[7,28,"u"]],"x":30,"t":1305084704.59533},{"y":8,"d":[[7,29,"l"]],"x":31,"t":1305084704.75551},{"y":8,"d":[[7,30,"l"]],"x":32,"t":1305084704.90749},{"y":8,"d":[[7,31,"e"]],"x":33,"t":1305084704.9877},{"y":8,"d":[[7,32,"r"]],"x":34,"t":1305084705.07553},{"y":8,"x":35,"t":1305084705.27496},{"y":9,"x":1,"t":1305084705.69683},{"y":16,"d":[["cp",2,8],[9,0,6,"Author:"],[9,12,41,"Jiang Xin "],[10,0,41,"AuthorDate: Wed May 11 11:03:28 2011 +0800"],[11,0,6,"Commit:"],[11,12,41,"Jiang Xin "],[12,0,41,"CommitDate: Wed May 11 11:03:28 2011 +0800"],["cp",6,14],[15,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,8]],"t":1305084705.70602},{"y":16,"d":[[15,10,"g"]],"x":12,"t":1305084707.93158},{"y":16,"d":[[15,11,"i"]],"x":13,"t":1305084708.01146},{"y":16,"d":[[15,12,"t"]],"x":14,"t":1305084708.09941},{"y":16,"x":15,"t":1305084708.18805},{"y":16,"d":[[15,14,"c"]],"x":16,"t":1305084708.47529},{"y":16,"d":[[15,15,"o"]],"x":17,"t":1305084708.55538},{"y":16,"d":[[15,16,"n"]],"x":18,"t":1305084708.66743},{"y":16,"d":[[15,17,"f"]],"x":19,"t":1305084708.72339},{"y":16,"d":[[15,18,"i"]],"x":20,"t":1305084708.85124},{"y":16,"d":[[15,19,"g"]],"x":21,"t":1305084708.92322},{"y":16,"x":22,"t":1305084709.03527},{"y":16,"d":[[15,21,"-"]],"x":23,"t":1305084709.14715},{"y":16,"d":[[15,22,"-"]],"x":24,"t":1305084709.31537},{"y":16,"d":[[15,23,"u"]],"x":25,"t":1305084709.51518},{"y":16,"d":[[15,24,"n"]],"x":26,"t":1305084709.69126},{"y":16,"d":[[15,25,"s"]],"x":27,"t":1305084709.82003},{"y":16,"d":[[15,26,"e"]],"x":28,"t":1305084709.94709},{"y":16,"d":[[15,27,"t"]],"x":29,"t":1305084710.10727},{"y":16,"x":30,"t":1305084710.26702},{"y":16,"d":[[15,29,"-"]],"x":31,"t":1305084710.81924},{"y":16,"d":[[15,30,"-"]],"x":32,"t":1305084711.04328},{"y":16,"d":[[15,31,"g"]],"x":33,"t":1305084711.29132},{"y":16,"d":[[15,32,"l"]],"x":34,"t":1305084711.37907},{"y":16,"d":[[15,33,"o"]],"x":35,"t":1305084711.56301},{"y":16,"d":[[15,34,"b"]],"x":36,"t":1305084711.65922},{"y":16,"d":[[15,35,"a"]],"x":37,"t":1305084711.79674},{"y":16,"d":[[15,36,"l"]],"x":38,"t":1305084711.87506},{"y":16,"x":39,"t":1305084712.0032},{"y":16,"d":[[15,38,"u"]],"x":40,"t":1305084712.16323},{"y":16,"d":[[15,39,"s"]],"x":41,"t":1305084712.2191},{"y":16,"d":[[15,40,"e"]],"x":42,"t":1305084712.29916},{"y":16,"d":[[15,41,"r"]],"x":43,"t":1305084712.33902},{"y":16,"d":[[15,42,"."]],"x":44,"t":1305084712.61899},{"y":16,"d":[[15,43,"n"]],"x":45,"t":1305084712.86727},{"y":16,"d":[[15,44,"a"]],"x":46,"t":1305084712.94691},{"y":16,"d":[[15,45,"m"]],"x":47,"t":1305084713.07528},{"y":16,"d":[[15,46,"e"]],"x":48,"t":1305084713.14692},{"y":17,"x":1,"t":1305084713.33105},{"y":17,"d":[[16,0,8,"bash-3.2$"]],"x":11,"t":1305084713.34087},{"y":17,"d":[["cp",15,16]],"x":11,"t":1305084714.14686},{"y":17,"x":15,"t":1305084714.44295},{"y":17,"x":22,"t":1305084714.94315},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git log "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git log --pretty=fuller "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","AuthorDate: Wed May 11 11:03:28 2011 +0800 "],["r","Commit: Jiang Xin "],["r","CommitDate: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git config --unset --global user.name "],"d",["a"," "],"d","d","d","d","d","d","d"],"x":24,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":17,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084715.02681,"i":1},{"y":17,"x":30,"t":1305084715.11003},{"y":17,"x":32,"t":1305084715.19368},{"y":17,"x":39,"t":1305084715.27691},{"y":17,"x":43,"t":1305084715.64283},{"y":17,"x":44,"t":1305084715.85916},{"y":17,"d":[[16,43,46,["a"," "]]],"x":43,"t":1305084716.36282},{"y":17,"x":44,"t":1305084716.58694},{"y":17,"d":[[16,43,"e"]],"x":45,"t":1305084716.81102},{"y":17,"d":[[16,44,"m"]],"x":46,"t":1305084716.98685},{"y":17,"d":[[16,45,"a"]],"x":47,"t":1305084717.09886},{"y":17,"d":[[16,46,"i"]],"x":48,"t":1305084717.17077},{"y":17,"d":[[16,47,"l"]],"x":49,"t":1305084717.25895},{"y":18,"x":1,"t":1305084717.70679},{"y":18,"d":[[17,0,8,"bash-3.2$"]],"x":11,"t":1305084717.71383},{"y":18,"d":[[17,10,"g"]],"x":12,"t":1305084720.69057},{"y":18,"d":[[17,11,"i"]],"x":13,"t":1305084720.77874},{"y":18,"d":[[17,12,"t"]],"x":14,"t":1305084720.90658},{"y":18,"x":15,"t":1305084720.95473},{"y":18,"d":[[17,14,"c"]],"x":16,"t":1305084721.20249},{"y":18,"d":[[17,15,"o"]],"x":17,"t":1305084721.29867},{"y":18,"d":[[17,16,"m"]],"x":18,"t":1305084721.48266},{"y":18,"d":[[17,17,"m"]],"x":19,"t":1305084721.63442},{"y":18,"d":[[17,18,"i"]],"x":20,"t":1305084721.80251},{"y":18,"d":[[17,19,"t"]],"x":21,"t":1305084721.90651},{"y":18,"x":22,"t":1305084722.04249},{"y":18,"d":[[17,21,"-"]],"x":23,"t":1305084722.57053},{"y":18,"d":[[17,22,"-"]],"x":24,"t":1305084722.74645},{"y":18,"d":[[17,23,"a"]],"x":25,"t":1305084723.67444},{"y":18,"d":[[17,24,"l"]],"x":26,"t":1305084723.7706},{"y":18,"d":[[17,25,"l"]],"x":27,"t":1305084723.93049},{"y":18,"d":[[17,26,"o"]],"x":28,"t":1305084724.08251},{"y":18,"d":[[17,27,"w"]],"x":29,"t":1305084724.13824},{"y":18,"d":[[17,28,"-"]],"x":30,"t":1305084724.33026},{"y":18,"d":[[17,29,"e"]],"x":31,"t":1305084724.54636},{"y":18,"d":[[17,30,"m"]],"x":32,"t":1305084724.65843},{"y":18,"d":[[17,31,"p"]],"x":33,"t":1305084724.88257},{"y":18,"d":[[17,32,"t"]],"x":34,"t":1305084725.04231},{"y":18,"d":[[17,33,"y"]],"x":35,"t":1305084725.12227},{"y":18,"x":36,"t":1305084726.22635},{"y":18,"d":[[17,35,"-"]],"x":37,"t":1305084726.61835},{"y":18,"d":[[17,36,"m"]],"x":38,"t":1305084726.82639},{"y":18,"x":39,"t":1305084726.98632},{"y":18,"d":[[17,38,"\""]],"x":40,"t":1305084727.35419},{"y":18,"d":[[17,39,"w"]],"x":41,"t":1305084727.75467},{"y":18,"d":[[17,40,"h"]],"x":42,"t":1305084727.82617},{"y":18,"d":[[17,41,"o"]],"x":43,"t":1305084727.94625},{"y":18,"x":44,"t":1305084728.45818},{"y":18,"d":[[17,43,"d"]],"x":45,"t":1305084728.63429},{"y":18,"d":[[17,44,"o"]],"x":46,"t":1305084729.07416},{"y":18,"d":[[17,45,"e"]],"x":47,"t":1305084729.21089},{"y":18,"d":[[17,46,"s"]],"x":48,"t":1305084729.36205},{"y":18,"x":49,"t":1305084729.57048},{"y":18,"d":[[17,48,"c"]],"x":50,"t":1305084729.75426},{"y":18,"d":[[17,49,"o"]],"x":51,"t":1305084729.78607},{"y":18,"d":[[17,50,"m"]],"x":52,"t":1305084729.97047},{"y":18,"d":[[17,51,"m"]],"x":53,"t":1305084730.11412},{"y":18,"d":[[17,52,"i"]],"x":54,"t":1305084730.25811},{"y":18,"d":[[17,53,"t"]],"x":55,"t":1305084730.33819},{"y":18,"d":[[17,54,"?"]],"x":56,"t":1305084730.73836},{"y":18,"d":[[17,55,"\""]],"x":57,"t":1305084731.16219},{"y":19,"x":1,"t":1305084731.72975},{"y":19,"d":[[18,0,6,"[master"]],"x":9,"t":1305084731.95677},{"y":25,"d":[["cp",7,0],["cp",2,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],[11,0,41,"[master c615828] who does commit? "],[12,0,48," Committer: Jiang Xin "],[13,0,62,"Your name and email address were configured automatically based"],[14,0,66,"on your username and hostname. Please check that they are accurate."],[15,0,56,"You can suppress this message by setting them explicitly:"],["cp",6,16],[17,0,55," git config --global user.name \"Your Name\" "],[18,0,49," git config --global user.email you@example.com"],[20,0,68,"After doing this, you may fix the identity used for this commit with:"],[22,4,36,"git commit --amend --reset-author"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",0,2],["cp",0,8]],"t":1305084731.95806},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084736.37332},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084736.42563},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084736.54547},{"y":25,"x":15,"t":1305084736.62568},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305084736.80959},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084736.99356},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305084737.15373},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",5,18],["cp",20,19],["cp",5,20],["cp",22,21],["cp",5,22],["cp",24,23],["cp",5,24]],"x":1,"f":[["cp",1,0],["cp",2,1]],"t":1305084739.11333},{"y":25,"d":[["cp",11,0],["cp",12,1],["cp",13,2],["cp",14,3],["cp",5,4],["cp",16,5],["cp",17,6],["cp",4,7],["cp",19,8],["cp",4,9],["cp",21,10],["cp",4,11],["cp",23,12],[13,0,66,"commit c61582861843af13db902fa7873bcc1b7bd66c28 "],[14,0,56,"Author: Jiang Xin "],[15,0,37,"Date: Wed May 11 11:32:11 2011 +0800"],["cp",4,16],[17,4,49,"who does commit? "],[19,0,68,"commit 38690158d57ea02061e42ab88101ed3517a4292f "],[20,0,37,"Author: Jiang Xin "],[21,0,37,"Date: Wed May 11 11:03:28 2011 +0800"],[23,0,16," intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],[13,0,46,["a","3"]],["cp",13,19]],"t":1305084739.12806},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084742.46536},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084742.5613},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084742.66539},{"y":25,"x":15,"t":1305084742.72961},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305084742.88122},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084743.06562},{"y":25,"d":[["cp",12,24]],"x":18,"t":1305084743.18546},{"y":25,"x":19,"t":1305084743.28126},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305084744.29752},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305084744.48146},{"y":25,"d":[[24,20,"p"]],"x":22,"t":1305084745.33745},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305084745.44895},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305084745.58505},{"y":25,"d":[[24,23,26,"tty="]],"x":28,"t":1305084745.96588},{"y":25,"d":[[24,27,"f"]],"x":29,"t":1305084746.79338},{"y":25,"d":[[24,28,"u"]],"x":30,"t":1305084746.95316},{"y":25,"d":[[24,29,"l"]],"x":31,"t":1305084747.10518},{"y":25,"d":[[24,30,"l"]],"x":32,"t":1305084747.31607},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305084748.16893},{"y":25,"d":[[24,32,"r"]],"x":35,"t":1305084748.43337},{"y":25,"d":[[24,34,"-"]],"x":36,"t":1305084748.96908},{"y":25,"d":[[24,35,"1"]],"x":37,"t":1305084749.53704},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",3,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",3,15],["cp",17,16],["cp",3,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",3,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",13,12],["cp",0,13],["cp",12,18],["cp",0,19]],"t":1305084749.8109},{"y":25,"d":[["cp",7,0],["cp",3,1],["cp",9,2],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",16,9],["cp",18,11],["cp",19,12],["cp",20,13],["cp",1,14],["cp",22,15],["cp",23,16],["cp",5,17],[18,0,48,"Author: Jiang Xin "],[19,6,41,"Date: Wed May 11 11:32:11 2011 +0800"],[20,0,48,"Commit: Jiang Xin "],[21,0,41,"CommitDate: Wed May 11 11:32:11 2011 +0800"],["cp",1,22],["cp",9,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,5],["cp",5,11],["cp",0,12],["cp",5,17],["cp",0,18]],"t":1305084749.82168},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084754.16066},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084754.24087},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084754.35265},{"d":[["r","After doing this, you may fix the identity used for this commit with: "],["a"," "],["r"," git commit --amend --reset-author "],["a"," "],["r","bash-3.2$ git log "],["r","commit c61582861843af13db902fa7873bcc1b7bd66c28 "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:32:11 2011 +0800 "],["a"," "],["r"," who does commit? "],["a"," "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git log --pretty=fuller -1 "],["r","commit c61582861843af13db902fa7873bcc1b7bd66c28 "],["r","Author: Jiang Xin "],["r","AuthorDate: Wed May 11 11:32:11 2011 +0800 "],["r","Commit: Jiang Xin "],["r","CommitDate: Wed May 11 11:32:11 2011 +0800 "],["a"," "],["r"," who does commit? "],["r","bash-3.2$ git "]],"x":15,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084754.43269,"i":1},{"y":25,"x":14,"t":1305084756.40054},{"y":25,"d":[[24,12," "]],"x":13,"t":1305084756.55274},{"y":25,"d":[[24,11," "]],"x":12,"t":1305084756.71263},{"y":25,"d":[[24,10," "]],"x":11,"t":1305084756.87246},{"y":25,"d":[[24,10,"w"]],"x":12,"t":1305084757.37685},{"y":25,"d":[[24,11,"h"]],"x":13,"t":1305084757.59251},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305084757.73662},{"y":25,"d":[[24,13,"a"]],"x":15,"t":1305084758.12879},{"y":25,"d":[[24,14,"m"]],"x":16,"t":1305084758.20847},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305084758.38432},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",4,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21],["cp",8,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",4,10],["cp",0,11],["cp",4,16],["cp",0,17]],"t":1305084758.66438},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",3,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",1,20],["cp",7,21],["cp",23,22],[23,0,15,"jiangxin "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",0,4],["cp",3,9],["cp",0,10],["cp",3,15],["cp",0,16]],"t":1305084758.6718},{"y":25,"d":[[24,10,"h"]],"x":12,"t":1305084759.35249},{"y":25,"d":[[24,11,"o"]],"x":13,"t":1305084759.47247},{"y":25,"d":[[24,12,"s"]],"x":14,"t":1305084759.58429},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305084759.7125},{"y":25,"d":[[24,14,"n"]],"x":16,"t":1305084759.96831},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305084760.08849},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305084760.16041},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305084760.24835},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,11],["cp",13,12],["cp",14,13],["cp",2,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",6,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",2,8],["cp",0,9],["cp",2,14],["cp",0,15]],"t":1305084760.36831},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",13,12],["cp",1,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",4,18],["cp",5,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,17,"mac.bj.ossxp.com "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",0,2],["cp",1,7],["cp",0,8],["cp",1,13],["cp",0,14]],"t":1305084760.37298},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084763.0163},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084763.09631},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084763.18433},{"y":25,"x":15,"t":1305084763.28048},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305084763.42424},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084763.48813},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305084764.08817},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305084764.27233},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305084764.36015},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305084764.48012},{"y":25,"x":22,"t":1305084764.79215},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084765.59226},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305084765.76005},{"y":25,"d":[[24,23,"g"]],"x":25,"t":1305084766.12006},{"y":25,"d":[[24,24,"l"]],"x":26,"t":1305084766.20019},{"y":25,"d":[[24,25,"o"]],"x":27,"t":1305084766.36795},{"y":25,"d":[[24,26,"b"]],"x":28,"t":1305084766.43208},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305084766.55203},{"y":25,"d":[[24,28,"l"]],"x":30,"t":1305084766.65762},{"y":25,"x":31,"t":1305084766.76824},{"y":25,"d":[[24,30,"u"]],"x":32,"t":1305084767.80805},{"y":25,"d":[[24,31,"s"]],"x":33,"t":1305084767.90394},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305084767.96823},{"y":25,"d":[[24,33,"r"]],"x":35,"t":1305084768.00822},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305084768.30403},{"y":25,"d":[[24,35,"n"]],"x":37,"t":1305084768.512},{"y":25,"d":[[24,36,"a"]],"x":38,"t":1305084768.56812},{"y":25,"d":[[24,37,"m"]],"x":39,"t":1305084768.68803},{"y":25,"d":[[24,38,"e"]],"x":40,"t":1305084768.74396},{"y":25,"x":41,"t":1305084768.86401},{"y":25,"d":[[24,40,"\""]],"x":42,"t":1305084769.11209},{"y":25,"d":[[24,41,"j"]],"x":43,"t":1305084769.41592},{"y":25,"d":[[24,42,"i"]],"x":44,"t":1305084769.5359},{"y":25,"d":[[24,43,"a"]],"x":45,"t":1305084769.59203},{"y":25,"d":[[24,44,"n"]],"x":46,"t":1305084769.69582},{"y":25,"d":[[24,45,"g"]],"x":47,"t":1305084769.76001},{"y":25,"d":[[24,45," "]],"x":46,"t":1305084770.04006},{"y":25,"d":[[24,44," "]],"x":45,"t":1305084770.19978},{"y":25,"d":[[24,43," "]],"x":44,"t":1305084770.35972},{"y":25,"d":[[24,42," "]],"x":43,"t":1305084770.51995},{"y":25,"d":[[24,41," "]],"x":42,"t":1305084770.68763},{"y":25,"d":[[24,41,"J"]],"x":43,"t":1305084770.93621},{"y":25,"d":[[24,42,"i"]],"x":44,"t":1305084771.08799},{"y":25,"d":[[24,43,"a"]],"x":45,"t":1305084771.21581},{"y":25,"d":[[24,44,"n"]],"x":46,"t":1305084771.26394},{"y":25,"d":[[24,45,"g"]],"x":47,"t":1305084771.34408},{"y":25,"x":48,"t":1305084771.4477},{"y":25,"d":[[24,47,"X"]],"x":49,"t":1305084771.63975},{"y":25,"d":[[24,48,"9"]],"x":50,"t":1305084771.76801},{"y":25,"d":[[24,49,"i"]],"x":51,"t":1305084771.77595},{"y":25,"d":[[24,50,"n"]],"x":52,"t":1305084771.88778},{"y":25,"d":[[24,50," "]],"x":51,"t":1305084772.38503},{"y":25,"d":[[24,49," "]],"x":50,"t":1305084772.51998},{"y":25,"d":[[24,48," "]],"x":49,"t":1305084772.67966},{"y":25,"d":[[24,48,"i"]],"x":50,"t":1305084772.92758},{"y":25,"d":[[24,49,"n"]],"x":51,"t":1305084773.09578},{"y":25,"d":[[24,50,"\""]],"x":52,"t":1305084773.47329},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",3,17],["cp",4,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,6],["cp",1,7],["cp",0,12],["cp",1,13]],"t":1305084773.6875},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084773.69836},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084774.20764},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084774.2637},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084774.38372},{"y":25,"x":15,"t":1305084774.44759},{"y":25,"x":14,"t":1305084775.23966},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305084775.35953},{"y":25,"x":15,"t":1305084775.67959},{"y":25,"x":22,"t":1305084776.17981},{"y":25,"x":24,"t":1305084776.26341},{"y":25,"x":31,"t":1305084776.34666},{"y":25,"x":35,"t":1305084776.43018},{"y":25,"x":36,"t":1305084776.51504},{"y":25,"d":[[24,35,50,["a"," "]]],"x":35,"t":1305084777.11948},{"y":25,"x":36,"t":1305084777.27945},{"y":25,"d":[[24,35,"e"]],"x":37,"t":1305084777.55972},{"y":25,"d":[[24,36,"m"]],"x":38,"t":1305084777.70347},{"y":25,"d":[[24,37,"a"]],"x":39,"t":1305084777.80768},{"y":25,"d":[[24,38,"i"]],"x":40,"t":1305084777.87948},{"d":[["r","commit c61582861843af13db902fa7873bcc1b7bd66c28 "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:32:11 2011 +0800 "],["a"," "],["r"," who does commit? "],["a"," "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git log --pretty=fuller -1 "],["r","commit c61582861843af13db902fa7873bcc1b7bd66c28 "],["r","Author: Jiang Xin "],["r","AuthorDate: Wed May 11 11:32:11 2011 +0800 "],["r","Commit: Jiang Xin "],["r","CommitDate: Wed May 11 11:32:11 2011 +0800 "],["a"," "],["r"," who does commit? "],["r","bash-3.2$ whoami "],["r","jiangxin "],["r","bash-3.2$ hostname "],["r","mac.bj.ossxp.com "],["r","bash-3.2$ git config --global user.name \"Jiang Xin\" "],["r","bash-3.2$ git config --global user.email "]],"x":41,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084777.96752,"i":1},{"y":25,"x":42,"t":1305084778.09548},{"y":25,"d":[[24,41,"j"]],"x":43,"t":1305084778.27146},{"y":25,"d":[[24,42,"i"]],"x":44,"t":1305084778.38463},{"y":25,"d":[[24,43,"a"]],"x":45,"t":1305084778.43937},{"y":25,"d":[[24,44,"n"]],"x":46,"t":1305084778.51939},{"y":25,"d":[[24,45,"g"]],"x":47,"t":1305084778.57559},{"y":25,"d":[[24,46,"x"]],"x":48,"t":1305084778.6715},{"y":25,"d":[[24,47,"i"]],"x":49,"t":1305084778.73528},{"y":25,"d":[[24,48,"n"]],"x":50,"t":1305084778.83139},{"y":25,"d":[[24,49,"@"]],"x":51,"t":1305084779.10371},{"y":25,"d":[[24,50,"o"]],"x":52,"t":1305084779.41544},{"y":25,"d":[[24,51,"s"]],"x":53,"t":1305084779.55142},{"y":25,"d":[[24,52,"s"]],"x":54,"t":1305084779.7035},{"y":25,"d":[[24,53,"x"]],"x":55,"t":1305084779.87151},{"y":25,"d":[[24,54,"p"]],"x":56,"t":1305084779.92738},{"y":25,"d":[[24,55,"."]],"x":57,"t":1305084780.08831},{"y":25,"d":[[24,56,"c"]],"x":58,"t":1305084780.19926},{"y":25,"d":[[24,57,"o"]],"x":59,"t":1305084780.27934},{"y":25,"d":[[24,58,"m"]],"x":60,"t":1305084780.38328},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",2,16],["cp",3,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",5,11],["cp",0,12]],"t":1305084780.59132},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084780.59805},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084781.47123},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084781.5674},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084781.67906},{"y":25,"x":15,"t":1305084781.76722},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305084782.92713},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084783.0394},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305084783.21567},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305084783.36714},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305084783.50299},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305084783.58334},{"y":25,"x":22,"t":1305084783.66327},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084784.30429},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305084784.49499},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305084784.759},{"y":25,"d":[[24,24,"m"]],"x":26,"t":1305084784.90301},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305084785.03907},{"y":25,"d":[[24,26,"n"]],"x":28,"t":1305084785.16703},{"y":25,"d":[[24,27,"d"]],"x":29,"t":1305084785.25498},{"y":25,"x":30,"t":1305084786.5191},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305084787.57511},{"y":25,"d":[[24,30,"-"]],"x":32,"t":1305084787.74307},{"y":25,"d":[[24,31,"a"]],"x":33,"t":1305084787.92693},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305084788.06318},{"y":25,"d":[[24,33,"l"]],"x":35,"t":1305084788.215},{"y":25,"d":[[24,34,"o"]],"x":36,"t":1305084788.39912},{"y":25,"d":[[24,35,"w"]],"x":37,"t":1305084788.48698},{"y":25,"d":[[24,36,"-"]],"x":38,"t":1305084788.85481},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305084789.07094},{"y":25,"d":[[24,38,"m"]],"x":40,"t":1305084789.1589},{"y":25,"d":[[24,39,"p"]],"x":41,"t":1305084789.35887},{"y":25,"d":[[24,40,"t"]],"x":42,"t":1305084789.47866},{"y":25,"d":[[24,41,"y"]],"x":43,"t":1305084789.58275},{"y":25,"x":44,"t":1305084790.21484},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",1,15],["cp",2,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",4,10],["cp",0,11]],"t":1305084792.94289},{"y":25,"x":1,"t":1305084792.99589},{"y":23,"d":[["cp",1,0],["cp",0,2],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],[22,0,58,"\".git/COMMIT_EDITMSG\" "],["cp",0,23]],"x":22,"f":[["cp",0,4],["cp",0,10]],"t":1305084792.99849},{"y":23,"d":[[22,22,29,"9L, 240C"]],"x":31,"t":1305084793.2391},{"y":1,"d":[[0,0,15,"who does commit?"],[2,0,65,"# Please enter the commit message for your changes. Lines starting"],[3,0,66,"# with '#' will be ignored, and an empty message aborts the commit."],[4,0,"#"],[5,0,8,"# Author:"],[5,13,49,"Jiang Xin "],["cp",4,6],[7,0,17,"# On branch master"],[8,0,11,"# No changes"],[9,0,"~"],["cp",9,10],["cp",9,11],["cp",9,12],["cp",9,13],["cp",9,14],["cp",9,15],["cp",9,16],["cp",9,17],["cp",9,18],["cp",9,19],["cp",9,20],["cp",9,21],[22,30,"c"]],"x":1,"f":[[0,0,15,["a","3"]],[2,0,65,["a","4"]],[3,0,66,["a","4"]],[4,0,"4"],[5,0,49,"44555555544444444444444444444444444444444444444444"],["cp",4,6],[7,0,17,"444444444444555555"],[8,0,11,"445555555555"],[9,0,77,["a","4"]],["cp",9,10],["cp",9,11],["cp",9,12],["cp",9,13],["cp",9,14],["cp",9,15],["cp",9,16],["cp",9,17],["cp",9,18],["cp",9,19],["cp",9,20],["cp",9,21]],"B":[[9,0,77,["a","1"]],["cp",9,10],["cp",9,11],["cp",9,12],["cp",9,13],["cp",9,14],["cp",9,15],["cp",9,16],["cp",9,17],["cp",9,18],["cp",9,19],["cp",9,20],["cp",9,21]],"t":1305084793.24598},{"y":23,"d":[[22,0,30,": "]],"x":2,"t":1305084794.49473},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305084794.62265},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305084794.82269},{"y":23,"d":[[22,0,20,"\".git/COMMIT_EDITMSG\""]],"x":22,"t":1305084795.27057},{"y":23,"d":[[22,22,37,"9L, 240C written"]],"x":39,"t":1305084795.34689},{"y":25,"d":[["cp",1,0],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"x":1,"f":[["cp",1,0],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305084795.34746},{"y":25,"d":[[24,0,6,"[master"]],"x":9,"t":1305084795.68635},{"y":25,"d":[[22,0,32,"[master ca0c91c] who does commit?"],[23,1,45,"Author: Jiang Xin "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305084795.68773},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084797.3027},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084797.39038},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084797.50261},{"y":25,"x":15,"t":1305084797.58235},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305084798.4544},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084798.60627},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305084798.68625},{"y":25,"x":19,"t":1305084799.0943},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305084799.23028},{"y":25,"d":[[24,19,"1"]],"x":21,"t":1305084799.39808},{"y":25,"d":[["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305084799.55013},{"y":25,"d":[["cp",21,16],["cp",22,17],["cp",23,18],[19,0,46,"commit ca0c91ccf55922867ac08bfe9246c773be3e2ddd"],[20,0,44,"Author: Jiang Xin "],[21,0,37,"Date: Wed May 11 11:32:11 2011 +0800"],["cp",0,22],[23,0,19," who does commit?"],[24,0,8,"bash-3.2$"]],"x":11,"f":[[19,0,46,["a","3"]]],"t":1305084799.56196},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084802.1422},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084802.23005},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084802.326},{"y":25,"x":15,"t":1305084802.37416},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305084802.49411},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084802.66988},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305084802.77413},{"y":25,"x":19,"t":1305084802.90247},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305084803.12603},{"y":25,"d":[["cp",18,24]],"x":21,"t":1305084803.28614},{"y":25,"x":22,"t":1305084803.49405},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305084803.86205},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305084804.04601},{"y":25,"d":[[24,23,"p"]],"x":25,"t":1305084804.73401},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305084804.8621},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305084805.01402},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305084805.22196},{"y":25,"d":[[24,27,29,"ty="]],"x":31,"t":1305084805.54257},{"y":25,"d":[[24,30,"f"]],"x":32,"t":1305084806.18191},{"y":25,"d":[[24,31,"u"]],"x":33,"t":1305084806.33403},{"d":[["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","[master ca0c91c] who does commit? "],["r"," Author: Jiang Xin "],["r","bash-3.2$ git log -1 "],["r","commit ca0c91ccf55922867ac08bfe9246c773be3e2ddd "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:32:11 2011 +0800 "],["a"," "],["r"," who does commit? "],["r","bash-3.2$ git log -1 --pretty=ful "]],"x":34,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305084806.48619,"i":1},{"y":25,"d":[[24,33,"l"]],"x":35,"t":1305084806.79862},{"y":25,"d":[[24,34,"e"]],"x":36,"t":1305084807.53438},{"y":25,"d":[[24,35,"r"]],"x":37,"t":1305084807.62196},{"y":25,"d":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",19,18],["cp",0,19]],"t":1305084807.80674},{"y":25,"d":[["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",22,15],["cp",23,16],["cp",11,17],[18,0,48,"Author: Jiang Xin "],[19,6,44,"Date: Wed May 11 11:32:11 2011 +0800 "],[20,0,41,"Commit: Jiang Xin "],[21,0,41,"CommitDate: Wed May 11 11:33:12 2011 +0800"],["cp",0,22],["cp",15,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",18,11],["cp",11,17],["cp",0,18]],"t":1305084807.81811},{"y":25,"d":[["cp",16,24]],"x":11,"t":1305084813.53371},{"y":25,"d":[[24,10,35,"/ "]],"x":12,"t":1305084813.82979},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305084814.10137},{"y":25,"d":[[24,12,"i"]],"x":14,"t":1305084814.18943},{"y":25,"d":[[24,12," "]],"x":13,"t":1305084814.94945},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305084815.1574},{"y":25,"d":[[24,13,"m"]],"x":15,"t":1305084815.34935},{"y":25,"d":[[24,14,"m"]],"x":16,"t":1305084815.90942},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305084816.10137},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305084816.20531},{"y":25,"d":[[24,10,41,"git commit --amend --allow-empty"]],"x":11,"t":1305084816.30925},{"y":25,"x":15,"t":1305084816.92549},{"y":25,"x":22,"t":1305084817.42564},{"y":25,"x":24,"t":1305084817.50882},{"y":25,"x":30,"t":1305084817.59223},{"y":25,"x":43,"t":1305084818.29334},{"y":25,"x":44,"t":1305084818.47743},{"y":25,"d":[[24,43,"-"]],"x":45,"t":1305084819.14104},{"y":25,"d":[[24,44,"-"]],"x":46,"t":1305084819.32517},{"y":25,"d":[[24,45,"r"]],"x":47,"t":1305084819.58108},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305084819.7411},{"y":25,"d":[[24,47,"s"]],"x":49,"t":1305084819.94907},{"y":25,"d":[[24,48,"e"]],"x":50,"t":1305084820.20509},{"y":25,"d":[[24,49,"t"]],"x":51,"t":1305084820.38131},{"y":25,"d":[[24,50,"-"]],"x":52,"t":1305084820.59714},{"y":25,"d":[[24,51,"a"]],"x":53,"t":1305084821.77306},{"y":25,"d":[[24,52,"u"]],"x":54,"t":1305084821.92532},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305084822.10891},{"y":25,"d":[[24,54,"h"]],"x":56,"t":1305084822.18116},{"y":25,"d":[[24,55,"o"]],"x":57,"t":1305084822.63706},{"y":25,"d":[[24,56,"r"]],"x":59,"t":1305084822.97173},{"y":25,"d":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",10,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21],["cp",14,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",11,10],["cp",0,11],["cp",10,16],["cp",0,17]],"t":1305084824.07678},{"y":25,"d":[["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,22],["cp",0,23]],"x":1,"f":[["cp",0,10],["cp",0,16]],"t":1305084824.13012},{"y":23,"d":[[22,0,20,"\".git/COMMIT_EDITMSG\""]],"x":22,"t":1305084824.13171},{"y":23,"d":[[22,22,29,"6L, 185C"]],"x":31,"t":1305084824.37461},{"y":1,"d":[[0,0,15,"who does commit?"],[2,0,65,"# Please enter the commit message for your changes. Lines starting"],[3,0,66,"# with '#' will be ignored, and an empty message aborts the commit."],[4,0,17,"# On branch master"],[5,0,11,"# No changes"],[6,0,"~"],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21],[22,30,"c"]],"x":1,"f":[[0,0,15,["a","3"]],[2,0,65,["a","4"]],[3,0,66,["a","4"]],[4,0,17,"444444444444555555"],[5,0,11,"445555555555"],[6,0,77,["a","4"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21]],"B":[[6,0,77,["a","1"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21]],"t":1305084824.38172},{"y":23,"d":[[22,0,30,": "]],"x":2,"t":1305084825.26132},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305084825.37298},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305084825.58891},{"y":23,"d":[[22,0,20,"\".git/COMMIT_EDITMSG\""]],"x":22,"t":1305084826.97462},{"y":25,"d":[["cp",1,0],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],[7,0,32,"[master ca0c91c] who does commit?"],[8,0,45," Author: Jiang Xin "],[9,0,19,"bash-3.2$ git log -1"],[10,0,46,"commit ca0c91ccf55922867ac08bfe9246c773be3e2ddd"],[11,0,44,"Author: Jiang Xin "],[12,0,37,"Date: Wed May 11 11:32:11 2011 +0800"],["cp",0,13],[14,0,19," who does commit?"],[15,0,35,"bash-3.2$ git log -1 --pretty=fuller"],["cp",10,16],[17,0,6,"Author:"],[17,12,48,"Jiang Xin "],[18,0,41,"AuthorDate: Wed May 11 11:32:11 2011 +0800"],[19,0,6,"Commit:"],[19,12,41,"Jiang Xin "],[20,0,41,"CommitDate: Wed May 11 11:33:12 2011 +0800"],["cp",0,21],["cp",14,22],[23,0,56,"bash-3.2$ git commit --amend --allow-empty --reset-author"]],"x":1,"f":[["cp",1,0],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],[10,0,77,"333333333333333333333333333333333333333333333337777777777777777777777777777777"],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",10,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305084826.97795},{"y":25,"d":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",14,13],["cp",15,14],["cp",9,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",13,21],["cp",23,22],[23,0,56,"[master 61b1516] who does commit? "]],"x":1,"f":[["cp",10,9],["cp",0,10],["cp",9,15],["cp",0,16]],"t":1305084827.20641},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305084827.20753},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305084829.06863},{"y":25,"d":[["cp",14,24]],"x":11,"t":1305084829.82855},{"y":25,"d":[["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,11],["cp",13,12],["cp",14,13],["cp",8,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",12,20],["cp",22,21],["cp",23,22],["cp",13,23],["cp",0,24]],"x":1,"f":[["cp",9,8],["cp",0,9],["cp",8,14],["cp",0,15]],"t":1305084830.81253},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",12,5],["cp",13,6],["cp",1,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",4,12],["cp",5,13],["cp",21,14],["cp",22,15],["cp",6,16],[17,0,"c"],[17,6,46," 61b1516058bd2359f99437d28a6b9fd6e933b001"],[18,0,41,"Author: Jiang Xin "],[19,0,41,"AuthorDate: Wed May 11 11:33:44 2011 +0800"],["cp",10,20],[21,0,56,"CommitDate: Wed May 11 11:33:44 2011 +0800 "],["cp",4,22],["cp",5,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,1],["cp",1,7],["cp",0,8],["cp",0,14],["cp",1,17]],"t":1305084830.8279},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305084832.79653},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305084832.8606},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305084833.00452},{"y":25,"x":15,"t":1305084833.08438},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305084833.22034},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305084833.39632},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305084833.50852},{"y":25,"x":19,"t":1305084833.63636},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305084833.87657},{"y":25,"d":[["cp",0,24]],"x":21,"t":1305084834.01237},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",3,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",9,19],["cp",21,20],["cp",3,21],["cp",4,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,6],["cp",1,7],["cp",0,16],["cp",1,17]],"t":1305084834.2526},{"y":25,"d":[["cp",5,0],["cp",6,1],["cp",7,2],["cp",8,3],["cp",9,4],["cp",10,5],["cp",11,6],["cp",12,7],["cp",13,8],["cp",14,9],["cp",0,10],["cp",16,11],["cp",17,12],["cp",18,13],["cp",4,14],["cp",20,15],["cp",6,16],["cp",7,17],["cp",23,18],["cp",11,19],[20,0,41,"Author: Jiang Xin "],[21,0,37,"Date: Wed May 11 11:33:44 2011 +0800"],["cp",6,22],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",6,1],["cp",0,6],["cp",1,11],["cp",0,16],["cp",1,19]],"t":1305084834.26396},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",3,13],["cp",15,14],["cp",5,15],["cp",6,16],["cp",18,17],["cp",10,18],["cp",20,19],["cp",21,20],["cp",5,21],["cp",6,22],[23,0,19,"bash-3.2$ exit "],["cp",5,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,10],["cp",1,11],["cp",0,18],["cp",1,19]],"t":1305084838.98854}]} \ No newline at end of file diff --git a/html/part2/ch05-01-commit-modified.html b/html/part2/ch05-01-commit-modified.html deleted file mode 100644 index db666341d..000000000 --- a/html/part2/ch05-01-commit-modified.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch05-01-commit-modified -json_file: ch05-01-commit-modified.json ---- diff --git a/html/part2/ch05-01-commit-modified.json b/html/part2/ch05-01-commit-modified.json deleted file mode 100644 index 1183b0738..000000000 --- a/html/part2/ch05-01-commit-modified.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305092002.9374,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305092003.82487},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305092003.99267},{"y":1,"x":14,"t":1305092004.08072},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305092004.21655},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305092004.40084},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305092004.44885},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305092004.54466},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305092004.61689},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305092004.77565},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305092005.00046},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305092005.08865},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305092005.22336},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305092006.08866},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305092006.26487},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305092006.38328},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305092006.8646},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305092006.98453},{"y":1,"d":[[0,27,33,"rkspace"]],"x":35,"t":1305092007.08703},{"y":1,"d":[[0,34,"/"]],"x":36,"t":1305092007.68093},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305092007.91265},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305092008.07249},{"y":1,"d":[[0,37,"m"]],"x":39,"t":1305092008.18458},{"y":1,"d":[[0,38,"o"]],"x":40,"t":1305092008.29663},{"y":2,"x":1,"t":1305092008.52846},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305092008.52876},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305092009.03259},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305092009.11277},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305092009.22446},{"y":2,"x":15,"t":1305092009.25662},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305092009.33639},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305092009.52058},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305092009.68049},{"y":2,"x":19,"t":1305092009.83275},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305092010.08054},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305092010.26458},{"y":2,"d":[[1,20,"s"]],"x":22,"t":1305092010.38423},{"y":2,"d":[[1,21,"t"]],"x":23,"t":1305092010.50457},{"y":2,"d":[[1,22,"a"]],"x":24,"t":1305092010.63241},{"y":2,"d":[[1,23,"t"]],"x":25,"t":1305092010.7286},{"y":3,"x":1,"t":1305092010.79712},{"y":17,"d":[[2,0,46,"commit 61b1516058bd2359f99437d28a6b9fd6e933b001"],[3,0,37,"Author: Jiang Xin "],[4,0,37,"Date: Wed May 11 11:33:44 2011 +0800"],[6,4,19,"who does commit?"],[8,0,46,"commit 38690158d57ea02061e42ab88101ed3517a4292f"],["cp",3,9],[10,0,37,"Date: Wed May 11 11:03:28 2011 +0800"],[12,4,14,"intialized."],[14,1,13,"welcome.txt |"],[14,18,20,"1 +"],[15,1,48,"1 files changed, 1 insertions(+), 0 deletions(-)"],[16,0,8,"bash-3.2$"]],"x":11,"f":[[2,0,46,["a","3"]],["cp",2,8],[14,20,"2"]],"t":1305092010.80495},{"y":17,"d":[[16,10,"e"]],"x":12,"t":1305092016.46447},{"y":17,"d":[[16,11,"c"]],"x":13,"t":1305092016.64049},{"y":17,"d":[[16,12,"h"]],"x":14,"t":1305092016.72812},{"y":17,"d":[[16,13,"o"]],"x":15,"t":1305092016.82428},{"y":17,"x":16,"t":1305092017.00024},{"y":17,"d":[[16,15,"N"]],"x":17,"t":1305092018.26417},{"y":17,"d":[[16,16,"c"]],"x":18,"t":1305092018.56837},{"y":17,"d":[[16,16," "]],"x":17,"t":1305092019.04799},{"y":17,"d":[[16,16,"i"]],"x":18,"t":1305092019.26497},{"y":17,"d":[[16,17,"c"]],"x":19,"t":1305092019.35997},{"y":17,"d":[[16,18,"e"]],"x":20,"t":1305092019.55196},{"y":17,"x":21,"t":1305092020.44069},{"y":17,"d":[[16,20,"t"]],"x":22,"t":1305092020.61625},{"y":17,"d":[[16,21,"o"]],"x":23,"t":1305092020.66388},{"y":17,"x":24,"t":1305092020.79991},{"y":17,"d":[[16,23,"m"]],"x":25,"t":1305092020.99189},{"y":17,"d":[[16,24,"e"]],"x":26,"t":1305092021.08012},{"y":17,"d":[[16,25,"e"]],"x":27,"t":1305092021.25577},{"y":17,"d":[[16,26,"t"]],"x":28,"t":1305092021.64785},{"y":17,"x":29,"t":1305092021.83984},{"y":17,"d":[[16,28,"y"]],"x":30,"t":1305092021.99186},{"y":17,"d":[[16,29,"o"]],"x":31,"t":1305092022.10377},{"y":17,"d":[[16,30,"u"]],"x":32,"t":1305092022.18382},{"y":17,"d":[[16,31,"."]],"x":33,"t":1305092022.79231},{"y":17,"x":34,"t":1305092022.9918},{"y":17,"d":[[16,33,">"]],"x":35,"t":1305092023.26416},{"y":17,"d":[[16,34,">"]],"x":36,"t":1305092023.43167},{"y":17,"x":37,"t":1305092023.64792},{"y":17,"d":[[16,36,"w"]],"x":38,"t":1305092023.90375},{"y":17,"d":[[16,37,"e"]],"x":39,"t":1305092024.05568},{"y":17,"d":[[16,38,46,"lcome.txt"]],"x":49,"t":1305092024.2799},{"y":18,"x":1,"t":1305092024.48774},{"y":18,"d":[[17,0,8,"bash-3.2$"]],"x":11,"t":1305092024.48809},{"y":18,"d":[[17,10,"g"]],"x":12,"t":1305092024.93552},{"y":18,"d":[[17,11,"i"]],"x":13,"t":1305092025.01558},{"y":18,"d":[[17,12,"t"]],"x":14,"t":1305092025.13585},{"y":18,"x":15,"t":1305092025.18378},{"y":18,"d":[[17,14,"s"]],"x":16,"t":1305092025.4157},{"y":18,"d":[[17,15,"t"]],"x":17,"t":1305092025.58404},{"y":18,"d":[[17,16,"a"]],"x":18,"t":1305092025.67172},{"y":18,"d":[[17,17,"t"]],"x":19,"t":1305092025.79982},{"y":18,"d":[[17,18,"u"]],"x":20,"t":1305092025.89562},{"y":18,"d":[[17,19,"s"]],"x":21,"t":1305092025.99177},{"y":19,"x":1,"t":1305092026.23166},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",8,6],["cp",1,7],["cp",10,8],["cp",3,9],["cp",12,10],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],[16,0,46,"# On branch master "],[17,0,11,"# Changes no"],[17,17,31,"ged for commit:"],[18,0,61,"# (use \"git add ...\" to update what will be committed)"],[19,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],[20,0,"#"],[21,0,"#"],[21,8,30,"modified: welcome.txt"],["cp",20,22],[23,0,64,"no changes added to commit (use \"git add\" and/or \"git commit -a\")"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",1,2],["cp",0,6],["cp",1,8],["cp",14,12],["cp",1,14],[21,8,30,["a","1"]]],"t":1305092026.2401},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092026.83171},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092026.91176},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092027.02366},{"y":25,"x":15,"t":1305092027.07953},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092027.20744},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092027.26415},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092027.40763},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305092027.5679},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",12,11],["cp",0,12],["cp",21,20],["cp",0,21]],"t":1305092027.64737},{"y":25,"d":[["cp",7,0],["cp",2,1],["cp",9,2],["cp",1,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",12,14],["cp",22,15],["cp",23,16],[17,0,61,"diff --git a/welcome.txt b/welcome.txt "],[18,0,76,"index 18832d3..fd3c069 100644 "],[19,0,16,"--- a/welcome.txt"],[20,0,30,"+++ b/welcome.txt "],[21,0,12,"@@ -1 +1,2 @@"],[22,0,64," Hello. "],[23,0,17,"+Nice to meet you."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",11,4],["cp",0,5],["cp",0,11],["cp",20,13],["cp",0,20],[21,0,12,["a","6"]],[23,0,17,["a","2"]]],"B":[[17,0,37,["a","1"]],[18,0,28,["a","1"]],[19,0,16,["a","1"]],["cp",19,20]],"t":1305092027.65936},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092030.62358},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092030.73556},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092030.79926},{"d":[["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["a"," "],["r"," welcome.txt | 1 + "],["r"," 1 files changed, 1 insertions(+), 0 deletions(-) "],["r","bash-3.2$ echo Nice to meet you. >> welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","no changes added to commit (use \"git add\" and/or \"git commit -a\") "],["r","bash-3.2$ git diff "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index 18832d3..fd3c069 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1 +1,2 @@ "],["r"," Hello. "],["r","+Nice to meet you. "],["r","bash-3.2$ git "]],"x":15,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","77777777777777777777277777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305092030.87936,"i":1},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305092031.02364},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305092031.07153},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305092031.23936},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305092031.38348},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305092031.55938},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305092031.65532},{"y":25,"x":22,"t":1305092031.74357},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092031.9112},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305092032.15946},{"y":25,"x":25,"t":1305092032.31924},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305092032.85533},{"y":25,"d":[[24,25,"A"]],"x":27,"t":1305092033.33524},{"y":25,"d":[[24,26,"p"]],"x":28,"t":1305092033.58345},{"y":25,"d":[[24,27,"p"]],"x":29,"t":1305092033.72729},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305092033.87917},{"y":25,"d":[[24,29,"n"]],"x":31,"t":1305092033.99933},{"y":25,"d":[[24,30,"d"]],"x":32,"t":1305092034.10322},{"y":25,"x":33,"t":1305092034.5752},{"y":25,"d":[[24,32,"a"]],"x":34,"t":1305092035.07104},{"y":25,"x":35,"t":1305092035.20722},{"y":25,"d":[[24,34,"n"]],"x":36,"t":1305092035.37503},{"y":25,"d":[[24,35,"i"]],"x":37,"t":1305092035.50334},{"y":25,"d":[[24,36,"c"]],"x":38,"t":1305092035.62353},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305092035.79918},{"y":25,"x":40,"t":1305092035.97495},{"y":25,"d":[[24,39,"l"]],"x":41,"t":1305092036.10343},{"y":25,"d":[[24,40,"i"]],"x":42,"t":1305092036.23913},{"y":25,"d":[[24,41,"n"]],"x":43,"t":1305092036.37524},{"y":25,"d":[[24,42,"e"]],"x":44,"t":1305092036.519},{"y":25,"d":[[24,43,"."]],"x":45,"t":1305092036.67108},{"y":25,"d":[[24,44,"\""]],"x":46,"t":1305092037.71124},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",13,12],["cp",0,13],["cp",21,20],["cp",0,21],["cp",23,22],["cp",0,23]],"B":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,20]],"t":1305092038.47098},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",3,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,37,"# On branch master "],["cp",0,17],["cp",1,18],["cp",2,19],["cp",3,20],["cp",4,21],["cp",3,22],["cp",6,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,3],["cp",12,4],["cp",20,12],["cp",22,14],["cp",0,20],["cp",4,21],["cp",0,22]],"B":[["cp",16,8],["cp",17,9],["cp",18,10],["cp",10,11],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19]],"t":1305092038.48097},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092040.80686},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092040.871},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092041.00698},{"y":25,"x":15,"t":1305092041.06387},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305092041.17482},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305092041.35983},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305092041.44692},{"y":25,"x":19,"t":1305092041.52682},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305092041.7831},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305092041.98297},{"y":25,"d":[[24,20,"p"]],"x":22,"t":1305092043.01487},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305092043.11874},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305092043.27891},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305092043.51913},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305092043.67908},{"y":25,"d":[[24,25,"y"]],"x":27,"t":1305092043.83066},{"y":25,"d":[[24,26,"="]],"x":28,"t":1305092044.15066},{"y":25,"d":[[24,27,"o"]],"x":29,"t":1305092044.4548},{"y":25,"d":[[24,28,"n"]],"x":30,"t":1305092044.59904},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305092044.71061},{"y":25,"d":[[24,30,"l"]],"x":32,"t":1305092044.80787},{"y":25,"d":[[24,31,"i"]],"x":33,"t":1305092044.98284},{"y":25,"d":[[24,32,"n"]],"x":34,"t":1305092045.08681},{"y":25,"d":[[24,33,"e"]],"x":35,"t":1305092045.16662},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,17],["cp",1,18],["cp",2,19],["cp",3,20],["cp",2,21],["cp",5,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",12,11],["cp",0,12],["cp",14,13],["cp",0,14],["cp",3,20],["cp",0,21]],"B":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,11]],"t":1305092045.31057},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",0,17],["cp",1,18],["cp",3,20],["cp",23,21],[22,0,64,"61b1516058bd2359f99437d28a6b9fd6e933b001 who does commit? "],[23,0,51,"38690158d57ea02061e42ab88101ed3517a4292f intialized."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,1],["cp",0,3],["cp",11,9],["cp",13,11],["cp",0,13],["cp",1,18],["cp",0,20],[22,0,39,["a","3"]],["cp",22,23]],"B":[["cp",7,5],["cp",8,6],["cp",9,7],["cp",7,8],["cp",0,9],["cp",0,10]],"t":1305092045.32237},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092045.72689},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092045.7907},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092045.90279},{"y":25,"x":15,"t":1305092045.95878},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305092046.51077},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305092046.67062},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305092046.77462},{"y":25,"x":19,"t":1305092046.83095},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305092047.04656},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305092047.24652},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305092047.42263},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305092047.55854},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305092047.60649},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305092047.75054},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305092047.89455},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305092048.02297},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305092048.13469},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",1,16],["cp",0,17],["cp",1,18],["cp",2,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",9,8],["cp",1,9],["cp",11,10],["cp",1,11],["cp",0,17],["cp",1,18],["cp",22,21],["cp",1,23]],"B":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,8]],"t":1305092048.28019},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",0,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51,"61b1516 who does commit? "],[23,0,26,"3869015 intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",8,6],["cp",10,8],["cp",0,10],["cp",17,15],["cp",0,17],["cp",21,19],["cp",19,20],["cp",0,21],[22,7,39,["a","7"]],["cp",22,23]],"B":[["cp",4,2],["cp",5,3],["cp",6,4],["cp",4,5],["cp",0,6],["cp",0,7]],"t":1305092048.29132},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092051.60657},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092051.70224},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092051.8065},{"y":25,"x":15,"t":1305092051.91044},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092052.07171},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092052.21432},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092052.39028},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092052.49439},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092052.63042},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305092052.70234},{"y":25,"x":22,"t":1305092052.83828},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092052.93458},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305092053.07839},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",15,14],["cp",0,15],["cp",19,18],["cp",0,20],["cp",22,21],["cp",0,23]],"B":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,5]],"t":1305092053.21425},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",12,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22," M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",14,13],["cp",0,14],["cp",18,17],["cp",0,19],["cp",21,20],["cp",0,22],[23,1,"1"]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",5,4]],"t":1305092053.22631},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092055.06237},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092055.25413},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092055.42224},{"y":25,"x":15,"t":1305092055.48644},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305092057.61422},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305092057.78197},{"d":[["r","diff --git a/welcome.txt b/welcome.txt "],["r","index 18832d3..fd3c069 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1 +1,2 @@ "],["r"," Hello. "],["r","+Nice to meet you. "],["r","bash-3.2$ git commit -m \"Append a nice line.\" "],["r","# On branch master "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","no changes added to commit (use \"git add\" and/or \"git commit -a\") "],["r","bash-3.2$ git log --pretty=oneline "],["r","61b1516058bd2359f99437d28a6b9fd6e933b001 who does commit? "],["r","38690158d57ea02061e42ab88101ed3517a4292f intialized. "],["r","bash-3.2$ git log --oneline "],["r","61b1516 who does commit? "],["r","3869015 intialized. "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","bash-3.2$ git add "]],"x":18,"B":[["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d",["r","33333333333333333333333333333333333333337777777777777777777777777777777777777777"],"d",["a","7"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305092057.95014,"i":1},{"y":25,"x":19,"t":1305092058.03823},{"y":25,"d":[[24,18,"w"]],"x":20,"t":1305092058.22212},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305092058.35811},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305092058.49415},{"y":25,"d":[[24,21,28,"come.txt"]],"x":30,"t":1305092058.63174},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",6,5],["cp",0,6],["cp",13,12],["cp",0,13],["cp",17,16],["cp",0,18],["cp",20,19],["cp",0,21],["cp",23,22],["cp",0,23]],"B":[["cp",1,0],["cp",2,1],["cp",4,3]],"t":1305092059.1099},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305092059.11816},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092060.02222},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092060.11788},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092060.2301},{"y":25,"x":15,"t":1305092060.31802},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092061.29399},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092061.46985},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092061.60575},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092061.71008},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092061.79801},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305092061.89397},{"y":25,"x":22,"t":1305092062.40578},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092062.51787},{"y":25,"d":[["cp",21,24]],"x":24,"t":1305092062.64595},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",20,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",5,4],["cp",0,5],["cp",12,11],["cp",0,12],["cp",16,15],["cp",0,17],["cp",19,18],["cp",0,20],["cp",22,21],["cp",0,22]],"B":[["cp",1,0],["cp",3,2]],"t":1305092062.75781},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",19,22],[23,0,22,"M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",0,2],["cp",4,3],["cp",0,4],["cp",11,10],["cp",0,11],["cp",15,14],["cp",0,16],["cp",18,17],["cp",0,19],["cp",21,20],["cp",0,21],[23,0,"2"]],"B":[["cp",2,1]],"t":1305092062.76687},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092063.2789},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092063.35798},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092063.49405},{"y":25,"x":15,"t":1305092063.56567},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092063.74985},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092063.8297},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092063.93366},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305092064.1189},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",18,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",10,9],["cp",1,10],["cp",14,13],["cp",1,15],["cp",17,16],["cp",1,18],["cp",20,19],["cp",1,20],["cp",23,22],["cp",1,23]],"B":[["cp",1,0]],"t":1305092064.21389},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305092064.22605},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092065.14963},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092065.25349},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092065.34971},{"y":25,"x":15,"t":1305092065.40562},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092065.59771},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092065.69365},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092065.8138},{"y":25,"d":[["cp",23,24]],"x":19,"t":1305092065.97363},{"y":25,"x":20,"t":1305092066.06178},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305092066.27761},{"y":25,"d":[["cp",23,24]],"x":20,"t":1305092066.74942},{"y":25,"d":[[24,19,"H"]],"x":21,"t":1305092067.12561},{"y":25,"d":[[24,20,"E"]],"x":22,"t":1305092067.19761},{"y":25,"d":[[24,21,"A"]],"x":23,"t":1305092067.34952},{"y":25,"d":[[24,22,"D"]],"x":24,"t":1305092067.45343},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",7,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",17,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",9,8],["cp",0,9],["cp",13,12],["cp",0,14],["cp",16,15],["cp",0,17],["cp",19,18],["cp",0,19],["cp",22,21],["cp",0,22]],"t":1305092068.1255},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",0,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",10,13],["cp",21,14],["cp",22,15],["cp",23,16],[17,0,37,"diff --git a/welcome.txt b/welcome.txt"],[18,0,28,"index 18832d3..fd3c069 100644"],[19,0,28,"--- a/welcome.txt "],[20,0,22,"+++ b/welcome.txt "],[21,0,13,"@@ -1 +1,2 @@ "],[22,0,17," Hello. "],[23,0,22,"+Nice to meet you. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,1],["cp",12,5],["cp",5,6],["cp",15,8],["cp",8,9],["cp",18,11],["cp",0,12],["cp",0,13],["cp",21,14],["cp",0,15],["cp",0,16],["cp",0,18],[21,0,12,["a","6"]],[23,0,17,["a","2"]]],"B":[[17,0,37,["a","1"]],[18,0,28,["a","1"]],[19,0,16,["a","1"]],["cp",19,20]],"t":1305092068.13853},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092072.56559},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092072.66949},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092072.77326},{"y":25,"x":15,"t":1305092072.85338},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092073.07731},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092073.26123},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092073.39727},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092073.52542},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092073.65328},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305092073.75735},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",9,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",1,6],["cp",8,7],["cp",1,9],["cp",11,10],["cp",1,11],["cp",14,13],["cp",1,14],["cp",21,20],["cp",1,21],["cp",23,22],["cp",1,23]],"B":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,20]],"t":1305092074.04542},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",3,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,17,"# On branch master"],[19,0,25,"# Changes to be committed:"],[20,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[21,0,6,"# "],[22,0,30,"# modified: welcome.txt"],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",7,1],["cp",1,2],["cp",10,4],["cp",0,5],["cp",13,7],["cp",0,8],["cp",0,10],["cp",0,13],["cp",20,14],["cp",22,16],["cp",0,20],[22,0,7,["a","7"]],[22,18,30,["a","2"]]],"B":[["cp",16,10],["cp",17,11],["cp",18,12],["cp",12,13],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19]],"t":1305092074.0556},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305092079.60496},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305092079.78127},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305092079.84491},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305092079.94888},{"y":25,"x":16,"t":1305092080.04498},{"y":25,"d":[[24,15,"B"]],"x":17,"t":1305092080.73322},{"y":25,"d":[[24,16,"y"]],"x":18,"t":1305092080.97286},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305092081.10902},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305092081.30897},{"y":25,"d":[[24,19,"B"]],"x":21,"t":1305092081.66906},{"y":25,"d":[[24,20,"y"]],"x":22,"t":1305092081.84475},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305092081.99668},{"y":25,"d":[[24,22,"."]],"x":24,"t":1305092082.72497},{"y":25,"x":25,"t":1305092082.88481},{"y":25,"d":[[24,24,">"]],"x":26,"t":1305092083.14098},{"y":25,"d":[[24,25,">"]],"x":27,"t":1305092083.31672},{"y":25,"x":28,"t":1305092083.53306},{"y":25,"d":[[24,27,"w"]],"x":29,"t":1305092083.84475},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305092084.02087},{"y":25,"d":[[24,29,"l"]],"x":31,"t":1305092084.18076},{"y":25,"d":[[24,30,37,"come.txt"]],"x":40,"t":1305092084.58067},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",20,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",2,4],["cp",7,6],["cp",2,7],["cp",14,13],["cp",2,14],["cp",16,15],["cp",2,16],["cp",22,21],["cp",2,22]],"B":[["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,13]],"t":1305092085.74074},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305092085.74109},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092086.54867},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092086.64475},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092086.75658},{"y":25,"x":15,"t":1305092086.81257},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092087.02856},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092087.16479},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092087.29251},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092087.39669},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092087.50876},{"y":25,"d":[["cp",16,24]],"x":21,"t":1305092087.58869},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",23,22],["cp",15,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",1,3],["cp",6,5],["cp",1,6],["cp",13,12],["cp",1,13],["cp",15,14],["cp",1,15],["cp",21,20],["cp",1,21]],"B":[["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,12]],"t":1305092087.77246},{"y":25,"d":[["cp",12,0],["cp",13,1],["cp",14,2],["cp",15,3],["cp",16,4],["cp",17,5],["cp",18,6],["cp",19,7],["cp",20,8],["cp",7,9],["cp",22,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",6,14],["cp",7,15],["cp",8,16],["cp",7,17],[18,2,46,"Changes not staged for commit: "],[19,4,61,"(use \"git add ...\" to update what will be committed)"],[20,4,76,"(use \"git checkout -- ...\" to discard changes in working directory)"],["cp",8,22],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,0],["cp",14,2],["cp",1,5],["cp",20,8],["cp",1,12],["cp",1,14],["cp",8,16],["cp",1,20],[22,8,30,["a","1"]]],"B":[["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11]],"t":1305092087.78176},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092090.4689},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092090.54869},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092090.63632},{"d":[["r","@@ -1 +1,2 @@ "],["r"," Hello. "],["r","+Nice to meet you. "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","bash-3.2$ echo Bye-Bye. >> welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","bash-3.2$ git "]],"x":15,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777222222222222222222222227777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","77777777222222222222222222222227777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305092090.7085,"i":1},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092090.90045},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092091.02038},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092091.15651},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092091.23631},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092091.32451},{"y":25,"d":[["cp",3,24]],"x":21,"t":1305092091.41241},{"y":25,"x":22,"t":1305092091.5488},{"y":25,"d":[[24,21,"="]],"x":23,"t":1305092091.66851},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305092091.68436},{"y":25,"d":[[24,23,"s"]],"x":25,"t":1305092091.78037},{"y":25,"d":[[24,23," "]],"x":24,"t":1305092092.13242},{"y":25,"d":[[24,22," "]],"x":23,"t":1305092092.30834},{"y":25,"d":[["cp",3,24]],"x":22,"t":1305092092.47652},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092092.70038},{"y":25,"d":[[24,22,"0"]],"x":24,"t":1305092092.71751},{"y":25,"d":[[24,23,"s"]],"x":25,"t":1305092092.82026},{"y":25,"d":[[24,23," "]],"x":24,"t":1305092093.19614},{"y":25,"d":[[24,22," "]],"x":23,"t":1305092093.37222},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305092093.41223},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",2,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",6,14],["cp",7,15],["cp",6,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",6,20],["cp",7,21],["cp",6,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",7,15],["cp",0,16],["cp",22,21],["cp",0,22]],"t":1305092093.56445},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",1,9],["cp",2,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",6,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",5,19],["cp",6,20],["cp",5,21],["cp",23,22],[23,0,22,"MM welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",7,6],["cp",1,7],["cp",6,14],["cp",1,15],["cp",21,20],["cp",1,21],[23,0,1,"21"]],"t":1305092093.58319},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092096.83647},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092096.92411},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092097.02025},{"y":25,"x":15,"t":1305092097.07735},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092097.20413},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092097.27598},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092097.39634},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305092097.55698},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",0,8],["cp",1,9],["cp",2,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",4,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",4,18],["cp",5,19],["cp",4,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",5,13],["cp",0,14],["cp",20,19],["cp",0,20],["cp",23,22],["cp",0,23]],"t":1305092097.66791},{"y":25,"d":[["cp",15,7],["cp",16,8],["cp",17,9],["cp",4,10],["cp",5,11],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,61,"diff --git a/welcome.txt b/welcome.txt "],[17,0,76,"index fd3c069..51dbfd2 100644 "],[18,0,16,"--- a/welcome.txt"],[19,0,30,"+++ b/welcome.txt "],[20,0,14,"@@ -1,2 +1,3 @@"],[21,0,22," Hello. "],[22,0,17," Nice to meet you."],[23,0,17,"+Bye-Bye. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",19,11],["cp",0,13],["cp",22,14],["cp",0,19],[20,0,14,["a","6"]],["cp",0,22],[23,0,8,["a","2"]]],"B":[[16,0,37,["a","1"]],[17,0,28,["a","1"]],[18,0,16,["a","1"]],["cp",18,19]],"t":1305092097.68074},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092101.99607},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092102.07631},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092102.172},{"y":25,"x":15,"t":1305092102.25988},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092102.40388},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092102.4919},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092102.58009},{"y":25,"d":[["cp",15,24]],"x":19,"t":1305092102.75591},{"y":25,"x":20,"t":1305092102.81185},{"y":25,"d":[[24,19,"H"]],"x":21,"t":1305092103.07608},{"y":25,"d":[[24,20,"E"]],"x":22,"t":1305092103.18787},{"y":25,"d":[[24,21,"A"]],"x":23,"t":1305092103.36371},{"y":25,"d":[[24,22,"D"]],"x":24,"t":1305092103.42767},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",4,10],["cp",3,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",11,10],["cp",0,11],["cp",14,13],["cp",0,14],["cp",20,19],["cp",0,20],["cp",23,22],["cp",0,23]],"B":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,19]],"t":1305092103.89171},{"y":25,"d":[["cp",8,0],["cp",3,1],["cp",4,2],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],["cp",7,16],[17,0,28,"index 18832d3..51dbfd2 100644"],["cp",9,18],["cp",10,19],[20,0,12,"@@ -1 +1,3 @@"],["cp",12,21],[22,1,17,"Nice to meet you."],["cp",14,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",10,2],["cp",0,4],["cp",13,5],["cp",0,10],["cp",19,11],["cp",0,13],["cp",22,14],["cp",0,19],[20,0,12,["a","6"]],[22,9,17,["a","2"]],["cp",14,23]],"B":[["cp",15,7],["cp",16,8],["cp",17,9],["cp",9,10],["cp",0,15],["cp",7,16],["cp",8,17],["cp",9,19]],"t":1305092103.90446},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092104.29182},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092104.37209},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092104.48348},{"y":25,"x":15,"t":1305092104.52366},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092104.68384},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092104.75588},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092104.87557},{"y":25,"d":[["cp",6,24]],"x":19,"t":1305092105.04367},{"y":25,"x":20,"t":1305092105.17166},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305092105.65167},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305092105.83569},{"y":25,"d":[[24,21,"c"]],"x":23,"t":1305092106.00365},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305092106.12376},{"y":25,"d":[[24,23,"c"]],"x":25,"t":1305092106.26774},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305092106.35594},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305092106.49972},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305092106.67564},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",8,17],["cp",9,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",13,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",11,10],["cp",0,11],["cp",14,13],["cp",0,14],["cp",20,19],["cp",0,20],["cp",22,21],["cp",13,22],["cp",0,23]],"B":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,10],["cp",6,15],["cp",7,16],["cp",8,17],["cp",0,19]],"t":1305092107.17189},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",1,10],["cp",2,11],["cp",19,12],["cp",4,13],["cp",21,14],["cp",6,15],["cp",23,16],["cp",8,17],[18,0,28,"index 18832d3..fd3c069 100644"],["cp",1,19],["cp",2,20],[21,0,17,"@@ -1 +1,2 @@ "],["cp",4,22],["cp",14,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",10,3],["cp",0,4],["cp",13,6],["cp",0,10],["cp",19,12],["cp",0,13],["cp",21,14],["cp",6,15],["cp",0,19],["cp",12,21],["cp",0,22],["cp",14,23]],"B":[["cp",7,0],["cp",8,1],["cp",1,2],["cp",3,6],["cp",3,7],["cp",15,8],["cp",0,9],["cp",1,10],["cp",1,11],["cp",3,15],["cp",3,16],["cp",8,17],["cp",0,18],["cp",1,19],["cp",1,20]],"t":1305092107.18988},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092107.71557},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092107.79549},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092107.88353},{"y":25,"x":15,"t":1305092107.94774},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305092108.1235},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305092108.19547},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305092108.37977},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305092108.53941},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305092108.67585},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305092108.74747},{"y":25,"x":22,"t":1305092108.85939},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092109.18755},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305092109.46772},{"y":25,"x":25,"t":1305092109.5958},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305092109.91544},{"y":25,"d":[[24,25,"w"]],"x":27,"t":1305092110.21934},{"y":25,"d":[[24,26,"h"]],"x":28,"t":1305092110.30755},{"y":25,"d":[[24,27,"i"]],"x":29,"t":1305092110.41967},{"y":25,"d":[[24,28,"c"]],"x":30,"t":1305092110.57966},{"y":25,"d":[[24,29,"h"]],"x":31,"t":1305092110.69945},{"y":25,"x":32,"t":1305092110.94732},{"y":25,"d":[[24,31,"v"]],"x":33,"t":1305092111.38747},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305092111.56336},{"y":25,"d":[[24,33,"r"]],"x":35,"t":1305092111.62756},{"y":25,"d":[[24,34,"s"]],"x":36,"t":1305092111.7713},{"y":25,"d":[[24,35,"i"]],"x":37,"t":1305092111.81947},{"y":25,"d":[[24,36,"o"]],"x":38,"t":1305092111.92341},{"y":25,"d":[[24,37,"n"]],"x":39,"t":1305092112.06732},{"y":25,"x":40,"t":1305092112.29141},{"y":25,"d":[[24,39,"c"]],"x":41,"t":1305092112.69121},{"y":25,"d":[[24,40,"h"]],"x":42,"t":1305092112.79587},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305092112.92326},{"y":25,"d":[[24,42,"c"]],"x":44,"t":1305092113.0994},{"y":25,"d":[[24,43,"k"]],"x":45,"t":1305092113.17929},{"d":[["r","index fd3c069..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1,2 +1,3 @@ "],["r"," Hello. "],["r"," Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git diff HEAD "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index 18832d3..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1 +1,3 @@ "],["r"," Hello. "],["r","+Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git diff --cached "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index 18832d3..fd3c069 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1 +1,2 @@ "],["r"," Hello. "],["r","+Nice to meet you. "],["r","bash-3.2$ git commit -m \"which version checke "]],"x":46,"B":[["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305092113.41155,"i":1},{"y":25,"d":[[24,45,"d"]],"x":47,"t":1305092113.57947},{"y":25,"x":48,"t":1305092113.7394},{"y":25,"d":[[24,47,"i"]],"x":49,"t":1305092113.89128},{"y":25,"d":[[24,48,"n"]],"x":50,"t":1305092114.03516},{"y":25,"d":[[24,49,"?"]],"x":51,"t":1305092114.5074},{"y":25,"d":[[24,50,"\""]],"x":52,"t":1305092114.89937},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",1,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",5,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",0,18],["cp",1,19],["cp",21,20],["cp",3,21],["cp",13,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",12,11],["cp",0,12],["cp",14,13],["cp",5,14],["cp",0,15],["cp",11,20],["cp",0,21],["cp",13,22],["cp",0,23]],"B":[["cp",1,0],["cp",3,2],["cp",8,7],["cp",9,8],["cp",0,9],["cp",2,11],["cp",7,16],["cp",8,17],["cp",0,18],["cp",2,20]],"t":1305092115.63528},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",4,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",8,17],["cp",0,18],["cp",20,19],["cp",2,20],["cp",12,21],["cp",23,22],[23,0,50,"[master 0e3a4c9] which version checked in? "]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",11,10],["cp",0,11],["cp",13,12],["cp",4,13],["cp",0,14],["cp",10,19],["cp",0,20],["cp",12,21],["cp",0,22]],"B":[["cp",2,1],["cp",7,6],["cp",8,7],["cp",0,8],["cp",1,10],["cp",6,15],["cp",7,16],["cp",0,17],["cp",1,19]],"t":1305092115.92652},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",5,14],["cp",16,15],["cp",7,16],["cp",8,17],["cp",19,18],["cp",1,19],["cp",11,20],["cp",22,21],["cp",23,22],[23,0,48," 1 files changed, 1 insertions(+), 0 deletions(-)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",1,4],["cp",10,9],["cp",1,10],["cp",12,11],["cp",3,12],["cp",1,13],["cp",9,18],["cp",1,19],["cp",11,20],["cp",1,21]],"B":[["cp",1,0],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,9],["cp",5,14],["cp",6,15],["cp",7,16],["cp",0,18]],"t":1305092115.92811},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092116.89095},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092116.97109},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092117.1152},{"y":25,"x":15,"t":1305092117.1872},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305092117.45921},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305092117.63509},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305092117.74831},{"y":25,"x":19,"t":1305092117.83527},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305092118.0192},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305092118.20304},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305092118.84301},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305092118.97887},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305092119.05905},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305092119.16339},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305092119.3231},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305092119.43483},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305092119.54741},{"y":25,"x":29,"t":1305092119.64301},{"y":25,"d":[[24,28,"-"]],"x":30,"t":1305092120.31496},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305092120.49896},{"y":25,"d":[[24,30,"s"]],"x":32,"t":1305092120.65085},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305092120.74699},{"y":25,"d":[[24,32,"a"]],"x":34,"t":1305092120.86669},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305092120.97878},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",4,13],["cp",15,14],["cp",6,15],["cp",7,16],["cp",18,17],["cp",0,18],["cp",10,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",0,3],["cp",9,8],["cp",0,9],["cp",11,10],["cp",2,11],["cp",0,12],["cp",8,17],["cp",0,18],["cp",10,19],["cp",0,20]],"B":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,8],["cp",4,13],["cp",5,14],["cp",6,15],["cp",0,17]],"t":1305092121.20287},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",0,9],["cp",17,10],["cp",2,11],["cp",3,12],["cp",20,13],["cp",21,14],["cp",22,15],["cp",23,16],[17,0,32,"0e3a4c9 which version checked in?"],[18,1,13,"welcome.txt |"],[18,18,20,"1 +"],["cp",15,19],[20,0,50,"61b1516 who does commit? "],[21,0,41,"3869015 intialized. "],["cp",18,22],["cp",15,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,1],["cp",0,2],["cp",10,3],["cp",11,4],["cp",0,8],["cp",1,10],["cp",0,11],["cp",3,12],[17,0,12,"3333333777777"],[18,20,"2"],["cp",0,19],["cp",17,20],["cp",17,21],["cp",18,22]],"B":[["cp",6,0],["cp",1,4],["cp",1,5],["cp",13,6],["cp",14,7],["cp",0,8],["cp",0,9],["cp",1,13],["cp",1,14],["cp",1,15],["cp",1,16]],"t":1305092121.21707},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092125.57857},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092125.66673},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092125.76283},{"y":25,"x":15,"t":1305092125.83464},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305092125.98735},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305092126.09855},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305092126.22661},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305092126.32322},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305092126.43493},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305092126.51475},{"y":25,"x":22,"t":1305092126.68255},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305092126.82656},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305092126.93858},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",1,10],["cp",2,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",14,18],["cp",20,19],["cp",21,20],["cp",17,21],["cp",14,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",0,9],["cp",1,10],["cp",2,11],["cp",1,12],["cp",17,16],["cp",18,17],["cp",1,18],["cp",16,19],["cp",17,21],["cp",1,22]],"B":[["cp",1,0],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,9]],"t":1305092127.04269},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",13,17],["cp",19,18],["cp",20,19],["cp",16,20],["cp",13,21],["cp",23,22],[23,0,22," M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",9,8],["cp",0,9],["cp",1,10],["cp",0,11],["cp",16,15],["cp",17,16],["cp",0,17],["cp",15,18],["cp",16,20],["cp",0,21],[23,1,"1"]],"B":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,8]],"t":1305092127.05097},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305092128.78762},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305092128.85059},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305092128.97871},{"y":25,"x":15,"t":1305092129.05058},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305092129.20239},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305092129.27438},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305092129.38659},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305092129.56245},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",12,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",8,7],["cp",2,8],["cp",0,9],["cp",2,10],["cp",15,14],["cp",16,15],["cp",2,16],["cp",14,17],["cp",15,19],["cp",2,20],["cp",23,22],["cp",2,23]],"B":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,7]],"t":1305092130.25061},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",4,8],["cp",17,9],["cp",18,10],["cp",7,11],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,48,"diff --git a/welcome.txt b/welcome.txt "],[17,0,28,"index fd3c069..51dbfd2 100644"],[18,0,18,"--- a/welcome.txt "],[19,0,20,"+++ b/welcome.txt "],[20,0,48,"@@ -1,2 +1,3 @@ "],["cp",0,21],[22,1,17,"Nice to meet you."],[23,0,17,"+Bye-Bye. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",9,1],["cp",14,6],["cp",15,7],["cp",6,9],["cp",6,10],["cp",7,11],["cp",22,14],["cp",0,15],["cp",0,17],["cp",0,18],["cp",0,19],[20,0,14,["a","6"]],["cp",0,22],[23,0,8,["a","2"]]],"B":[["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],[16,0,37,["a","1"]],[17,0,28,["a","1"]],[18,0,16,["a","1"]],["cp",18,19]],"t":1305092130.26254},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305092132.18645},{"y":25,"d":[[24,11,"x"]],"x":13,"t":1305092132.35432},{"y":25,"d":[[24,12,"i"]],"x":14,"t":1305092132.49858},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305092132.61041},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",3,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",6,5],["cp",7,6],["cp",1,7],["cp",5,8],["cp",6,10],["cp",1,11],["cp",14,13],["cp",1,14],["cp",20,19],["cp",1,20],["cp",23,22],["cp",1,23]],"B":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,19]],"t":1305092132.77026},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",2,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,13,"exit "]],"x":1,"f":[["cp",1,0],["cp",5,4],["cp",6,5],["cp",0,6],["cp",4,7],["cp",5,9],["cp",0,10],["cp",13,12],["cp",0,13],["cp",19,18],["cp",0,19],["cp",22,21],["cp",0,22]],"B":[["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,18]],"t":1305092132.77051}]} \ No newline at end of file diff --git a/html/part2/ch05-02-index-and-diff.html b/html/part2/ch05-02-index-and-diff.html deleted file mode 100644 index fecea3b49..000000000 --- a/html/part2/ch05-02-index-and-diff.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch05-02-index-and-diff -json_file: ch05-02-index-and-diff.json ---- diff --git a/html/part2/ch05-02-index-and-diff.json b/html/part2/ch05-02-index-and-diff.json deleted file mode 100644 index 2cd957b61..000000000 --- a/html/part2/ch05-02-index-and-diff.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094383.97764,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305094384.37002},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305094384.54581},{"y":1,"x":14,"t":1305094384.62549},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305094384.78557},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305094385.16169},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305094385.21086},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305094385.35371},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305094385.44161},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305094385.58439},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305094385.80161},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305094385.88157},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305094386.01566},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305094386.24186},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305094386.42615},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305094386.49657},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305094386.74563},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305094386.81745},{"y":1,"d":[[0,27,33,"rkspace"]],"x":35,"t":1305094386.95988},{"y":1,"d":[[0,34,"/"]],"x":36,"t":1305094387.54561},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305094387.65758},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305094387.81732},{"y":1,"d":[[0,37,"m"]],"x":39,"t":1305094387.84956},{"y":1,"d":[[0,38,39,"o/"]],"x":41,"t":1305094388.03979},{"y":2,"x":1,"t":1305094388.4654},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305094388.46568},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305094388.80943},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305094388.87334},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305094388.99347},{"y":2,"x":15,"t":1305094389.04924},{"y":2,"d":[[1,14,"s"]],"x":16,"t":1305094389.17739},{"y":2,"d":[[1,15,"t"]],"x":17,"t":1305094389.35327},{"y":2,"d":[[1,16,"a"]],"x":18,"t":1305094389.48119},{"y":2,"d":[[1,17,"t"]],"x":19,"t":1305094389.5693},{"y":2,"d":[[1,18,"u"]],"x":20,"t":1305094389.65761},{"y":2,"d":[[1,19,"s"]],"x":21,"t":1305094389.74522},{"y":2,"x":22,"t":1305094389.8975},{"y":2,"d":[[1,21,"-"]],"x":23,"t":1305094389.9853},{"y":2,"d":[[1,22,"s"]],"x":24,"t":1305094390.07333},{"y":3,"x":1,"t":1305094390.20116},{"y":4,"d":[[2,1,13,"M welcome.txt"],[3,0,8,"bash-3.2$"]],"x":11,"f":[[2,1,"1"]],"t":1305094390.21187},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305094390.56131},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305094390.62522},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305094390.72942},{"y":4,"x":15,"t":1305094390.78529},{"y":4,"d":[[3,14,"l"]],"x":16,"t":1305094390.86524},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305094391.04249},{"y":4,"d":[[3,15," "]],"x":16,"t":1305094391.67322},{"y":4,"d":[[3,14," "]],"x":15,"t":1305094391.95326},{"y":4,"d":[[3,14,"d"]],"x":16,"t":1305094392.58536},{"y":4,"d":[[3,15,"i"]],"x":17,"t":1305094392.65728},{"y":4,"d":[[3,16,"f"]],"x":18,"t":1305094392.76912},{"y":4,"d":[[3,17,"f"]],"x":19,"t":1305094392.94517},{"y":5,"x":1,"t":1305094393.18503},{"y":13,"d":[[4,0,37,"diff --git a/welcome.txt b/welcome.txt"],[5,0,28,"index fd3c069..51dbfd2 100644"],[6,0,16,"--- a/welcome.txt"],[7,0,16,"+++ b/welcome.txt"],[8,0,14,"@@ -1,2 +1,3 @@"],[9,1,6,"Hello."],[10,1,17,"Nice to meet you."],[11,0,8,"+Bye-Bye."],[12,0,8,"bash-3.2$"]],"x":11,"f":[[8,0,14,["a","6"]],[11,0,8,["a","2"]]],"B":[[4,0,37,["a","1"]],[5,0,28,["a","1"]],[6,0,16,["a","1"]],["cp",6,7]],"t":1305094393.19721},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305094394.16132},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305094394.24117},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305094394.35334},{"y":13,"x":15,"t":1305094394.39315},{"y":13,"d":[[12,14,"c"]],"x":16,"t":1305094394.55314},{"y":13,"d":[[12,15,"h"]],"x":17,"t":1305094394.65727},{"y":13,"d":[[12,16,"e"]],"x":18,"t":1305094394.75309},{"y":13,"d":[[12,17,"c"]],"x":19,"t":1305094394.91442},{"y":13,"d":[[12,18,"k"]],"x":20,"t":1305094394.99336},{"y":13,"d":[[12,19,"o"]],"x":21,"t":1305094395.11301},{"y":13,"d":[[12,20,"u"]],"x":22,"t":1305094395.20908},{"y":13,"d":[[12,21,"t"]],"x":23,"t":1305094395.2971},{"y":13,"x":24,"t":1305094395.37737},{"y":13,"d":[[12,23,"-"]],"x":25,"t":1305094395.92915},{"y":13,"d":[[12,24,"-"]],"x":26,"t":1305094396.10497},{"y":13,"x":27,"t":1305094396.20899},{"y":13,"d":[[12,26,"w"]],"x":28,"t":1305094396.43299},{"y":13,"d":[[12,27,"e"]],"x":29,"t":1305094396.5689},{"y":13,"d":[[12,28,36,"lcome.txt"]],"x":38,"t":1305094396.80121},{"y":14,"x":1,"t":1305094397.13689},{"y":14,"d":[[13,0,8,"bash-3.2$"]],"x":11,"t":1305094397.145},{"y":14,"d":[[13,10,"g"]],"x":12,"t":1305094397.68888},{"y":14,"d":[[13,11,"i"]],"x":13,"t":1305094397.77693},{"y":14,"d":[[13,12,"t"]],"x":14,"t":1305094397.897},{"y":14,"x":15,"t":1305094397.93712},{"y":14,"d":[[13,14,"s"]],"x":16,"t":1305094398.11315},{"y":14,"d":[[13,15,"t"]],"x":17,"t":1305094398.18506},{"y":14,"d":[[13,16,"a"]],"x":18,"t":1305094398.3049},{"y":14,"d":[[13,17,"t"]],"x":19,"t":1305094398.39307},{"y":14,"d":[[13,18,"u"]],"x":20,"t":1305094398.46497},{"y":14,"d":[[13,19,"s"]],"x":21,"t":1305094398.53684},{"y":14,"x":22,"t":1305094398.66485},{"y":14,"d":[[13,21,"-"]],"x":23,"t":1305094398.76884},{"y":14,"d":[["cp",1,13]],"x":24,"t":1305094398.85683},{"y":15,"x":1,"t":1305094398.99285},{"y":15,"d":[[14,0,8,"bash-3.2$"]],"x":11,"t":1305094399.0024},{"y":15,"d":[[14,10,"l"]],"x":12,"t":1305094399.4889},{"y":15,"d":[[14,11,"s"]],"x":13,"t":1305094399.5527},{"y":15,"x":14,"t":1305094399.64202},{"y":15,"d":[[14,13,"-"]],"x":15,"t":1305094399.74481},{"y":15,"d":[[14,14,"-"]],"x":16,"t":1305094400.21683},{"y":15,"d":[[14,15,"f"]],"x":17,"t":1305094400.46478},{"y":15,"d":[[14,16,"u"]],"x":18,"t":1305094400.54499},{"y":15,"d":[[14,17,"l"]],"x":19,"t":1305094400.68884},{"y":15,"d":[[14,18,"l"]],"x":20,"t":1305094400.8487},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","bash-3.2$ git diff "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index fd3c069..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1,2 +1,3 @@ "],["r"," Hello. "],["r"," Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git checkout -- welcome.txt "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls --full- "],["a"," "],"d","d","d","d","d","d","d","d","d"],"x":21,"B":[["a","0"],"d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":15,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094401.22473,"i":1},{"y":15,"d":[[14,20,"t"]],"x":22,"t":1305094401.53686},{"y":15,"d":[[14,21,"i"]],"x":23,"t":1305094401.95364},{"y":15,"d":[[14,22,"m"]],"x":24,"t":1305094402.06487},{"y":15,"d":[[14,23,"e"]],"x":25,"t":1305094402.16093},{"y":15,"x":26,"t":1305094402.27271},{"y":15,"d":[[14,25,"."]],"x":27,"t":1305094402.48889},{"y":15,"d":[[14,26,"g"]],"x":28,"t":1305094402.63261},{"y":15,"d":[[14,27,"i"]],"x":29,"t":1305094402.72061},{"y":15,"d":[[14,28,29,"t/"]],"x":31,"t":1305094402.88207},{"y":15,"d":[[14,30,"i"]],"x":32,"t":1305094403.11266},{"y":15,"d":[[14,31,"n"]],"x":33,"t":1305094403.26481},{"y":15,"d":[[14,32,"d"]],"x":34,"t":1305094403.80862},{"y":15,"d":[[14,33,34,"ex"]],"x":37,"t":1305094404.06639},{"y":16,"x":1,"t":1305094404.36851},{"y":17,"d":[[15,0,77,"-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:19.000000000 +0800 .git/index"],[16,0,8,"bash-3.2$"]],"x":11,"t":1305094404.37874},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305094405.0489},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305094405.1286},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305094405.23254},{"y":17,"x":15,"t":1305094405.28875},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305094405.3846},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305094405.50474},{"y":17,"d":[[16,16,"a"]],"x":18,"t":1305094405.64178},{"y":17,"d":[[16,17,"t"]],"x":19,"t":1305094405.72907},{"y":17,"d":[[16,18,"u"]],"x":20,"t":1305094405.83245},{"y":17,"d":[[16,19,"s"]],"x":21,"t":1305094405.88869},{"y":17,"x":22,"t":1305094406.0247},{"y":17,"d":[[16,21,"-"]],"x":23,"t":1305094406.13677},{"y":17,"d":[["cp",1,16]],"x":24,"t":1305094406.24122},{"y":18,"x":1,"t":1305094407.03245},{"y":18,"d":[[17,0,8,"bash-3.2$"]],"x":11,"t":1305094407.04063},{"y":18,"d":[["cp",1,17]],"x":11,"t":1305094407.69632},{"y":18,"d":[["cp",14,17]],"x":11,"t":1305094407.8566},{"y":19,"x":1,"t":1305094408.39243},{"y":20,"d":[["cp",15,18],[19,0,8,"bash-3.2$"]],"x":11,"t":1305094408.39947},{"y":20,"d":[[19,10,"t"]],"x":12,"t":1305094410.3687},{"y":20,"d":[[19,11,"o"]],"x":13,"t":1305094410.45632},{"y":20,"d":[[19,12,"u"]],"x":14,"t":1305094410.52048},{"y":20,"d":[[19,13,"c"]],"x":15,"t":1305094410.58436},{"y":20,"d":[[19,14,"h"]],"x":16,"t":1305094410.72832},{"y":20,"x":17,"t":1305094410.84852},{"y":20,"d":[[19,16,"w"]],"x":18,"t":1305094411.04847},{"y":20,"d":[[19,17,"e"]],"x":19,"t":1305094411.18433},{"y":20,"d":[[19,18,26,"lcome.txt"]],"x":29,"t":1305094411.41661},{"y":21,"x":1,"t":1305094411.75215},{"y":21,"d":[[20,0,8,"bash-3.2$"]],"x":11,"t":1305094411.75791},{"y":21,"d":[[20,10,"g"]],"x":12,"t":1305094412.04039},{"y":21,"d":[[20,11,"i"]],"x":13,"t":1305094412.1443},{"y":21,"d":[[20,12,"t"]],"x":14,"t":1305094412.23239},{"y":21,"x":15,"t":1305094412.29629},{"y":21,"d":[[20,14,"s"]],"x":16,"t":1305094412.40821},{"y":21,"d":[[20,15,"t"]],"x":17,"t":1305094412.48028},{"y":21,"d":[[20,16,"a"]],"x":18,"t":1305094412.60051},{"y":21,"d":[[20,17,"t"]],"x":19,"t":1305094412.70435},{"y":21,"d":[[20,18,"u"]],"x":20,"t":1305094412.80048},{"y":21,"d":[[20,19,"s"]],"x":21,"t":1305094412.8562},{"y":21,"x":22,"t":1305094413.00821},{"y":21,"d":[[20,21,"-"]],"x":23,"t":1305094413.08818},{"y":21,"d":[["cp",1,20]],"x":24,"t":1305094413.20016},{"y":22,"x":1,"t":1305094413.33608},{"y":22,"d":[[21,0,8,"bash-3.2$"]],"x":11,"t":1305094413.34528},{"y":22,"d":[["cp",1,21]],"x":11,"t":1305094414.55219},{"y":22,"d":[["cp",19,21]],"x":11,"t":1305094414.92828},{"y":22,"d":[["cp",14,21]],"x":11,"t":1305094416.24835},{"y":23,"x":1,"t":1305094417.60788},{"y":24,"d":[[22,0,77,"-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:33.000000000 +0800 .git/index"],[23,0,8,"bash-3.2$"]],"x":11,"t":1305094417.61864},{"y":24,"d":[[23,10,"g"]],"x":12,"t":1305094421.29599},{"y":24,"d":[[23,11,"i"]],"x":13,"t":1305094421.37579},{"y":24,"d":[[23,12,"t"]],"x":14,"t":1305094421.47999},{"y":24,"x":15,"t":1305094421.52778},{"y":24,"d":[[23,14,"l"]],"x":16,"t":1305094421.71196},{"y":24,"d":[[23,15,"s"]],"x":17,"t":1305094421.89602},{"y":24,"d":[[23,16,"-"]],"x":18,"t":1305094422.64776},{"y":24,"d":[[23,17,"t"]],"x":19,"t":1305094423.15171},{"y":24,"d":[[23,18,"r"]],"x":20,"t":1305094423.35171},{"y":24,"d":[[23,19,"e"]],"x":21,"t":1305094423.5359},{"y":24,"d":[[23,20,"e"]],"x":22,"t":1305094423.71986},{"y":24,"d":[[23,20," "]],"x":21,"t":1305094424.63191},{"y":24,"d":[[23,19," "]],"x":20,"t":1305094424.80759},{"y":24,"d":[[23,18," "]],"x":19,"t":1305094424.97573},{"y":24,"d":[[23,17," "]],"x":18,"t":1305094425.13547},{"y":24,"d":[[23,17,"f"]],"x":19,"t":1305094425.27991},{"y":24,"d":[[23,18,"i"]],"x":20,"t":1305094425.37586},{"y":24,"d":[[23,19,"l"]],"x":21,"t":1305094425.46373},{"y":24,"x":21,"t":1305094425.87349},{"y":24,"d":[[23,20,"e"]],"x":22,"t":1305094426.35966},{"y":24,"d":[[23,21,"s"]],"x":23,"t":1305094426.86365},{"y":24,"x":24,"t":1305094427.05559},{"y":24,"d":[[23,23,"-"]],"x":25,"t":1305094427.28775},{"y":24,"d":[[23,24,"s"]],"x":26,"t":1305094427.37546},{"y":25,"x":1,"t":1305094427.67976},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",14,13],["cp",15,14],["cp",0,15],["cp",13,16],["cp",14,17],["cp",19,18],["cp",0,19],["cp",13,20],["cp",22,21],["cp",23,22],[23,0,48,"100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0"],[23,56,66,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",11,10],["cp",0,11]],"B":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,7]],"t":1305094427.68754},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305094429.98362},{"y":25,"x":25,"t":1305094430.77561},{"y":25,"x":26,"t":1305094431.00858},{"y":25,"x":27,"t":1305094431.14369},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305094431.33565},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305094431.52757},{"y":25,"d":[[24,28,"d"]],"x":30,"t":1305094431.63965},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305094431.79136},{"d":[["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","bash-3.2$ git diff "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index fd3c069..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1,2 +1,3 @@ "],["r"," Hello. "],["r"," Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git checkout -- welcome.txt "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls --full-time .git/index "],["r","-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:19.000000000 +0800 .git/index "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls --full-time .git/index "],["r","-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:19.000000000 +0800 .git/index "],["r","bash-3.2$ touch welcome.txt "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls --full-time .git/index "],["r","-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:33.000000000 +0800 .git/index "],["r","bash-3.2$ git ls-files -s "],["r","100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0 welcome.txt "],["r","bash-3.2$ git ls-files -s --deb "]],"x":32,"B":[["a","0"],"d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094431.95125,"i":1},{"y":25,"d":[[24,31,"u"]],"x":33,"t":1305094432.03144},{"y":25,"d":[[24,32,"g"]],"x":34,"t":1305094432.15983},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",11,14],["cp",12,15],["cp",13,16],["cp",18,17],["cp",11,18],["cp",12,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",7,6],["cp",1,7],["cp",10,9],["cp",1,10]],"B":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",0,6]],"t":1305094432.47131},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",5,8],["cp",6,9],["cp",7,10],["cp",17,11],["cp",5,12],["cp",6,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],["cp",16,18],[19,0,34," ctime: 1305094411:0 "],[20,0,77," mtime: 1305094411:0 "],[21,0,34," dev: 234881027 ino: 497139"],[22,0,48," uid: 501 gid: 20 "],[22,56,66,["a"," "]],[23,0,32," size: 25 flags: b "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,0],["cp",9,3],["cp",1,6],["cp",1,9]],"B":[["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5]],"t":1305094432.47798},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094436.84021},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094436.92711},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094437.0233},{"y":25,"x":15,"t":1305094437.08699},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305094437.2633},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305094437.35109},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305094437.55127},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094437.76791},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305094437.95117},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305094438.08733},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305094438.26315},{"y":25,"x":23,"t":1305094438.44689},{"y":25,"d":[[24,22,"H"]],"x":24,"t":1305094438.76703},{"y":25,"d":[[24,23,"E"]],"x":25,"t":1305094438.85528},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305094439.02304},{"y":25,"d":[[24,25,"D"]],"x":27,"t":1305094439.143},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",5,8],["cp",6,9],["cp",11,10],["cp",4,11],["cp",5,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",15,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",0,3]],"t":1305094440.04679},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",4,7],["cp",5,8],["cp",10,9],["cp",3,10],["cp",4,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,56,66,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",0,2]],"t":1305094440.06077},{"y":25,"d":[["cp",22,24]],"x":27,"t":1305094440.93529},{"y":25,"x":28,"t":1305094441.08702},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305094441.351},{"y":25,"d":[[24,28,"l"]],"x":30,"t":1305094441.79884},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",3,6],["cp",4,7],["cp",9,8],["cp",2,9],["cp",3,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1]],"t":1305094442.1132},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",2,5],["cp",3,6],["cp",8,7],["cp",1,8],["cp",2,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",12,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,58,59,"25"],[23,64,74,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0]],"t":1305094442.11727},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094446.79054},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094446.85464},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094446.98281},{"y":25,"x":15,"t":1305094447.07086},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305094448.31914},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305094448.41477},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305094448.54271},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094448.67851},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305094448.76656},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305094448.85474},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",1,4],["cp",2,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094449.08666},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",0,3],["cp",6,4],["cp",1,5],["cp",2,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51,"# On branch master "],[22,58,59,["a"," "]],[22,64,74,["a"," "]],[23,0,42,"nothing to commit (working directory clean)"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305094449.09462},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305094450.8786},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305094451.08643},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305094451.15857},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305094451.27045},{"y":25,"x":16,"t":1305094451.39851},{"y":25,"d":[[24,15,"B"]],"x":17,"t":1305094452.26246},{"y":25,"d":[[24,16,"y"]],"x":18,"t":1305094452.43917},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305094452.51057},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305094452.71059},{"y":25,"d":[[24,19,"B"]],"x":21,"t":1305094453.03846},{"y":25,"d":[[24,20,"y"]],"x":22,"t":1305094453.20637},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305094453.31034},{"y":25,"d":[[24,22,"."]],"x":24,"t":1305094453.79057},{"y":25,"x":25,"t":1305094453.89447},{"y":25,"d":[[24,24,">"]],"x":26,"t":1305094454.19836},{"y":25,"d":[[24,25,">"]],"x":27,"t":1305094454.36656},{"y":25,"x":28,"t":1305094454.53461},{"y":25,"d":[[24,27,"w"]],"x":29,"t":1305094454.73426},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305094454.87841},{"y":25,"d":[[24,29,37,"lcome.txt"]],"x":40,"t":1305094455.11857},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094456.91045},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305094456.91082},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305094457.88641},{"y":25,"d":[[24,11,"k"]],"x":13,"t":1305094458.06207},{"y":25,"d":[[24,12,"d"]],"x":14,"t":1305094458.0701},{"y":25,"d":[[24,13,"i"]],"x":15,"t":1305094458.23011},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305094458.27023},{"y":25,"x":17,"t":1305094458.39022},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305094458.52606},{"y":25,"d":[[24,17,"p"]],"x":19,"t":1305094458.78201},{"y":25,"x":20,"t":1305094458.89435},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305094459.10219},{"y":25,"d":[[24,20,"/"]],"x":22,"t":1305094459.27005},{"y":25,"d":[[24,21,"b"]],"x":23,"t":1305094459.42206},{"y":25,"d":[[24,22,"/"]],"x":24,"t":1305094459.54211},{"y":25,"d":[[24,23,"c"]],"x":25,"t":1305094459.70207},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",7,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094459.97396},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305094459.97766},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305094461.07803},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305094461.26202},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305094461.33404},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305094461.40606},{"y":25,"x":16,"t":1305094461.51012},{"y":25,"d":[[24,15,"H"]],"x":17,"t":1305094461.7819},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305094461.90988},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305094462.03785},{"y":25,"d":[[24,18,"l"]],"x":20,"t":1305094462.19024},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305094462.36615},{"y":25,"d":[[24,20,"."]],"x":22,"t":1305094462.55},{"y":25,"x":23,"t":1305094462.75935},{"y":25,"d":[[24,22,">"]],"x":24,"t":1305094463.03801},{"y":25,"x":25,"t":1305094463.55801},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305094463.83788},{"y":25,"d":[[24,25,"/"]],"x":27,"t":1305094464.03814},{"y":25,"d":[[24,26,27,"b/"]],"x":29,"t":1305094464.23804},{"y":25,"d":[[24,28,29,"c/"]],"x":31,"t":1305094464.42206},{"y":25,"d":[[24,30,"h"]],"x":32,"t":1305094464.84575},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305094464.92578},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305094465.06985},{"d":[["r","bash-3.2$ ls --full-time .git/index "],["r","-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:19.000000000 +0800 .git/index "],["r","bash-3.2$ touch welcome.txt "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls --full-time .git/index "],["r","-rw-r--r-- 1 jiangxin staff 112 2011-05-11 14:13:33.000000000 +0800 .git/index "],["r","bash-3.2$ git ls-files -s "],["r","100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0 welcome.txt "],["r","bash-3.2$ git ls-files -s --debug "],["r","100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0 welcome.txt "],["r"," ctime: 1305094411:0 "],["r"," mtime: 1305094411:0 "],["r"," dev: 234881027 ino: 497139 "],["r"," uid: 501 gid: 20 "],["r"," size: 25 flags: b "],["r","bash-3.2$ git ls-tree HEAD "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 welcome.txt "],["r","bash-3.2$ git ls-tree HEAD -l "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 25 welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ echo Bye-Bye. >> welcome.txt "],["r","bash-3.2$ mkdir -p a/b/c "],["r","bash-3.2$ echo Hello. > a/b/c/hell "]],"x":35,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094465.22984,"i":1},{"y":25,"d":[[24,34,"o"]],"x":36,"t":1305094465.38984},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305094465.55786},{"y":25,"d":[[24,36,"t"]],"x":38,"t":1305094465.66199},{"y":25,"d":[[24,37,"x"]],"x":39,"t":1305094465.81377},{"y":25,"d":[[24,38,"t"]],"x":40,"t":1305094465.93372},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094466.27778},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305094466.2782},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094466.83784},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094466.93398},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094467.01398},{"y":25,"x":15,"t":1305094467.08576},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305094467.20592},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305094467.30187},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305094467.45367},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094467.83762},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305094467.95762},{"y":25,"d":[["cp",18,24]],"x":21,"t":1305094468.02959},{"y":25,"x":22,"t":1305094468.18173},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305094468.2618},{"y":25,"d":[["cp",2,24]],"x":24,"t":1305094468.38971},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",1,23],[24,["a"," "]]],"x":1,"t":1305094468.49361},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,38," M welcome.txt "],[23,0,22,"?? a/ "],[24,0,8,"bash-3.2$"]],"x":11,"f":[[22,1,"1"],[23,0,1,["a","1"]]],"t":1305094468.50336},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094468.91775},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094468.9975},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094469.10982},{"y":25,"x":15,"t":1305094469.14156},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305094469.30157},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305094469.4855},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305094469.65368},{"y":25,"x":19,"t":1305094469.74201},{"y":25,"d":[[24,18,"."]],"x":20,"t":1305094470.39754},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",22,21],["cp",23,22],["cp",0,23]],"t":1305094470.65348},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305094470.66171},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305094471.80559},{"y":25,"d":[["cp",20,24]],"x":11,"t":1305094471.98167},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,["a"," "]]],"x":1,"f":[["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305094472.83747},{"y":25,"d":[["cp",2,0],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",17,21],[22,0,18,"A a/b/c/hello.txt "],[23,0,22,"M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",20,18],["cp",21,19],["cp",0,20],["cp",0,21],[22,0,"2"],["cp",22,23]],"t":1305094472.84611},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305094475.14934},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305094475.34958},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305094475.44566},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305094475.54946},{"y":25,"x":16,"t":1305094475.6133},{"y":25,"d":[[24,15,"B"]],"x":17,"t":1305094475.79749},{"y":25,"d":[[24,16,"y"]],"x":18,"t":1305094475.94954},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305094476.02946},{"y":25,"d":[[24,18,"."]],"x":20,"t":1305094476.31866},{"y":25,"d":[[24,18," "]],"x":19,"t":1305094476.64526},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305094477.19732},{"y":25,"d":[[24,19,"B"]],"x":21,"t":1305094477.51727},{"y":25,"d":[[24,20,"y"]],"x":22,"t":1305094477.66914},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305094477.78926},{"y":25,"d":[[24,22,"."]],"x":24,"t":1305094477.97305},{"y":25,"x":25,"t":1305094478.24501},{"y":25,"d":[[24,24,">"]],"x":26,"t":1305094478.56533},{"y":25,"d":[[24,25,">"]],"x":27,"t":1305094478.75729},{"y":25,"x":28,"t":1305094479.03781},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305094479.22913},{"y":25,"d":[[24,28,"/"]],"x":30,"t":1305094479.44567},{"y":25,"d":[[24,29,30,"b/"]],"x":32,"t":1305094479.6533},{"y":25,"d":[[24,31,32,"c/"]],"x":34,"t":1305094479.8455},{"y":25,"d":[[24,33,41,"hello.txt"]],"x":44,"t":1305094480.04533},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",16,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",0,19],["cp",22,21],["cp",0,23]],"t":1305094480.60527},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305094480.60599},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094480.98909},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094481.07725},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094481.16502},{"y":25,"x":15,"t":1305094481.24515},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305094481.35707},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305094481.461},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305094481.57324},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094481.6771},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305094481.74927},{"y":25,"d":[["cp",10,24]],"x":21,"t":1305094481.82918},{"y":25,"x":22,"t":1305094481.99717},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305094482.08507},{"y":25,"d":[["cp",16,24]],"x":24,"t":1305094482.23706},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",15,23],[24,["a"," "]]],"x":1,"f":[["cp",17,16],["cp",18,17],["cp",0,18],["cp",21,20],["cp",0,22]],"t":1305094483.8929},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",13,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",13,21],[22,0,41,"AM a/b/c/hello.txt "],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",16,14],["cp",17,15],["cp",0,16],["cp",0,17],["cp",20,18],["cp",18,19],["cp",0,20],["cp",0,21],[22,0,1,"21"],["cp",18,23]],"t":1305094483.90178},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",12,20],["cp",22,21],["cp",18,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",0,15],["cp",18,17],["cp",0,19],["cp",22,21],["cp",17,22],["cp",0,23]],"t":1305094487.5888},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305094487.58893},{"y":25,"d":[[24,10,"f"]],"x":12,"t":1305094488.0373},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094488.10876},{"y":25,"d":[[24,12,"n"]],"x":14,"t":1305094488.2369},{"y":25,"d":[[24,13,"d"]],"x":15,"t":1305094488.46964},{"y":25,"x":16,"t":1305094488.6127},{"y":25,"d":[[24,15,"."]],"x":17,"t":1305094489.3409},{"y":25,"x":18,"t":1305094489.43676},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305094489.6541},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305094490.01263},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305094490.11671},{"y":25,"d":[[24,20,"h"]],"x":22,"t":1305094490.21293},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305094490.24462},{"y":25,"x":24,"t":1305094490.44482},{"y":25,"d":[[24,23,"."]],"x":25,"t":1305094490.58184},{"y":25,"d":[[24,23," "]],"x":24,"t":1305094490.91672},{"y":25,"x":23,"t":1305094491.06861},{"y":25,"d":[[24,21," "]],"x":22,"t":1305094491.23657},{"y":25,"d":[[24,20," "]],"x":21,"t":1305094491.39672},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305094491.52466},{"d":[["r"," uid: 501 gid: 20 "],["r"," size: 25 flags: b "],["r","bash-3.2$ git ls-tree HEAD "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 welcome.txt "],["r","bash-3.2$ git ls-tree HEAD -l "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 25 welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ echo Bye-Bye. >> welcome.txt "],["r","bash-3.2$ mkdir -p a/b/c "],["r","bash-3.2$ echo Hello. > a/b/c/hello.txt "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","?? a/ "],["r","bash-3.2$ git add . "],["r","bash-3.2$ git status -s "],["r","A a/b/c/hello.txt "],["r","M welcome.txt "],["r","bash-3.2$ echo Bye-Bye. >> a/b/c/hello.txt "],["r","bash-3.2$ git status -s "],["r","AM a/b/c/hello.txt "],["r","M welcome.txt "],["r","bash-3.2$ "],["r","bash-3.2$ find . -path "]],"x":23,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d",["r","21777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094491.60487,"i":1},{"y":25,"x":24,"t":1305094491.84465},{"y":25,"d":[[24,23,"."]],"x":25,"t":1305094492.04456},{"y":25,"d":[[24,24,"/"]],"x":26,"t":1305094492.26056},{"y":25,"d":[[24,25,"."]],"x":27,"t":1305094492.53256},{"y":25,"d":[[24,26,"g"]],"x":28,"t":1305094492.68473},{"y":25,"d":[[24,27,"i"]],"x":29,"t":1305094492.76482},{"y":25,"d":[[24,28,"t"]],"x":30,"t":1305094492.8607},{"y":25,"x":31,"t":1305094493.14836},{"y":25,"d":[[24,30,"-"]],"x":32,"t":1305094493.35675},{"y":25,"d":[[24,31,"p"]],"x":33,"t":1305094493.59648},{"y":25,"d":[[24,32,"r"]],"x":34,"t":1305094493.69253},{"y":25,"d":[[24,33,"u"]],"x":35,"t":1305094493.84465},{"y":25,"d":[[24,34,"n"]],"x":36,"t":1305094494.03669},{"y":25,"d":[[24,35,"e"]],"x":37,"t":1305094494.39664},{"y":25,"x":38,"t":1305094494.55649},{"y":25,"d":[[24,37,"-"]],"x":39,"t":1305094494.70853},{"y":25,"d":[[24,38,"o"]],"x":40,"t":1305094494.93285},{"y":25,"x":41,"t":1305094495.06845},{"y":25,"d":[[24,40,"-"]],"x":42,"t":1305094495.26043},{"y":25,"d":[[24,41,"t"]],"x":43,"t":1305094495.45238},{"y":25,"d":[[24,42,"y"]],"x":44,"t":1305094495.5324},{"y":25,"d":[[24,43,"p"]],"x":45,"t":1305094495.68453},{"y":25,"d":[[24,44,"e"]],"x":46,"t":1305094495.79659},{"y":25,"x":47,"t":1305094495.90063},{"y":25,"d":[[24,46,"f"]],"x":48,"t":1305094496.07752},{"y":25,"x":49,"t":1305094496.42839},{"y":25,"d":[[24,48,"-"]],"x":50,"t":1305094496.96452},{"y":25,"d":[[24,49,"p"]],"x":51,"t":1305094497.26854},{"y":25,"d":[[24,50,"r"]],"x":52,"t":1305094497.38044},{"y":25,"d":[[24,51,"i"]],"x":53,"t":1305094497.4765},{"y":25,"d":[[24,52,"n"]],"x":54,"t":1305094497.60452},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305094497.63688},{"y":25,"d":[[24,54,"f"]],"x":56,"t":1305094497.8368},{"y":25,"x":57,"t":1305094498.13233},{"y":25,"d":[[24,56,"\""]],"x":58,"t":1305094498.5083},{"y":25,"d":[[24,57,"^"]],"x":59,"t":1305094499.22839},{"y":25,"d":[[24,57," "]],"x":58,"t":1305094499.71627},{"y":25,"d":[[24,57,"%"]],"x":59,"t":1305094500.28425},{"y":25,"d":[[24,58,"-"]],"x":60,"t":1305094501.2367},{"y":25,"d":[[24,59,"2"]],"x":61,"t":1305094501.54012},{"y":25,"d":[[24,60,"0"]],"x":62,"t":1305094501.62828},{"y":25,"d":[[24,61,"p"]],"x":63,"t":1305094502.0362},{"y":25,"d":[[24,62,"\\"]],"x":64,"t":1305094503.74001},{"y":25,"d":[[24,63,"t"]],"x":65,"t":1305094503.9002},{"y":25,"d":[[24,64,"%"]],"x":66,"t":1305094504.81996},{"y":25,"d":[[24,65,"s"]],"x":67,"t":1305094505.04387},{"y":25,"d":[[24,66,"\\"]],"x":68,"t":1305094505.49182},{"y":25,"d":[[24,67,"n"]],"x":69,"t":1305094505.7479},{"y":25,"d":[[24,68,"\""]],"x":70,"t":1305094506.25192},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",11,19],["cp",21,20],["cp",17,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",14,13],["cp",0,14],["cp",17,16],["cp",0,18],["cp",21,20],["cp",16,21],["cp",0,22]],"t":1305094507.32403},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",9,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",9,17],["cp",20,18],["cp",15,19],["cp",22,20],["cp",23,21],[22,0,16,"./a/b/c/hello.txt"],[22,24,25,"16"],[23,0,68,"./welcome.txt 34 "],["cp",20,24]],"x":11,"f":[["cp",12,10],["cp",13,11],["cp",0,12],["cp",0,13],["cp",16,14],["cp",14,15],["cp",0,16],["cp",0,17],["cp",20,18],["cp",14,19],["cp",0,20],["cp",0,21]],"t":1305094507.33139},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094510.88395},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094510.95593},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094511.11569},{"y":25,"x":15,"t":1305094511.40388},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305094511.5877},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305094511.69166},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305094511.85179},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305094511.97955},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305094512.0839},{"y":25,"d":[[24,19,"l"]],"x":21,"t":1305094512.17175},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305094512.23566},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305094512.38783},{"y":25,"x":24,"t":1305094512.58782},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305094513.37173},{"y":25,"d":[[24,24,"s"]],"x":26,"t":1305094513.54767},{"y":25,"x":27,"t":1305094513.65175},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305094513.76375},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305094513.94764},{"y":25,"d":[[24,28,"d"]],"x":30,"t":1305094514.09136},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305094514.26786},{"y":25,"d":[[24,30,"b"]],"x":32,"t":1305094514.41961},{"y":25,"d":[[24,31,"u"]],"x":33,"t":1305094514.49969},{"y":25,"d":[[24,32,"g"]],"x":34,"t":1305094514.61984},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",8,16],["cp",18,17],["cp",14,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",10,9],["cp",11,10],["cp",0,11],["cp",14,13],["cp",0,15],["cp",18,17],["cp",13,18],["cp",0,19]],"t":1305094515.5798},{"y":25,"d":[["cp",8,0],["cp",13,1],["cp",14,2],["cp",15,3],["cp",0,4],["cp",17,5],["cp",2,6],["cp",19,7],["cp",20,8],["cp",21,9],["cp",22,10],["cp",23,11],[12,0,48,"100644 18832d35117ef2f013c4009f5b2128dfaeff354f 0"],[12,56,70,"a/b/c/hello.txt"],[13,0,20," ctime: 1305094466:0"],[14,0,20," mtime: 1305094466:0"],[15,0,41," dev: 234881027 ino: 497147 "],[16,0,22," uid: 501 gid: 20"],[17,0,23," size: 7 flags: f"],[18,0,48,"100644 51dbfd25a804c30e9d8dc441740452534de8264b 0"],[18,56,66,"welcome.txt"],[19,0,20," ctime: 1305094456:0"],[20,0,68," mtime: 1305094456:0 "],[21,0,16," dev: 234881027 "],[21,24,34,"ino: 497139"],["cp",16,22],[23,0,32," size: 34 flags: b "],["cp",7,24]],"x":11,"f":[["cp",13,1],["cp",1,2],["cp",17,5],["cp",1,6],["cp",0,9],["cp",0,10],["cp",0,13],["cp",0,14],["cp",0,17],["cp",0,18]],"t":1305094515.58734},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094521.11591},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094521.17125},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094521.29921},{"y":25,"x":15,"t":1305094521.36333},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305094521.54783},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305094521.6272},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305094521.94716},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094522.05915},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305094522.23558},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305094522.37931},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305094522.54743},{"y":25,"x":23,"t":1305094522.68323},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305094522.86734},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305094524.22724},{"y":25,"x":26,"t":1305094525.17919},{"y":25,"d":[[24,25,"H"]],"x":27,"t":1305094525.58704},{"y":25,"d":[[24,26,"E"]],"x":28,"t":1305094525.66729},{"y":25,"d":[[24,27,"A"]],"x":29,"t":1305094525.83523},{"y":25,"d":[[24,28,"D"]],"x":30,"t":1305094525.92298},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",15,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",5,4],["cp",0,5],["cp",2,6]],"t":1305094526.22727},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",14,20],["cp",22,21],["cp",23,22],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,58,59,"25"],[23,64,74,"welcome.txt"],["cp",5,24]],"x":11,"f":[["cp",2,1],["cp",4,3],["cp",0,4],["cp",1,5]],"t":1305094526.23835},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305094527.06709},{"y":25,"x":12,"t":1305094529.37898},{"d":[["r","M welcome.txt "],["r","bash-3.2$ echo Bye-Bye. >> a/b/c/hello.txt "],["r","bash-3.2$ git status -s "],["r","AM a/b/c/hello.txt "],["r","M welcome.txt "],["r","bash-3.2$ "],["r","bash-3.2$ find . -path ./.git -prune -o -type f -printf \"%-20p\\t%s\\n\" "],["r","./a/b/c/hello.txt 16 "],["r","./welcome.txt 34 "],["r","bash-3.2$ git ls-files -s --debug "],["r","100644 18832d35117ef2f013c4009f5b2128dfaeff354f 0 a/b/c/hello.txt "],["r"," ctime: 1305094466:0 "],["r"," mtime: 1305094466:0 "],["r"," dev: 234881027 ino: 497147 "],["r"," uid: 501 gid: 20 "],["r"," size: 7 flags: f "],["r","100644 51dbfd25a804c30e9d8dc441740452534de8264b 0 welcome.txt "],["r"," ctime: 1305094456:0 "],["r"," mtime: 1305094456:0 "],["r"," dev: 234881027 ino: 497139 "],["r"," uid: 501 gid: 20 "],["r"," size: 34 flags: b "],["r","bash-3.2$ git ls-tree -l HEAD "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 25 welcome.txt "],["r","bash-3.2$ git ls-tree -l HEAD "]],"x":13,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","21777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094529.87917,"i":1},{"y":25,"x":14,"t":1305094529.96271},{"y":25,"x":15,"t":1305094530.23499},{"y":25,"d":[[24,14,28,["a"," "]]],"x":14,"t":1305094530.61889},{"y":25,"x":15,"t":1305094530.75505},{"y":25,"d":[[24,14,"w"]],"x":16,"t":1305094531.01087},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305094531.25079},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305094531.33099},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094531.43497},{"y":25,"d":[[24,18,"e"]],"x":20,"t":1305094531.58695},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305094531.86668},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305094532.0027},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305094532.19468},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305094532.40272},{"y":25,"d":[[24,23,"e"]],"x":25,"t":1305094532.563},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",13,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",0,4]],"t":1305094533.88258},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",12,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,39,"9431f4a3f3e1504e03659406faa9529f83cd56f8"],["cp",3,24]],"x":11,"f":[["cp",2,1],["cp",3,2],["cp",0,3]],"t":1305094533.8896},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094534.85848},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094534.93079},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094535.02688},{"y":25,"x":15,"t":1305094535.11476},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305094535.36263},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305094535.45057},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305094535.63462},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305094535.78008},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305094535.93042},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305094536.09053},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305094536.25058},{"y":25,"x":23,"t":1305094536.9947},{"y":25,"d":[[24,22,"9"]],"x":24,"t":1305094538.25048},{"y":25,"d":[[24,23,"4"]],"x":25,"t":1305094538.62656},{"y":25,"d":[[24,24,"3"]],"x":26,"t":1305094539.73836},{"y":25,"d":[[24,25,"1"]],"x":27,"t":1305094540.34636},{"y":25,"d":[[24,26,"f"]],"x":28,"t":1305094540.90674},{"y":25,"d":[[24,27,"4"]],"x":29,"t":1305094541.73825},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305094541.97041},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2]],"t":1305094544.00217},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",9,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51,"040000 tree 53583ee687fbb2e913d18d508aefd512465b2092"],[22,56,"a"],[23,0,51,"100644 blob 51dbfd25a804c30e9d8dc441740452534de8264b"],[23,56,66,"welcome.txt"],["cp",0,24]],"x":11,"f":[["cp",2,0],["cp",0,1]],"t":1305094544.00952},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305094545.6263},{"y":25,"x":15,"t":1305094545.85024},{"y":25,"x":17,"t":1305094546.03414},{"y":25,"x":18,"t":1305094546.21027},{"y":25,"x":23,"t":1305094546.37818},{"y":25,"d":[[24,22,29,"-9431f4a"]],"x":24,"t":1305094547.02616},{"y":25,"d":[[24,23,30,"l9431f4a"]],"x":25,"t":1305094547.25803},{"y":25,"d":[[24,24,31,"r9431f4a"]],"x":26,"t":1305094547.83407},{"y":25,"d":[[24,25,32,"t9431f4a"]],"x":27,"t":1305094548.30602},{"y":25,"d":[[24,26,33," 9431f4a"]],"x":28,"t":1305094548.49796},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",8,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094549.29009},{"y":25,"d":[["cp",5,0],["cp",6,1],["cp",7,2],["cp",8,3],["cp",9,4],["cp",10,5],["cp",11,6],["cp",12,7],["cp",13,8],["cp",3,9],["cp",15,10],["cp",16,11],["cp",17,12],["cp",18,13],["cp",19,14],["cp",20,15],["cp",21,16],["cp",22,17],["cp",23,18],[19,0,51,"040000 tree 53583ee687fbb2e913d18d508aefd512465b2092"],[19,59,"-"],[19,64,"a"],[20,0,51,"040000 tree 514d729095b7bc203cf336723af710d41b84867b"],[20,59,"-"],[20,64,66,"a/b"],[21,12,50,"deaec688e84302d4a0b98a1b78a434be1b22ca0"],[21,56,59," -"],[21,64,68,"a/b/c"],[22,12,51,"18832d35117ef2f013c4009f5b2128dfaeff354f"],[22,56,78," 7 a/b/c/hello.txt"],[23,0,51,"100644 blob 51dbfd25a804c30e9d8dc441740452534de8264b"],[23,58,59,"34"],[23,64,74,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305094549.29719},{"y":25,"d":[["cp",18,24]],"x":11,"t":1305094556.89779},{"y":25,"d":[[24,10,33,"/ "]],"x":12,"t":1305094557.11389},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305094557.41752},{"y":25,"d":[[24,12,"s"]],"x":14,"t":1305094557.55359},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305094557.90558},{"y":25,"d":[[24,14,"f"]],"x":16,"t":1305094558.15378},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305094558.23355},{"y":25,"d":[[24,16,"l"]],"x":18,"t":1305094558.32155},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305094558.42565},{"y":25,"d":[[24,18,"s"]],"x":20,"t":1305094558.54572},{"y":25,"d":[[24,10,32,"git ls-files -s --debug"]],"x":11,"t":1305094558.66546},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094561.02553},{"y":25,"d":[["cp",12,0],["cp",13,1],["cp",14,2],["cp",15,3],["cp",16,4],["cp",17,5],["cp",18,6],["cp",19,7],["cp",20,8],["cp",21,9],["cp",22,10],["cp",23,11],[12,0,48,"100644 18832d35117ef2f013c4009f5b2128dfaeff354f 0"],[12,56,70,"a/b/c/hello.txt"],[13,0,39," ctime: 1305094466:0 "],[14,0,28," mtime: 1305094466:0 "],[15,0,51," dev: 234881027 ino: 497147 "],[15,56," "],[16,0,51," uid: 501 gid: 20 "],[16,56,66,["a"," "]],[17,0,33," size: 7 flags: f "],[18,0,51,"100644 51dbfd25a804c30e9d8dc441740452534de8264b 0 "],[18,56,66,"welcome.txt"],[19,0,51," ctime: 1305094456:0 "],[19,59," "],[19,64,66,["a"," "]],[20,0,51," mtime: 1305094456:0 "],[20,59," "],[20,64,68,["a"," "]],[21,0,51," dev: 234881027 ino: 497139 "],[21,59," "],[21,64,78,["a"," "]],["cp",16,22],[23,0,32," size: 34 flags: b "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305094561.03233},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094565.60909},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094565.68121},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094565.80122},{"y":25,"x":15,"t":1305094565.88115},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305094566.97725},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305094567.06516},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305094567.58519},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305094567.76126},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",15,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305094567.97706},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",8,14],["cp",22,15],["cp",23,16],[17,0,48,"diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt "],[17,56,66,["a"," "]],[18,0,28,"index 18832d3..e8577ea 100644"],[19,0,20,"--- a/a/b/c/hello.txt"],[20,0,34,"+++ b/a/b/c/hello.txt "],[21,0,22,"@@ -1 +1,2 @@ "],[22,1,9,"Hello. "],[22,16,23,["a"," "]],[23,0,17,"+Bye-Bye. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[[21,0,12,["a","6"]],[23,0,8,["a","2"]]],"B":[[17,0,45,["a","1"]],[18,0,28,["a","1"]],[19,0,20,["a","1"]],["cp",19,20]],"t":1305094567.98891},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094568.77717},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094568.8652},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094568.96936},{"y":25,"x":15,"t":1305094569.04909},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305094569.25714},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305094569.35292},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305094569.47971},{"y":25,"d":[["cp",16,24]],"x":19,"t":1305094569.6413},{"y":25,"x":20,"t":1305094569.75291},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305094570.23337},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305094570.43406},{"y":25,"d":[[24,21,"c"]],"x":23,"t":1305094570.56081},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305094570.68096},{"y":25,"d":[[24,23,"c"]],"x":25,"t":1305094570.82491},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305094570.95294},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305094571.03311},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305094571.1931},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",7,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",21,20],["cp",0,21],["cp",23,22],["cp",0,23]],"B":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,20]],"t":1305094573.26546},{"y":25,"d":[["cp",15,0],["cp",16,1],["cp",17,2],["cp",18,3],["cp",19,4],["cp",20,5],["cp",21,6],["cp",22,7],["cp",23,8],["cp",1,9],[10,0,20,"new file mode 100644 "],[11,0,21,"index 0000000..18832d3"],[12,0,15,"--- /dev/null "],[12,24,34,["a"," "]],["cp",4,13],[14,0,23,"@@ -0,0 +1 @@ "],[15,0,17,"+Hello. "],[16,13,45,"welcome.txt b/welcome.txt "],[17,6,21,"fd3c069..51dbfd2"],[18,6,20,"welcome.txt "],[19,6,20,"welcome.txt "],[20,5,14,",2 +1,3 @@"],[22,0,17," Nice to meet you."],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",20,5],["cp",22,7],["cp",5,14],[15,0,6,["a","2"]],[20,13,14,["a","6"]],["cp",0,22],["cp",7,23]],"B":[["cp",16,1],["cp",17,2],["cp",18,3],["cp",3,4],["cp",1,9],[10,0,19,["a","1"]],[11,0,21,["a","1"]],[12,0,12,["a","1"]],["cp",3,13],[16,38,45,["a","0"]],[18,17,20,["a","0"]],["cp",18,19]],"t":1305094573.2827},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305094575.64897},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305094575.72872},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305094575.86469},{"y":25,"x":15,"t":1305094575.90481},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305094576.09719},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305094576.16076},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305094576.29668},{"y":25,"d":[["cp",0,24]],"x":19,"t":1305094576.46479},{"d":[["r","bash-3.2$ git diff "],["r","diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt "],["r","index 18832d3..e8577ea 100644 "],["r","--- a/a/b/c/hello.txt "],["r","+++ b/a/b/c/hello.txt "],["r","@@ -1 +1,2 @@ "],["r"," Hello. "],["r","+Bye-Bye. "],["r","bash-3.2$ git diff --cached "],["r","diff --git a/a/b/c/hello.txt b/a/b/c/hello.txt "],["r","new file mode 100644 "],["r","index 0000000..18832d3 "],["r","--- /dev/null "],["r","+++ b/a/b/c/hello.txt "],["r","@@ -0,0 +1 @@ "],["r","+Hello. "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","index fd3c069..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1,2 +1,3 @@ "],["r"," Hello. "],["r"," Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git diff "]],"x":20,"B":[["a","0"],["r","11111111111111111111111111111111111111111111110000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111111100000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d",["r","11111111111111111111111111111111111111111111110000000000000000000000000000000000"],["r","11111111111111111111000000000000000000000000000000000000000000000000000000000000"],["r","11111111111111111111110000000000000000000000000000000000000000000000000000000000"],["r","11111111111110000000000000000000000000000000000000000000000000000000000000000000"],["r","11111111111111111111100000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["r","22222227777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094576.5849,"i":1},{"y":25,"d":[[24,19,"H"]],"x":21,"t":1305094577.04071},{"y":25,"d":[[24,20,"E"]],"x":22,"t":1305094577.09681},{"y":25,"d":[[24,21,"A"]],"x":23,"t":1305094577.2806},{"y":25,"d":[[24,22,"D"]],"x":24,"t":1305094577.40872},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",5,20],["cp",22,21],["cp",6,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",4,13],["cp",15,14],["cp",0,15],["cp",20,19],["cp",0,20],["cp",6,22],["cp",0,23]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",5,4],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",4,13],["cp",16,15],["cp",1,16],["cp",18,17],["cp",4,19]],"t":1305094578.64858},{"y":25,"d":[["cp",16,0],["cp",17,1],["cp",18,2],["cp",19,3],["cp",5,4],["cp",21,5],["cp",23,7],[10,15,21,"e8577ea"],[13,10,14,",2 @@"],["cp",6,15],[16,0,37,"diff --git a/welcome.txt b/welcome.txt"],["cp",0,17],["cp",1,18],["cp",2,19],["cp",3,20],["cp",4,21],["cp",5,22],["cp",6,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",19,3],["cp",0,4],["cp",3,13],["cp",6,15],["cp",0,19],["cp",3,20],["cp",0,22],["cp",6,23]],"B":[["cp",1,0],["cp",17,1],["cp",1,2],["cp",4,3],["cp",3,15],[16,29,37,["a","1"]],["cp",0,17],["cp",1,19]],"t":1305094578.66347},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",5,14],["cp",16,15],["cp",17,16],["cp",0,17],["cp",1,18],["cp",2,19],["cp",3,20],["cp",4,21],["cp",5,22],[23,0,13,"bash-3.2$ exit"],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",2,12],["cp",14,13],["cp",5,14],["cp",0,15],["cp",2,19],["cp",0,20],["cp",5,22],["cp",0,23]],"B":[["cp",1,0],["cp",3,2],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",16,15],["cp",17,16],["cp",0,17],["cp",2,19]],"t":1305094581.98502}]} \ No newline at end of file diff --git a/html/part2/ch05-03-git-stash.html b/html/part2/ch05-03-git-stash.html deleted file mode 100644 index 5ca6ebfab..000000000 --- a/html/part2/ch05-03-git-stash.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch05-03-git-stash -json_file: ch05-03-git-stash.json ---- diff --git a/html/part2/ch05-03-git-stash.json b/html/part2/ch05-03-git-stash.json deleted file mode 100644 index e0abf88c5..000000000 --- a/html/part2/ch05-03-git-stash.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305094970.6121,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305094971.05524},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305094971.20648},{"y":1,"x":14,"t":1305094971.28673},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305094971.36651},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305094971.55842},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305094971.65435},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305094971.73439},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305094971.76638},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305094971.94079},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305094972.12649},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305094972.21456},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305094972.33362},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305094972.69438},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305094972.96647},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305094973.0687},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305094973.32651},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305094973.41437},{"y":1,"d":[[0,27,34,"rkspace/"]],"x":36,"t":1305094973.55663},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305094973.94225},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305094974.10238},{"y":1,"d":[[0,37,39,"mo/"]],"x":41,"t":1305094974.30137},{"y":2,"x":1,"t":1305094974.7663},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305094974.76655},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305094976.03954},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305094976.11836},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305094976.20631},{"y":2,"x":15,"t":1305094976.29415},{"y":2,"d":[[1,14,"s"]],"x":16,"t":1305094976.4143},{"y":2,"d":[[1,15,"t"]],"x":17,"t":1305094976.53434},{"y":2,"d":[[1,16,"a"]],"x":18,"t":1305094976.63833},{"y":2,"d":[[1,17,"t"]],"x":19,"t":1305094976.75826},{"y":2,"d":[[1,18,"u"]],"x":20,"t":1305094976.83015},{"y":2,"d":[[1,19,"s"]],"x":21,"t":1305094976.91836},{"y":3,"x":1,"t":1305094977.08607},{"y":16,"d":[[2,0,17,"# On branch master"],[3,0,25,"# Changes to be committed:"],[4,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[5,0,"#"],[6,0,"#"],[6,8,34,"new file: a/b/c/hello.txt"],[7,0,"#"],[7,8,30,"modified: welcome.txt"],["cp",5,8],[9,0,31,"# Changes not staged for commit:"],[10,0,61,"# (use \"git add ...\" to update what will be committed)"],[11,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],["cp",5,12],[13,0,"#"],[13,8,34,"modified: a/b/c/hello.txt"],["cp",5,14],[15,0,8,"bash-3.2$"]],"x":11,"f":[[6,8,34,["a","2"]],[7,8,30,["a","2"]],[13,8,34,["a","1"]]],"t":1305094977.09564},{"y":16,"d":[[15,10,"g"]],"x":12,"t":1305094979.01413},{"y":16,"d":[[15,11,"i"]],"x":13,"t":1305094979.10204},{"y":16,"d":[[15,12,"t"]],"x":14,"t":1305094979.20617},{"y":16,"x":15,"t":1305094979.2782},{"y":16,"d":[[15,14,"s"]],"x":16,"t":1305094979.43811},{"y":16,"d":[[15,15,"t"]],"x":17,"t":1305094979.6302},{"y":16,"d":[[15,16,"a"]],"x":18,"t":1305094979.8142},{"y":16,"d":[[15,17,"s"]],"x":19,"t":1305094980.11801},{"y":16,"d":[[15,18,"h"]],"x":20,"t":1305094980.25386},{"y":17,"x":1,"t":1305094980.51815},{"y":19,"d":[[16,0,79,"Saved working directory and index state WIP on master: 0e3a4c9 which version che"],[17,0,7,"cked in?"]],"x":1,"t":1305094980.92693},{"y":20,"d":[[18,0,47,"HEAD is now at 0e3a4c9 which version checked in?"],[19,0,8,"bash-3.2$"]],"x":11,"t":1305094980.93704},{"y":20,"d":[[19,10,"g"]],"x":12,"t":1305094982.23844},{"y":20,"d":[[19,11,"i"]],"x":13,"t":1305094982.32608},{"y":20,"d":[[19,12,"t"]],"x":14,"t":1305094982.40616},{"y":20,"x":15,"t":1305094982.47795},{"y":20,"d":[[19,14,"s"]],"x":16,"t":1305094982.63791},{"y":20,"d":[[19,15,"t"]],"x":17,"t":1305094982.77412},{"y":20,"d":[[19,16,"a"]],"x":18,"t":1305094983.26204},{"y":20,"d":[[19,17,"t"]],"x":19,"t":1305094983.4859},{"y":20,"d":[[19,18,"u"]],"x":20,"t":1305094983.62206},{"y":20,"d":[["cp",1,19]],"x":21,"t":1305094983.70198},{"y":20,"x":22,"t":1305094984.11811},{"y":20,"d":[[19,21,"-"]],"x":23,"t":1305094984.20569},{"y":20,"d":[[19,22,"s"]],"x":24,"t":1305094984.31799},{"y":21,"x":1,"t":1305094984.41385},{"y":21,"d":[[20,0,8,"bash-3.2$"]],"x":11,"t":1305094984.42142},{"y":22,"d":[[20,10,13,"exit"]],"x":1,"t":1305094987.91786}]} \ No newline at end of file diff --git a/html/part2/ch06-01-git-objects.html b/html/part2/ch06-01-git-objects.html deleted file mode 100644 index 8500d377e..000000000 --- a/html/part2/ch06-01-git-objects.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch06-01-git-objects -json_file: ch06-01-git-objects.json ---- diff --git a/html/part2/ch06-01-git-objects.json b/html/part2/ch06-01-git-objects.json deleted file mode 100644 index 32e7b1643..000000000 --- a/html/part2/ch06-01-git-objects.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097221.75863,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305097222.43546},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305097222.60299},{"y":1,"x":14,"t":1305097222.65123},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305097222.75488},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305097222.97092},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305097223.03497},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305097223.57902},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305097223.80223},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305097224.36286},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305097224.49887},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305097224.58699},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305097224.73},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305097224.87479},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305097225.05141},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305097225.14516},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305097225.4427},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305097225.50695},{"y":1,"d":[[0,27,34,"rkspace/"]],"x":36,"t":1305097225.65732},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305097226.19483},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305097226.34697},{"y":1,"d":[[0,37,39,"mo/"]],"x":41,"t":1305097226.56148},{"y":2,"x":1,"t":1305097226.91491},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305097226.91514},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305097227.34665},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305097227.43486},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305097227.50677},{"y":2,"x":15,"t":1305097227.58677},{"y":2,"d":[[1,14,"s"]],"x":16,"t":1305097227.69079},{"y":2,"d":[[1,15,"t"]],"x":17,"t":1305097227.78672},{"y":2,"d":[[1,16,"a"]],"x":18,"t":1305097227.89873},{"y":2,"d":[[1,17,"t"]],"x":19,"t":1305097227.99471},{"y":2,"d":[[1,18,"u"]],"x":20,"t":1305097228.07505},{"y":2,"d":[[1,19,"s"]],"x":21,"t":1305097228.16298},{"y":2,"x":22,"t":1305097228.31465},{"y":2,"d":[[1,21,"-"]],"x":23,"t":1305097228.44292},{"y":2,"d":[[1,22,"s"]],"x":24,"t":1305097228.61878},{"y":3,"x":1,"t":1305097228.92281},{"y":3,"d":[[2,0,8,"bash-3.2$"]],"x":11,"t":1305097228.93105},{"y":3,"d":[[2,10,"g"]],"x":12,"t":1305097230.30682},{"y":3,"d":[[2,11,"i"]],"x":13,"t":1305097230.41084},{"y":3,"d":[[2,12,"t"]],"x":14,"t":1305097230.49055},{"y":3,"x":15,"t":1305097230.54704},{"y":3,"d":[[2,14,"l"]],"x":16,"t":1305097230.62673},{"y":3,"d":[[2,15,"o"]],"x":17,"t":1305097230.79483},{"y":3,"d":[[2,16,"g"]],"x":18,"t":1305097230.89054},{"y":3,"x":19,"t":1305097230.97057},{"y":3,"d":[[2,18,"-"]],"x":20,"t":1305097231.13068},{"y":3,"d":[[2,19,"1"]],"x":21,"t":1305097231.32259},{"y":3,"x":22,"t":1305097231.59478},{"y":3,"d":[[2,21,"-"]],"x":23,"t":1305097231.77851},{"y":3,"d":[[2,22,"-"]],"x":24,"t":1305097231.97055},{"y":3,"d":[[2,23,"p"]],"x":25,"t":1305097232.17834},{"y":3,"d":[[2,24,"r"]],"x":26,"t":1305097232.26668},{"y":3,"d":[[2,25,"e"]],"x":27,"t":1305097232.39469},{"y":3,"d":[[2,26,"t"]],"x":28,"t":1305097232.5305},{"y":3,"d":[[2,27,"t"]],"x":29,"t":1305097232.70659},{"y":3,"d":[[2,28,"y"]],"x":30,"t":1305097232.83463},{"y":3,"d":[[2,29,"="]],"x":31,"t":1305097233.12266},{"y":3,"d":[[2,30,"r"]],"x":32,"t":1305097233.41064},{"y":3,"d":[[2,31,"a"]],"x":33,"t":1305097233.57033},{"y":3,"d":[[2,32,"w"]],"x":34,"t":1305097233.77048},{"y":4,"x":1,"t":1305097234.27443},{"y":11,"d":[[3,0,46,"commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[4,0,44,"tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9"],[5,0,46,"parent 61b1516058bd2359f99437d28a6b9fd6e933b001"],[6,0,53,"author Jiang Xin 1305092115 +0800"],[7,0,56,"committer Jiang Xin 1305092115 +0800"],[9,4,28,"which version checked in?"],[10,0,8,"bash-3.2$"]],"x":11,"f":[[3,0,46,["a","3"]]],"t":1305097234.28606},{"y":11,"d":[[10,10,"g"]],"x":12,"t":1305097236.74647},{"y":11,"d":[[10,11,"i"]],"x":13,"t":1305097236.85021},{"y":11,"d":[[10,12,"t"]],"x":14,"t":1305097236.99448},{"y":11,"x":15,"t":1305097237.13048},{"y":11,"d":[[10,14,"c"]],"x":16,"t":1305097237.29041},{"y":11,"d":[[10,15,"a"]],"x":17,"t":1305097237.43442},{"y":11,"d":[[10,16,"t"]],"x":18,"t":1305097237.54629},{"y":11,"d":[[10,17,"-"]],"x":19,"t":1305097237.69052},{"y":11,"d":[[10,18,"f"]],"x":20,"t":1305097237.87443},{"y":11,"d":[[10,19,"i"]],"x":21,"t":1305097237.97827},{"y":11,"d":[[10,20,"l"]],"x":22,"t":1305097238.05837},{"y":11,"d":[[10,21,"e"]],"x":23,"t":1305097238.17022},{"y":11,"x":24,"t":1305097238.31442},{"y":11,"d":[[10,23,"-"]],"x":25,"t":1305097238.57025},{"y":11,"d":[[10,24,"t"]],"x":26,"t":1305097239.18637},{"y":11,"x":27,"t":1305097240.05831},{"y":11,"d":[[10,26,"0"]],"x":28,"t":1305097240.61016},{"y":11,"d":[[10,27,"e"]],"x":29,"t":1305097241.0581},{"y":11,"d":[[10,28,"3"]],"x":30,"t":1305097241.6421},{"y":11,"d":[[10,29,"a"]],"x":31,"t":1305097242.13804},{"y":12,"x":1,"t":1305097242.71413},{"y":13,"d":[[11,0,5,"commit"],[12,0,8,"bash-3.2$"]],"x":11,"t":1305097242.72144},{"y":13,"d":[["cp",10,12]],"x":11,"t":1305097243.68997},{"y":13,"x":15,"t":1305097243.93002},{"y":13,"x":18,"t":1305097244.10643},{"y":13,"x":19,"t":1305097244.30605},{"y":13,"x":24,"t":1305097244.47408},{"y":13,"x":25,"t":1305097244.65012},{"y":13,"x":27,"t":1305097244.81792},{"y":13,"d":[[12,26,29,["a"," "]]],"x":26,"t":1305097245.19402},{"y":13,"x":27,"t":1305097245.46623},{"y":13,"d":[[12,26,"f"]],"x":28,"t":1305097246.25784},{"y":13,"d":[[12,27,"4"]],"x":29,"t":1305097247.18588},{"y":13,"d":[[12,27," "]],"x":28,"t":1305097247.61781},{"y":13,"d":[[12,27,"5"]],"x":29,"t":1305097247.76999},{"y":13,"d":[[12,28,"8"]],"x":30,"t":1305097247.88188},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ git log -1 --pretty=raw "],["r","commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r"," which version checked in? "],["r","bash-3.2$ git cat-file -t 0e3a "],["r","commit "],["r","bash-3.2$ git cat-file -t f58d "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d"],"x":31,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":13,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097248.84178,"i":1},{"y":14,"x":1,"t":1305097249.12174},{"y":15,"d":[[13,0,3,"tree"],[14,0,8,"bash-3.2$"]],"x":11,"t":1305097249.1321},{"y":15,"d":[["cp",12,14]],"x":11,"t":1305097249.97782},{"y":15,"x":15,"t":1305097250.3458},{"y":15,"x":18,"t":1305097250.84589},{"y":15,"x":19,"t":1305097250.92953},{"y":15,"x":24,"t":1305097251.01295},{"y":15,"x":25,"t":1305097251.09647},{"y":15,"x":26,"t":1305097251.44969},{"y":15,"x":27,"t":1305097251.63352},{"y":15,"d":[[14,26,29,["a"," "]]],"x":26,"t":1305097251.84168},{"y":15,"x":27,"t":1305097252.05077},{"y":15,"d":[[14,26,"6"]],"x":28,"t":1305097252.96161},{"y":15,"d":[[14,27,"1"]],"x":29,"t":1305097253.33776},{"y":15,"d":[[14,28,"b"]],"x":30,"t":1305097253.92157},{"y":15,"d":[[14,29,"1"]],"x":31,"t":1305097254.20162},{"y":16,"x":1,"t":1305097254.65775},{"y":17,"d":[["cp",11,15],[16,0,8,"bash-3.2$"]],"x":11,"t":1305097254.67296},{"y":17,"d":[["cp",14,16]],"x":11,"t":1305097256.72156},{"y":17,"x":15,"t":1305097257.106},{"y":17,"x":18,"t":1305097257.28127},{"y":17,"x":19,"t":1305097257.43355},{"y":17,"x":24,"t":1305097257.60136},{"y":17,"x":25,"t":1305097257.76173},{"y":17,"d":[[16,24,"p"]],"x":25,"t":1305097258.18538},{"y":18,"x":1,"t":1305097258.40137},{"y":24,"d":[[17,0,44,"tree 190d840dd3d8fa319bdec6b8112b0957be7ee769"],[18,0,46,"parent 38690158d57ea02061e42ab88101ed3517a4292f"],[19,0,53,"author Jiang Xin 1305084824 +0800"],[20,0,56,"committer Jiang Xin 1305084824 +0800"],[22,0,15,"who does commit?"],[23,0,8,"bash-3.2$"]],"x":11,"t":1305097258.40888},{"y":24,"d":[["cp",16,23]],"x":11,"t":1305097258.98563},{"y":24,"d":[["cp",14,23]],"x":11,"t":1305097259.14542},{"y":24,"d":[["cp",12,23]],"x":11,"t":1305097259.28152},{"y":24,"d":[["cp",10,23]],"x":11,"t":1305097259.44189},{"y":24,"x":15,"t":1305097259.96932},{"y":24,"x":18,"t":1305097260.13738},{"y":24,"x":19,"t":1305097260.30528},{"y":24,"x":24,"t":1305097260.47348},{"y":24,"x":25,"t":1305097260.63348},{"y":24,"d":[[23,24,"p"]],"x":25,"t":1305097261.07321},{"y":25,"x":1,"t":1305097261.2734},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",5,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",2,15],["cp",22,16],["cp",23,17],[18,0,46,"tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],[19,0,53,"parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["cp",0,20],["cp",1,21],["cp",2,22],[23,0,29,"which version checked in? "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,3]],"t":1305097261.2818},{"y":25,"d":[["cp",17,24]],"x":11,"t":1305097262.44159},{"y":25,"d":[["cp",10,24]],"x":11,"t":1305097262.84121},{"y":25,"d":[["cp",8,24]],"x":11,"t":1305097263.52955},{"y":25,"d":[["cp",6,24]],"x":11,"t":1305097263.92946},{"y":25,"x":15,"t":1305097264.28132},{"y":25,"x":18,"t":1305097264.44133},{"y":25,"x":19,"t":1305097264.60915},{"y":25,"x":24,"t":1305097264.78634},{"y":25,"x":25,"t":1305097264.94511},{"y":25,"x":27,"t":1305097265.12925},{"y":25,"x":26,"t":1305097265.57716},{"y":25,"x":25,"t":1305097266.609},{"y":25,"d":[[24,24,"p"]],"x":25,"t":1305097267.0972},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",4,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",1,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"t":1305097267.30502},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",22,21],["cp",23,22],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,56,66,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305097267.31153},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097269.52109},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097269.60098},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097269.71338},{"y":25,"x":15,"t":1305097269.79286},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305097270.09693},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305097270.26487},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305097270.34488},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305097270.50489},{"y":25,"d":[[24,18,"f"]],"x":20,"t":1305097270.64902},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305097270.73694},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305097270.83308},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305097270.91299},{"y":25,"x":24,"t":1305097271.00087},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305097271.17694},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305097272.13711},{"y":25,"x":27,"t":1305097272.33686},{"y":25,"d":[[24,26,"f"]],"x":28,"t":1305097272.76072},{"y":25,"d":[[24,27,"d"]],"x":29,"t":1305097272.96876},{"y":25,"d":[[24,28,"3"]],"x":30,"t":1305097273.6888},{"y":25,"d":[[24,29,"c"]],"x":31,"t":1305097273.9448},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",12,24]],"x":1,"t":1305097274.28858},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,1,29,"lob "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305097274.29514},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097275.06475},{"y":25,"x":15,"t":1305097275.24886},{"y":25,"x":18,"t":1305097275.40877},{"y":25,"x":19,"t":1305097275.58484},{"y":25,"x":24,"t":1305097275.75318},{"y":25,"x":25,"t":1305097275.91248},{"y":25,"d":[[24,24,"p"]],"x":25,"t":1305097276.48052},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",10,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",10,24]],"x":1,"t":1305097277.1769},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",8,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,5,"Hello."],[23,0,29,"Nice to meet you. "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305097277.18404},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",7,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"t":1305097279.15266},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305097279.15279},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305097279.44051},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305097279.51275},{"y":25,"x":14,"t":1305097279.60853},{"y":25,"d":[[24,13,"."]],"x":15,"t":1305097279.73684},{"y":25,"d":[[24,14,"g"]],"x":16,"t":1305097279.86449},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305097279.96028},{"y":25,"d":[[24,16,17,"t/"]],"x":19,"t":1305097280.13681},{"y":25,"d":[[24,18,"b"]],"x":20,"t":1305097280.75249},{"y":25,"d":[[24,18," "]],"x":19,"t":1305097281.19247},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305097281.37643},{"y":25,"d":[[24,19,"b"]],"x":21,"t":1305097281.48841},{"y":25,"d":[[24,20,25,"jects/"]],"x":27,"t":1305097281.74861},{"d":[["r","commit "],["r","bash-3.2$ git cat-file -p 61b1 "],["r","tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],["r","parent 38690158d57ea02061e42ab88101ed3517a4292f "],["r","author Jiang Xin 1305084824 +0800 "],["r","committer Jiang Xin 1305084824 +0800 "],["a"," "],["r","who does commit? "],["r","bash-3.2$ git cat-file -p 0e3a "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file -p f58d "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 welcome.txt "],["r","bash-3.2$ git cat-file -t fd3c "],["r","blob "],["r","bash-3.2$ git cat-file -p fd3c "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ "],["r","bash-3.2$ ls .git/objects/ "],["a"," "]],"x":1,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097282.1766,"i":1},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",4,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,47,"0e 19 38 51 61 93 a1 c6 d9 e8 f7 info"],[23,0,47,"18 34 4a 53 8d 94 be ca de f5 fd pack"],["cp",20,24]],"x":11,"t":1305097282.18314},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305097282.73629},{"y":25,"x":14,"t":1305097282.9445},{"y":25,"x":15,"t":1305097283.12827},{"y":25,"x":14,"t":1305097283.49638},{"y":25,"d":[[24,13,26,"-.git/objects/"]],"x":15,"t":1305097283.92858},{"y":25,"d":[[24,14,27,"F.git/objects/"]],"x":16,"t":1305097284.1765},{"y":25,"d":[[24,15,28," .git/objects/"]],"x":17,"t":1305097284.28048},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"t":1305097284.46471},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",1,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,59,"0e/ 19/ 38/ 51/ 61/ 93/ a1/ c6/ d9/ e8/ f7/ info/"],[23,0,59,"18/ 34/ 4a/ 53/ 8d/ 94/ be/ ca/ de/ f5/ fd/ pack/"],["cp",17,24]],"x":11,"t":1305097284.47051},{"y":25,"d":[[24,10,"f"]],"x":12,"t":1305097286.47212},{"y":25,"d":[[24,11,"o"]],"x":13,"t":1305097286.53627},{"y":25,"d":[[24,12,"r"]],"x":14,"t":1305097286.6562},{"y":25,"x":15,"t":1305097286.76807},{"y":25,"d":[[24,14,"i"]],"x":16,"t":1305097286.92825},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305097287.06425},{"y":25,"x":18,"t":1305097287.45625},{"y":25,"d":[[24,17,"i"]],"x":19,"t":1305097287.62437},{"y":25,"d":[[24,18,"n"]],"x":20,"t":1305097287.81634},{"y":25,"x":21,"t":1305097288.01625},{"y":25,"d":[[24,20,"0"]],"x":22,"t":1305097289.55224},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305097290.14466},{"y":25,"d":[[24,22,"3"]],"x":24,"t":1305097290.40795},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305097290.66438},{"y":25,"x":26,"t":1305097290.93613},{"y":25,"d":[[24,25,"f"]],"x":27,"t":1305097291.47229},{"y":25,"d":[[24,26,"5"]],"x":28,"t":1305097291.8162},{"y":25,"d":[[24,27,"8"]],"x":29,"t":1305097292.2402},{"y":25,"d":[[24,28,"d"]],"x":30,"t":1305097292.52805},{"y":25,"x":31,"t":1305097293.96796},{"y":25,"d":[[24,30,"6"]],"x":32,"t":1305097294.92787},{"y":25,"d":[[24,31,"1"]],"x":33,"t":1305097295.21576},{"y":25,"d":[[24,32,"b"]],"x":34,"t":1305097295.74382},{"y":25,"d":[[24,33,"1"]],"x":35,"t":1305097296.01579},{"y":25,"x":36,"t":1305097296.43198},{"y":25,"d":[[24,35,"f"]],"x":37,"t":1305097297.20803},{"y":25,"d":[[24,36,"d"]],"x":38,"t":1305097297.4078},{"y":25,"d":[[24,37,"3"]],"x":39,"t":1305097297.92777},{"y":25,"d":[[24,38,"c"]],"x":40,"t":1305097298.17581},{"y":25,"x":41,"t":1305097299.06394},{"y":25,"x":40,"t":1305097299.46377},{"y":25,"d":[[24,39,";"]],"x":41,"t":1305097299.73585},{"y":25,"x":42,"t":1305097299.86391},{"y":25,"d":[[24,41,"d"]],"x":43,"t":1305097300.52819},{"y":25,"d":[[24,42,"o"]],"x":44,"t":1305097300.59967},{"y":25,"x":45,"t":1305097300.75153},{"y":25,"d":[[24,44,"l"]],"x":46,"t":1305097301.50366},{"y":25,"d":[[24,45,"s"]],"x":47,"t":1305097301.58369},{"y":25,"x":48,"t":1305097301.67181},{"y":25,"d":[[24,47,"-"]],"x":49,"t":1305097301.97549},{"y":25,"d":[[24,48,"l"]],"x":50,"t":1305097302.5115},{"y":25,"x":51,"t":1305097302.6635},{"y":25,"d":[[24,50,"."]],"x":52,"t":1305097303.0001},{"y":25,"d":[[24,51,"g"]],"x":53,"t":1305097303.12748},{"y":25,"d":[[24,52,"i"]],"x":54,"t":1305097303.28749},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305097303.44779},{"y":25,"d":[[24,53," "]],"x":54,"t":1305097303.78338},{"y":25,"d":[[24,52," "]],"x":53,"t":1305097304.28349},{"y":25,"d":[[24,51," "]],"x":52,"t":1305097304.36694},{"y":25,"d":[[24,50," "]],"x":51,"t":1305097304.45033},{"y":25,"x":50,"t":1305097304.53373},{"y":25,"d":[[24,48," "]],"x":49,"t":1305097304.61706},{"y":25,"d":[[24,47," "]],"x":48,"t":1305097304.70048},{"y":25,"x":47,"t":1305097304.90346},{"y":25,"d":[[24,46,"."]],"x":48,"t":1305097305.17533},{"y":25,"d":[[24,46," "]],"x":47,"t":1305097305.55146},{"y":25,"x":48,"t":1305097305.67154},{"y":25,"d":[[24,47,"."]],"x":49,"t":1305097305.82321},{"y":25,"d":[[24,48,"g"]],"x":50,"t":1305097305.95944},{"y":25,"d":[[24,49,"i"]],"x":51,"t":1305097306.02367},{"y":25,"d":[[24,50,51,"t/"]],"x":53,"t":1305097306.19654},{"y":25,"d":[[24,52,"o"]],"x":54,"t":1305097306.6637},{"y":25,"d":[[24,53,"b"]],"x":55,"t":1305097306.75951},{"y":25,"d":[[24,54,"j"]],"x":56,"t":1305097306.84736},{"y":25,"d":[[24,55,59,"ects/"]],"x":61,"t":1305097307.02907},{"y":25,"d":[[24,60,"$"]],"x":62,"t":1305097308.1115},{"y":25,"d":[[24,61,"{"]],"x":63,"t":1305097309.07953},{"y":25,"d":[[24,62,"i"]],"x":64,"t":1305097309.37539},{"y":25,"d":[[24,63,"d"]],"x":65,"t":1305097309.46342},{"y":25,"d":[[24,64,":"]],"x":66,"t":1305097309.97534},{"y":25,"d":[[24,65,"0"]],"x":67,"t":1305097310.65538},{"y":25,"d":[[24,66,":"]],"x":68,"t":1305097311.11242},{"y":25,"d":[[24,67,"2"]],"x":69,"t":1305097311.33512},{"y":25,"d":[[24,68,"}"]],"x":70,"t":1305097312.35132},{"y":25,"d":[[24,69,"\\"]],"x":71,"t":1305097312.73521},{"y":25,"d":[[24,69," "]],"x":70,"t":1305097313.11127},{"y":25,"d":[[24,69,"/"]],"x":71,"t":1305097313.39915},{"y":25,"d":[[24,70,"#"]],"x":72,"t":1305097314.20705},{"y":25,"d":[[24,71,"$"]],"x":73,"t":1305097314.22325},{"y":25,"d":[[24,71," "]],"x":72,"t":1305097315.09503},{"y":25,"d":[[24,70," "]],"x":71,"t":1305097315.287},{"y":25,"d":[[24,70,"#"]],"x":72,"t":1305097315.55933},{"y":25,"d":[[24,70," "]],"x":71,"t":1305097316.17494},{"y":25,"d":[[24,70,"$"]],"x":72,"t":1305097316.55923},{"y":25,"d":[[24,71,"{"]],"x":73,"t":1305097317.71099},{"y":25,"d":[[24,72,"i"]],"x":74,"t":1305097318.08706},{"y":25,"d":[[24,73,"d"]],"x":75,"t":1305097318.18282},{"y":25,"d":[[24,74,":"]],"x":76,"t":1305097318.57501},{"y":25,"d":[[24,75,"2"]],"x":77,"t":1305097318.73482},{"d":[["r","committer Jiang Xin 1305084824 +0800 "],["a"," "],["r","who does commit? "],["r","bash-3.2$ git cat-file -p 0e3a "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file -p f58d "],["r","100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42 welcome.txt "],["r","bash-3.2$ git cat-file -t fd3c "],["r","blob "],["r","bash-3.2$ git cat-file -p fd3c "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ "],["r","bash-3.2$ ls .git/objects/ "],["r","0e 19 38 51 61 93 a1 c6 d9 e8 f7 info "],["r","18 34 4a 53 8d 94 be ca de f5 fd pack "],["r","bash-3.2$ ls -F .git/objects/ "],["r","0e/ 19/ 38/ 51/ 61/ 93/ a1/ c6/ d9/ e8/ f7/ info/ "],["r","18/ 34/ 4a/ 53/ 8d/ 94/ be/ ca/ de/ f5/ fd/ pack/ "],["r","bash-3.2$ for id in 0e3a f58d 61b1 fd3c; do ls .git/objects/${id:0:2}/${id:2} "]],"x":78,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097319.51111,"i":1},{"y":25,"d":[[24,77,"*"]],"x":1,"t":1305097320.17497},{"y":25,"d":[[24,0,";"]],"x":2,"t":1305097320.68691},{"y":25,"d":[[24,1," "]],"x":3,"t":1305097320.89514},{"y":25,"d":[[24,2,"d"]],"x":4,"t":1305097321.13492},{"y":25,"d":[[24,3,"o"]],"x":5,"t":1305097321.18292},{"y":25,"d":[[24,4,"n"]],"x":6,"t":1305097321.30277},{"y":25,"d":[[24,5,"e"]],"x":7,"t":1305097321.3909},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305097322.13488},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,53,".git/objects/0e/3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[21,0,59,".git/objects/f5/8da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],[22,0,59,".git/objects/61/b1516058bd2359f99437d28a6b9fd6e933b001 "],[23,0,77,".git/objects/fd/3c069c1de4f4bc9b15940f490aeb48852f3c42 "],["cp",12,24]],"x":11,"t":1305097322.16976},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097326.43857},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097326.50261},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097326.64655},{"y":25,"x":15,"t":1305097326.7425},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305097326.90259},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305097327.07841},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305097327.21484},{"y":25,"x":19,"t":1305097327.29453},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305097327.59047},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305097327.77464},{"y":25,"d":[[24,20,"p"]],"x":22,"t":1305097328.01455},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305097328.12639},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305097328.27056},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305097328.46293},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305097328.63862},{"y":25,"d":[[24,25,"y"]],"x":27,"t":1305097328.74246},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305097329.65434},{"y":25,"d":[[24,27,"r"]],"x":29,"t":1305097329.92634},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305097330.14245},{"y":25,"d":[[24,29,"w"]],"x":31,"t":1305097330.45472},{"y":25,"x":32,"t":1305097331.24644},{"y":25,"d":[[24,31,"-"]],"x":33,"t":1305097331.47055},{"y":25,"d":[[24,32,"-"]],"x":34,"t":1305097331.64672},{"y":25,"d":[[24,33,"g"]],"x":35,"t":1305097331.69465},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305097331.8704},{"y":25,"d":[[24,35,"a"]],"x":37,"t":1305097331.99826},{"y":25,"d":[[24,36,"p"]],"x":38,"t":1305097332.11035},{"y":25,"d":[[24,37,"h"]],"x":39,"t":1305097332.39029},{"y":25,"x":40,"t":1305097332.88617},{"y":25,"d":[[24,39,"0"]],"x":41,"t":1305097333.87815},{"y":25,"d":[[24,40,"e"]],"x":42,"t":1305097333.98231},{"y":25,"d":[[24,41,"3"]],"x":43,"t":1305097335.19016},{"y":25,"d":[[24,42,"a"]],"x":44,"t":1305097335.43809},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"t":1305097336.40599},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,42,"fatal: unrecognized argument: --pretty-raw "],["cp",10,24]],"x":11,"t":1305097336.41398},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097337.68628},{"y":25,"x":15,"t":1305097337.91818},{"y":25,"x":19,"t":1305097338.11793},{"y":25,"x":21,"t":1305097338.29394},{"y":25,"x":22,"t":1305097338.6539},{"y":25,"x":23,"t":1305097338.83348},{"y":25,"x":24,"t":1305097338.99784},{"y":25,"x":25,"t":1305097339.16593},{"y":25,"x":26,"t":1305097339.33387},{"y":25,"x":27,"t":1305097339.49459},{"y":25,"d":[[24,26,"="]],"x":27,"t":1305097339.89422},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305097340.28585},{"y":25,"d":[["cp",22,0],["cp",23,1],[2,0,48,"* commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[3,0,51,"| tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],[3,56,66,["a"," "]],[4,0,48,"| parent 61b1516058bd2359f99437d28a6b9fd6e933b001"],[5,0,55,"| author Jiang Xin 1305092115 +0800"],[6,0,58,"| committer Jiang Xin 1305092115 +0800"],[7,0,5,"| "],[8,0,30,"| which version checked in?"],["cp",7,9],[10,0,48,"* commit 61b1516058bd2359f99437d28a6b9fd6e933b001"],[11,0,47,"| tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],[12,0,48,"| parent 38690158d57ea02061e42ab88101ed3517a4292f"],[13,0,55,"| author Jiang Xin 1305084824 +0800"],[14,0,59,"| committer Jiang Xin 1305084824 +0800 "],["cp",7,15],[16,0,77,"| who does commit? "],["cp",7,17],[18,0,53,"* commit 38690158d57ea02061e42ab88101ed3517a4292f "],[19,0,53," tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],[20,0,55," author Jiang Xin 1305083008 +0800"],[21,0,58," committer Jiang Xin 1305083008 +0800"],["cp",24,22],[23,0,42," intialized. "],[24,0,":"]],"x":2,"f":[[2,2,48,["a","3"]],[3,0,"1"],["cp",3,4],["cp",3,5],["cp",3,6],["cp",3,7],["cp",3,8],["cp",3,9],["cp",2,10],["cp",3,11],["cp",3,12],["cp",3,13],["cp",3,14],["cp",3,15],["cp",3,16],["cp",3,17],["cp",2,18]],"t":1305097340.29703},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[[24,0,4,"(END)"]],"x":7,"f":[[24,0,5,["a","0"]]],"t":1305097345.758},{"y":25,"b":[["cp",0,24]],"d":[["cp",22,24]],"x":1,"f":[["cp",0,24]],"t":1305097347.34953},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305097347.35116},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097348.13373},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097348.22966},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097348.35801},{"y":25,"x":15,"t":1305097348.42167},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305097348.64553},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305097348.82182},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305097348.95768},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305097349.12588},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305097349.30954},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305097349.42946},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",6,14],["cp",16,15],["cp",6,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",21,24]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",1,9],["cp",2,10],["cp",1,17],["cp",0,18]],"t":1305097349.6853},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",5,13],["cp",15,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,19,"* master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",0,8],["cp",1,9],["cp",0,16],["cp",18,17],[23,2,7,["a","2"]]],"t":1305097349.69284},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097350.19743},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097350.26956},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097350.35754},{"y":25,"x":15,"t":1305097350.42168},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305097350.58161},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305097350.74992},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305097350.9494},{"y":25,"d":[[24,17,"u"]],"x":19,"t":1305097351.08573},{"y":25,"d":[[24,17," "]],"x":18,"t":1305097351.38943},{"y":25,"d":[[24,16," "]],"x":17,"t":1305097351.56544},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305097351.66951},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305097351.82151},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305097351.91759},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305097352.02172},{"y":25,"x":22,"t":1305097352.19857},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305097352.30949},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305097352.50161},{"y":25,"x":25,"t":1305097352.75725},{"y":25,"d":[[24,24,"-"]],"x":26,"t":1305097353.07744},{"y":25,"d":[[24,25,"b"]],"x":27,"t":1305097353.22933},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",4,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",19,24]],"x":1,"f":[["cp",1,0],["cp",8,7],["cp",0,8],["cp",7,15],["cp",17,16],["cp",23,22],["cp",16,23]],"t":1305097354.36555},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",3,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,25,"## master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",7,6],["cp",0,7],["cp",6,14],["cp",16,15],["cp",22,21],["cp",15,22],[23,3,8,["a","2"]]],"t":1305097354.37372},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097354.77325},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097354.82946},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097354.9573},{"y":25,"x":15,"t":1305097355.01327},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305097355.15738},{"d":[["r","| parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","| author Jiang Xin 1305092115 +0800 "],["r","| committer Jiang Xin 1305092115 +0800 "],["r","| "],["r","| which version checked in? "],["r","| "],["r","* commit 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","| tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],["r","| parent 38690158d57ea02061e42ab88101ed3517a4292f "],["r","| author Jiang Xin 1305084824 +0800 "],["r","| committer Jiang Xin 1305084824 +0800 "],["r","| "],["r","| who does commit? "],["r","| "],["r","* commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r"," tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],["r"," author Jiang Xin 1305083008 +0800 "],["r"," committer Jiang Xin 1305083008 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git branch "],["r","* master "],["r","bash-3.2$ git status -s -b "],["r","## master "],["r","bash-3.2$ git lo "]],"x":17,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","17777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d",["r","77333333333333333333333333333333333333333333333337777777777777777777777777777777"],["r","17777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d","d",["r","77333333333333333333333333333333333333333333333337777777777777777777777777777777"],["a","7"],"d","d","d","d","d",["r","77222222777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","77722222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097355.31814,"i":1},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305097355.42128},{"y":25,"x":19,"t":1305097355.52526},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305097355.63722},{"y":25,"d":[[24,19,"1"]],"x":21,"t":1305097355.85323},{"y":25,"x":22,"t":1305097356.07744},{"y":25,"d":[[24,21,"H"]],"x":23,"t":1305097357.74145},{"y":25,"d":[[24,22,"E"]],"x":24,"t":1305097357.82915},{"y":25,"d":[[24,23,"A"]],"x":25,"t":1305097358.01342},{"y":25,"d":[[24,24,"D"]],"x":26,"t":1305097358.14926},{"y":25,"x":27,"t":1305097359.78143},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305097360.06922},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305097360.26896},{"y":25,"d":[[24,28,"o"]],"x":30,"t":1305097360.46118},{"y":25,"d":[[24,29,"n"]],"x":31,"t":1305097360.62097},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305097360.71707},{"y":25,"d":[[24,31,"l"]],"x":33,"t":1305097360.98118},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305097361.14922},{"y":25,"d":[[24,33,"n"]],"x":35,"t":1305097361.27721},{"y":25,"d":[[24,34,"e"]],"x":36,"t":1305097361.34104},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",2,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",17,24]],"x":1,"f":[["cp",6,5],["cp",0,6],["cp",5,13],["cp",15,14],["cp",21,20],["cp",14,21],["cp",23,22],["cp",14,23]],"t":1305097361.51727},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",1,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,34,"0e3a4c9 which version checked in? "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,4],["cp",0,5],["cp",4,12],["cp",14,13],["cp",20,19],["cp",13,20],["cp",22,21],["cp",13,22],[23,0,6,["a","3"]]],"t":1305097361.52922},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097362.70095},{"y":25,"x":15,"t":1305097362.98911},{"y":25,"x":19,"t":1305097363.1411},{"y":25,"x":20,"t":1305097363.30889},{"y":25,"x":22,"t":1305097363.50105},{"y":25,"d":[[24,21,34,"--oneline "]],"x":22,"t":1305097363.86113},{"y":25,"d":[[24,21,30,"m--oneline"]],"x":23,"t":1305097364.09314},{"y":25,"d":[[24,22,31,"a--oneline"]],"x":24,"t":1305097364.17285},{"y":25,"d":[[24,23,32,"s--oneline"]],"x":25,"t":1305097364.34092},{"y":25,"d":[[24,24,33,"t--oneline"]],"x":26,"t":1305097364.45305},{"y":25,"d":[[24,25,34,"e--oneline"]],"x":27,"t":1305097364.60556},{"y":25,"d":[[24,26,35,"r--oneline"]],"x":28,"t":1305097364.68492},{"y":25,"d":[[24,27,36," --oneline"]],"x":29,"t":1305097364.78083},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",0,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",15,24]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",3,11],["cp",13,12],["cp",19,18],["cp",12,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",12,23]],"t":1305097364.93279},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",0,3],["cp",2,10],["cp",12,11],["cp",18,17],["cp",11,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",11,22],["cp",21,23]],"t":1305097364.94403},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097366.20492},{"y":25,"x":15,"t":1305097366.42088},{"y":25,"x":19,"t":1305097366.62064},{"y":25,"x":20,"t":1305097366.80495},{"y":25,"x":22,"t":1305097366.98107},{"y":25,"d":[[24,21,36,"--oneline "]],"x":22,"t":1305097367.39713},{"y":25,"d":[[24,21,30,"r--oneline"]],"x":23,"t":1305097367.67677},{"y":25,"d":[[24,22,31,"e--oneline"]],"x":24,"t":1305097367.81269},{"y":25,"d":[[24,23,32,"f--oneline"]],"x":25,"t":1305097367.98108},{"y":25,"d":[[24,24,33,"s--oneline"]],"x":26,"t":1305097368.84487},{"y":25,"d":[[24,25,34,"/--oneline"]],"x":27,"t":1305097369.05261},{"y":25,"d":[[24,26,35,"h--oneline"]],"x":28,"t":1305097369.27657},{"y":25,"d":[[24,27,36,"e--oneline"]],"x":29,"t":1305097369.32472},{"y":25,"d":[[24,28,37,"a--oneline"]],"x":30,"t":1305097369.46069},{"y":25,"d":[[24,29,38,"d--oneline"]],"x":31,"t":1305097369.60472},{"y":25,"d":[[24,30,39,"s--oneline"]],"x":32,"t":1305097369.84476},{"y":25,"d":[[24,31,40,"/--oneline"]],"x":33,"t":1305097370.06898},{"y":25,"d":[[24,32,41,"m--oneline"]],"x":34,"t":1305097370.2847},{"y":25,"d":[[24,33,42,"a--oneline"]],"x":35,"t":1305097370.3488},{"y":25,"d":[[24,34,43,"s--oneline"]],"x":36,"t":1305097370.50057},{"y":25,"d":[[24,35,44,"t--oneline"]],"x":37,"t":1305097370.60473},{"y":25,"d":[[24,36,45,"e--oneline"]],"x":38,"t":1305097370.74059},{"y":25,"d":[[24,37,46,"r--oneline"]],"x":39,"t":1305097370.82082},{"y":25,"d":[[24,38,47," --oneline"]],"x":40,"t":1305097370.94069},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",20,22],["cp",24,23],["cp",13,24]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",1,9],["cp",11,10],["cp",17,16],["cp",10,17],["cp",19,18],["cp",10,19],["cp",21,20],["cp",10,21],["cp",20,22],["cp",10,23]],"t":1305097371.13275},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",23,22],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",0,8],["cp",10,9],["cp",16,15],["cp",9,16],["cp",18,17],["cp",9,18],["cp",20,19],["cp",9,20],["cp",19,21],["cp",9,22],["cp",19,23]],"t":1305097371.14608},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",22,21],["cp",18,22],["cp",24,23],["cp",11,24]],"x":1,"f":[["cp",1,0],["cp",8,7],["cp",9,8],["cp",15,14],["cp",8,15],["cp",17,16],["cp",8,17],["cp",19,18],["cp",8,19],["cp",18,20],["cp",8,21],["cp",18,22],["cp",8,23]],"t":1305097373.52465},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305097373.52478},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305097375.70041},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305097375.8043},{"y":25,"x":14,"t":1305097375.88451},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305097377.56466},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305097377.7965},{"y":25,"x":17,"t":1305097377.95639},{"y":25,"d":[[24,16,"."]],"x":18,"t":1305097378.05242},{"y":25,"d":[[24,17,"g"]],"x":19,"t":1305097378.33229},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305097378.48432},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305097378.62019},{"y":25,"d":[[24,20,"/"]],"x":22,"t":1305097378.91765},{"y":25,"d":[[24,21,"H"]],"x":23,"t":1305097379.5882},{"y":25,"d":[[24,22,"E"]],"x":24,"t":1305097379.68415},{"y":25,"d":[[24,23,"A"]],"x":25,"t":1305097379.83621},{"y":25,"d":[[24,24,"D"]],"x":26,"t":1305097379.97218},{"y":25,"x":27,"t":1305097380.52426},{"y":25,"d":[[24,26,"."]],"x":28,"t":1305097380.69248},{"y":25,"d":[[24,27,"g"]],"x":29,"t":1305097380.80425},{"y":25,"d":[[24,28,"i"]],"x":30,"t":1305097380.86018},{"y":25,"d":[[24,29,30,"t/"]],"x":32,"t":1305097381.04141},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305097381.38031},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305097381.5322},{"y":25,"d":[[24,33,"f"]],"x":35,"t":1305097381.66938},{"y":25,"d":[[24,34,35,"s/"]],"x":37,"t":1305097381.90996},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305097382.34032},{"y":25,"d":[[24,37,41,"eads/"]],"x":43,"t":1305097382.43788},{"y":25,"d":[[24,42,"m"]],"x":44,"t":1305097382.91613},{"y":25,"d":[[24,43,47,"aster"]],"x":50,"t":1305097383.01405},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",17,19],["cp",21,20],["cp",17,21],["cp",23,22],["cp",24,23],["cp",10,24]],"x":1,"f":[["cp",7,6],["cp",8,7],["cp",14,13],["cp",7,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",7,18],["cp",17,19],["cp",7,20],["cp",17,21],["cp",7,22]],"t":1305097383.74},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",20,18],["cp",22,20],["cp",23,21],[22,0,51,"-rw-r--r-- 1 jiangxin staff 23 5 11 11:03 .git/HEAD"],[23,0,64,"-rw-r--r-- 1 jiangxin staff 41 5 11 14:11 .git/refs/heads/master"],["cp",20,24]],"x":11,"f":[["cp",6,4],["cp",7,5],["cp",5,6],["cp",13,11],["cp",15,13],["cp",17,15],["cp",5,21]],"t":1305097383.7489},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305097386.01201},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305097386.10005},{"y":25,"x":14,"t":1305097386.28409},{"y":25,"d":[[24,13,"."]],"x":15,"t":1305097386.47596},{"y":25,"d":[[24,14,"g"]],"x":16,"t":1305097386.59599},{"d":[["r","| committer Jiang Xin 1305084824 +0800 "],["r","| "],["r","| who does commit? "],["r","| "],["r","* commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r"," tree 190d840dd3d8fa319bdec6b8112b0957be7ee769 "],["r"," author Jiang Xin 1305083008 +0800 "],["r"," committer Jiang Xin 1305083008 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git branch "],["r","* master "],["r","bash-3.2$ git status -s -b "],["r","## master "],["r","bash-3.2$ git log -1 HEAD --oneline "],["r","0e3a4c9 which version checked in? "],["r","bash-3.2$ git log -1 master --oneline "],["r","0e3a4c9 which version checked in? "],["r","bash-3.2$ git log -1 refs/heads/master --oneline "],["r","0e3a4c9 which version checked in? "],["r","bash-3.2$ "],["r","bash-3.2$ ls -l .git/HEAD .git/refs/heads/master "],["r","-rw-r--r-- 1 jiangxin staff 23 5 11 11:03 .git/HEAD "],["r","-rw-r--r-- 1 jiangxin staff 41 5 11 14:11 .git/refs/heads/master "],["r","bash-3.2$ ca . "]],"x":15,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","17777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d",["r","77333333333333333333333333333333333333333333333337777777777777777777777777777777"],["a","7"],"d","d","d","d","d",["r","77222222777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","77722222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097386.94776,"i":1},{"y":25,"d":[[24,13," "]],"x":14,"t":1305097387.10782},{"y":25,"x":13,"t":1305097387.27588},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097387.38813},{"y":25,"x":15,"t":1305097387.49194},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305097387.55617},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305097387.70787},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305097387.77208},{"y":25,"d":[[24,17,18,"t/"]],"x":20,"t":1305097387.92587},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305097388.31576},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305097389.06787},{"y":25,"d":[[24,19,22,"HEAD"]],"x":25,"t":1305097389.28614},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",14,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",11,10],["cp",4,11],["cp",13,12],["cp",4,13],["cp",15,14],["cp",4,15],["cp",14,16],["cp",4,17],["cp",14,18],["cp",4,19]],"t":1305097390.10015},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",13,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22,"ref: refs/heads/master "],["cp",18,24]],"x":11,"f":[["cp",3,2],["cp",4,3],["cp",10,9],["cp",3,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",3,14],["cp",13,15],["cp",3,16],["cp",13,17],["cp",3,18]],"t":1305097390.10496},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305097390.4039},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305097390.49183},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097390.5721},{"y":25,"x":15,"t":1305097390.69974},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305097390.90774},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305097391.05994},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305097391.1398},{"y":25,"d":[[24,17,18,"t/"]],"x":20,"t":1305097391.28468},{"y":25,"d":[[24,19,"r"]],"x":21,"t":1305097392.57983},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305097392.71564},{"y":25,"d":[[24,21,"f"]],"x":23,"t":1305097392.79562},{"y":25,"d":[[24,22,23,"s/"]],"x":25,"t":1305097393.01272},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305097393.25167},{"y":25,"d":[[24,25,29,"eads/"]],"x":31,"t":1305097393.34904},{"y":25,"d":[[24,30,"m"]],"x":32,"t":1305097393.77969},{"y":25,"d":[[24,31,"a"]],"x":33,"t":1305097393.8918},{"y":25,"d":[[24,32,35,"ster"]],"x":38,"t":1305097394.12427},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",12,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",5,24]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",9,8],["cp",2,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",2,13],["cp",12,14],["cp",2,15],["cp",12,16],["cp",2,17]],"t":1305097395.65988},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,39,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],["cp",16,24]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",8,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",1,12],["cp",11,13],["cp",1,14],["cp",11,15],["cp",1,16]],"t":1305097395.66355},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097396.78767},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097396.86764},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097396.9957},{"y":25,"x":15,"t":1305097397.0755},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305097397.53964},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305097397.64348},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305097397.72343},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305097397.88415},{"y":25,"d":[[24,18,"f"]],"x":20,"t":1305097398.01933},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305097398.13154},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305097398.21956},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305097398.33148},{"y":25,"x":24,"t":1305097398.43549},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305097398.71557},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305097399.46756},{"y":25,"x":27,"t":1305097399.66733},{"y":25,"d":[[24,26,"0"]],"x":28,"t":1305097400.1715},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305097400.7154},{"y":25,"d":[[24,28,"3"]],"x":30,"t":1305097400.96349},{"y":25,"d":[[24,29,"a"]],"x":31,"t":1305097401.40356},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",0,11],["cp",10,12],["cp",0,13],["cp",10,14],["cp",0,15]],"t":1305097401.77928},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",9,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,29,"commit "],["cp",14,24]],"x":11,"f":[["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",0,10],["cp",9,11],["cp",0,12],["cp",9,13],["cp",0,14]],"t":1305097401.78902},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097402.44343},{"y":25,"x":15,"t":1305097402.6513},{"y":25,"x":18,"t":1305097402.85115},{"y":25,"x":19,"t":1305097403.03515},{"y":25,"x":24,"t":1305097403.21952},{"y":25,"x":25,"t":1305097403.40342},{"y":25,"d":[[24,24,"p"]],"x":25,"t":1305097403.85937},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",8,10],["cp",0,11],["cp",8,12],["cp",0,13]],"t":1305097404.0673},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",2,4],["cp",11,5],["cp",2,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,44,"tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9"],[19,0,46,"parent 61b1516058bd2359f99437d28a6b9fd6e933b001"],[20,0,53,"author Jiang Xin 1305092115 +0800"],[21,0,56,"committer Jiang Xin 1305092115 +0800"],["cp",24,22],[23,0,29,"which version checked in? "],["cp",7,24]],"x":11,"f":[["cp",6,0],["cp",8,2],["cp",2,4],["cp",2,6],["cp",1,8],["cp",1,10],["cp",1,12]],"t":1305097404.07444},{"y":25,"d":[["cp",17,24]],"x":11,"t":1305097404.61136},{"y":25,"x":15,"t":1305097404.8511},{"y":25,"x":18,"t":1305097405.05113},{"y":25,"x":15,"t":1305097405.50842},{"y":25,"d":[[24,14,29,"-file -p 0e3a "]],"x":15,"t":1305097405.80319},{"y":25,"d":[[24,14,26,"file -p 0e3a "]],"x":15,"t":1305097406.09926},{"y":25,"d":[[24,14,25,"-p 0e3a "]],"x":15,"t":1305097406.39501},{"y":25,"d":[[24,14,20,"p 0e3a "]],"x":15,"t":1305097406.93894},{"y":25,"d":[[24,14,19," 0e3a "]],"x":15,"t":1305097407.13909},{"y":25,"d":[[24,14,19,"l 0e3a"]],"x":16,"t":1305097407.43528},{"y":25,"d":[[24,15,20,"o 0e3a"]],"x":17,"t":1305097407.60294},{"y":25,"d":[[24,16,21,"g 0e3a"]],"x":18,"t":1305097407.71523},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",21,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",1,3],["cp",0,4],["cp",1,5],["cp",0,6]],"t":1305097407.89095},{"y":25,"d":[["cp",17,0],["cp",18,1],["cp",19,2],["cp",20,3],["cp",21,4],["cp",22,5],["cp",23,6],[7,0,47,"commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],[8,0,51,"Author: Jiang Xin "],[9,0,64,"Date: Wed May 11 13:35:15 2011 +0800 "],["cp",4,10],[11,0,28," which version checked in?"],["cp",4,12],[13,0,46,"commit 61b1516058bd2359f99437d28a6b9fd6e933b001"],["cp",8,14],[15,0,37,"Date: Wed May 11 11:33:44 2011 +0800"],["cp",4,16],[17,0,44," who does commit? "],["cp",4,18],[19,0,53,"commit 38690158d57ea02061e42ab88101ed3517a4292f "],["cp",8,20],[21,0,37,"Date: Wed May 11 11:03:28 2011 +0800"],["cp",4,22],[23,0,21," intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",0,3],["cp",0,5],[7,0,46,["a","3"]],["cp",7,13],["cp",7,19]],"t":1305097407.90447},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097412.10694},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097412.18677},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097412.31507},{"y":25,"x":15,"t":1305097412.37105},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305097412.58671},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305097412.74793},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305097412.92308},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305097413.09892},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305097413.36284},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305097413.4589},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305097413.57105},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305097413.73883},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305097413.8828},{"y":25,"x":25,"t":1305097414.01885},{"y":25,"d":[[24,24,"H"]],"x":26,"t":1305097414.69882},{"y":25,"d":[[24,25,"E"]],"x":27,"t":1305097414.77078},{"y":25,"d":[[24,26,"A"]],"x":28,"t":1305097414.92288},{"y":25,"d":[[24,27,"D"]],"x":29,"t":1305097415.01107},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",7,13],["cp",15,14],["cp",3,15],["cp",17,16],["cp",3,17],["cp",19,18],["cp",7,19],["cp",21,20],["cp",3,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",7,6],["cp",0,7],["cp",6,12],["cp",0,13],["cp",6,18],["cp",0,19]],"t":1305097415.49878},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",6,12],["cp",14,13],["cp",2,14],["cp",16,15],["cp",2,16],["cp",18,17],["cp",6,18],["cp",20,19],["cp",2,20],["cp",22,21],["cp",23,22],[23,0,39,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,5],["cp",0,6],["cp",5,11],["cp",0,12],["cp",5,17],["cp",0,18]],"t":1305097415.50565},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305097416.32292},{"y":25,"x":15,"t":1305097416.60262},{"d":[["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git log 0e3a "],["r","commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 13:35:15 2011 +0800 "],["a"," "],["r"," which version checked in? "],["a"," "],["r","commit 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:33:44 2011 +0800 "],["a"," "],["r"," who does commit? "],["a"," "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r"," intialized. "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git rev-parse HEAD "]],"x":18,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097416.77057,"i":1},{"y":25,"x":19,"t":1305097416.93869},{"y":25,"x":25,"t":1305097417.11458},{"y":25,"x":28,"t":1305097417.30683},{"y":25,"x":25,"t":1305097417.7386},{"y":25,"d":[[24,24,27,["a"," "]]],"x":24,"t":1305097418.05846},{"y":25,"x":25,"t":1305097418.27463},{"y":25,"d":[[24,24,"m"]],"x":26,"t":1305097418.5948},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305097418.65075},{"y":25,"d":[[24,26,"s"]],"x":28,"t":1305097418.80273},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305097418.92265},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305097419.08244},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305097419.14655},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",5,11],["cp",13,12],["cp",1,13],["cp",15,14],["cp",1,15],["cp",17,16],["cp",5,17],["cp",19,18],["cp",1,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",4,10],["cp",0,11],["cp",4,16],["cp",0,17]],"t":1305097419.41867},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",0,12],["cp",14,13],["cp",0,14],["cp",16,15],["cp",4,16],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",0,4],["cp",3,9],["cp",0,10],["cp",3,15],["cp",0,16]],"t":1305097419.42597},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",5,11],["cp",13,12],["cp",5,13],["cp",15,14],["cp",3,15],["cp",17,16],["cp",5,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",20,22],[23,0,39,"bash-3.2$ exit "],["cp",5,24]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",2,8],["cp",0,9],["cp",2,14],["cp",0,15]],"t":1305097421.52284}]} \ No newline at end of file diff --git a/html/part2/ch06-02-sha1-hash.html b/html/part2/ch06-02-sha1-hash.html deleted file mode 100644 index 18295a99f..000000000 --- a/html/part2/ch06-02-sha1-hash.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch06-02-sha1-hash -json_file: ch06-02-sha1-hash.json ---- diff --git a/html/part2/ch06-02-sha1-hash.json b/html/part2/ch06-02-sha1-hash.json deleted file mode 100644 index ec5f5d91c..000000000 --- a/html/part2/ch06-02-sha1-hash.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097716.69578,"i":1},{"y":1,"d":[[0,10,"c"]],"x":12,"t":1305097717.84589},{"y":1,"d":[[0,11,"d"]],"x":13,"t":1305097718.03013},{"y":1,"x":14,"t":1305097718.08582},{"y":1,"d":[[0,13,"/"]],"x":15,"t":1305097718.21388},{"y":1,"d":[[0,14,"p"]],"x":16,"t":1305097718.42195},{"y":1,"d":[[0,15,"a"]],"x":17,"t":1305097718.50162},{"y":1,"d":[[0,16,"t"]],"x":18,"t":1305097718.62172},{"y":1,"d":[[0,17,"h"]],"x":19,"t":1305097718.65367},{"y":1,"d":[[0,18,"/"]],"x":20,"t":1305097718.83605},{"y":1,"d":[[0,19,"t"]],"x":21,"t":1305097719.18171},{"y":1,"d":[[0,20,"o"]],"x":22,"t":1305097719.25379},{"y":1,"d":[[0,21,"/"]],"x":23,"t":1305097719.40428},{"y":1,"d":[[0,22,"m"]],"x":24,"t":1305097719.59765},{"y":1,"d":[[0,23,"y"]],"x":25,"t":1305097719.78164},{"y":1,"d":[[0,24,"/"]],"x":26,"t":1305097719.86031},{"y":1,"d":[[0,25,"w"]],"x":27,"t":1305097720.09367},{"y":1,"d":[[0,26,"o"]],"x":28,"t":1305097720.1658},{"y":1,"d":[[0,27,34,"rkspace/"]],"x":36,"t":1305097720.31609},{"y":1,"d":[[0,35,"d"]],"x":37,"t":1305097720.75771},{"y":1,"d":[[0,36,"e"]],"x":38,"t":1305097720.91745},{"y":1,"d":[[0,37,"m"]],"x":39,"t":1305097721.01387},{"y":1,"d":[[0,38,"o"]],"x":40,"t":1305097721.14952},{"y":1,"d":[[0,39,"/"]],"x":41,"t":1305097721.18036},{"y":2,"x":1,"t":1305097721.59786},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305097721.59818},{"y":2,"d":[[1,10,"p"]],"x":12,"t":1305097723.74367},{"y":2,"d":[[1,11,"r"]],"x":13,"t":1305097723.81365},{"y":2,"d":[[1,12,"i"]],"x":14,"t":1305097723.91745},{"y":2,"d":[[1,13,"n"]],"x":15,"t":1305097724.04546},{"y":2,"d":[[1,14,"t"]],"x":16,"t":1305097724.0934},{"y":2,"d":[[1,15,"f"]],"x":17,"t":1305097724.58941},{"y":2,"x":18,"t":1305097724.76561},{"y":2,"d":[[1,17,"G"]],"x":19,"t":1305097725.12561},{"y":2,"d":[[1,18,"i"]],"x":20,"t":1305097725.26962},{"y":2,"d":[[1,19,"t"]],"x":21,"t":1305097725.3416},{"y":2,"x":22,"t":1305097725.61352},{"y":2,"d":[[1,21,"|"]],"x":23,"t":1305097725.8454},{"y":2,"x":24,"t":1305097726.17352},{"y":2,"d":[[1,23,"s"]],"x":25,"t":1305097726.80536},{"y":2,"d":[[1,24,"h"]],"x":26,"t":1305097726.9014},{"y":2,"d":[[1,25,"a"]],"x":27,"t":1305097727.00524},{"y":2,"d":[[1,26,"2"]],"x":28,"t":1305097727.23749},{"y":2,"d":[[1,27,"1"]],"x":29,"t":1305097727.24773},{"y":2,"d":[[1,27," "]],"x":28,"t":1305097727.76534},{"y":2,"d":[[1,26," "]],"x":27,"t":1305097727.92535},{"y":2,"d":[[1,26,"1"]],"x":28,"t":1305097727.9813},{"y":2,"d":[[1,27,"s"]],"x":29,"t":1305097728.24534},{"y":2,"d":[[1,28,"u"]],"x":30,"t":1305097728.34142},{"y":2,"d":[[1,29,"m"]],"x":32,"t":1305097728.48774},{"y":3,"x":1,"t":1305097728.90928},{"y":4,"d":[[2,0,42,"5819778898df55e3a762f0c5728b457970d72cae -"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305097728.9161},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305097730.59752},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305097730.66112},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305097730.74939},{"y":4,"x":15,"t":1305097730.83753},{"y":4,"d":[[3,14,"r"]],"x":16,"t":1305097730.97335},{"y":4,"d":[[3,15,"e"]],"x":17,"t":1305097731.11733},{"y":4,"d":[[3,16,"v"]],"x":18,"t":1305097731.27746},{"y":4,"d":[[3,17,"-"]],"x":19,"t":1305097731.3893},{"y":4,"d":[[3,18,"p"]],"x":20,"t":1305097731.6452},{"y":4,"d":[[3,19,"a"]],"x":21,"t":1305097731.74114},{"y":4,"d":[[3,20,"r"]],"x":22,"t":1305097731.82148},{"y":4,"x":22,"t":1305097732.11245},{"y":4,"d":[[3,21,"s"]],"x":23,"t":1305097733.06142},{"y":4,"d":[[3,22,"e"]],"x":24,"t":1305097733.23729},{"y":4,"x":25,"t":1305097733.48512},{"y":4,"d":[[3,24,"H"]],"x":26,"t":1305097734.10919},{"y":4,"d":[[3,25,"E"]],"x":27,"t":1305097734.18917},{"y":4,"d":[[3,26,"A"]],"x":28,"t":1305097734.34097},{"y":4,"d":[[3,27,"D"]],"x":29,"t":1305097734.46898},{"y":5,"x":1,"t":1305097734.78891},{"y":6,"d":[[4,0,39,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[5,0,8,"bash-3.2$"]],"x":11,"t":1305097734.79504},{"y":6,"d":[[5,10,"g"]],"x":12,"t":1305097736.05312},{"y":6,"d":[[5,11,"i"]],"x":13,"t":1305097736.19707},{"y":6,"d":[[5,12,"t"]],"x":14,"t":1305097736.27695},{"y":6,"x":15,"t":1305097736.36497},{"y":6,"d":[[5,14,"c"]],"x":16,"t":1305097736.549},{"y":6,"d":[[5,15,"a"]],"x":17,"t":1305097736.6769},{"y":6,"d":[[5,16,"t"]],"x":18,"t":1305097736.77291},{"y":6,"d":[[5,17,"-"]],"x":19,"t":1305097736.98082},{"y":6,"d":[[5,18,"f"]],"x":20,"t":1305097737.1651},{"y":6,"d":[[5,19,"i"]],"x":21,"t":1305097737.27689},{"y":6,"d":[[5,20,"l"]],"x":22,"t":1305097737.38897},{"y":6,"d":[[5,21,"e"]],"x":23,"t":1305097737.51698},{"y":6,"x":24,"t":1305097737.66892},{"y":6,"d":[[5,23,"c"]],"x":25,"t":1305097738.31698},{"y":6,"d":[[5,24,"o"]],"x":26,"t":1305097738.38101},{"y":6,"d":[[5,25,"m"]],"x":27,"t":1305097738.54099},{"y":6,"d":[[5,26,"m"]],"x":28,"t":1305097738.69297},{"y":6,"d":[[5,27,"i"]],"x":29,"t":1305097738.85296},{"y":6,"d":[[5,28,"t"]],"x":30,"t":1305097738.93277},{"y":6,"x":31,"t":1305097739.037},{"y":6,"d":[[5,30,"H"]],"x":32,"t":1305097739.68499},{"y":6,"d":[[5,31,"E"]],"x":33,"t":1305097739.74096},{"y":6,"d":[[5,32,"A"]],"x":34,"t":1305097739.90885},{"y":6,"d":[[5,33,"D"]],"x":35,"t":1305097740.00513},{"y":7,"x":1,"t":1305097740.4212},{"y":13,"d":[[6,0,44,"tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9"],[7,0,46,"parent 61b1516058bd2359f99437d28a6b9fd6e933b001"],[8,0,53,"author Jiang Xin 1305092115 +0800"],[9,0,56,"committer Jiang Xin 1305092115 +0800"],[11,0,24,"which version checked in?"],[12,0,8,"bash-3.2$"]],"x":11,"t":1305097740.42938},{"y":13,"d":[["cp",5,12]],"x":11,"t":1305097742.22072},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ printf Git | sha1sum "],["r","5819778898df55e3a762f0c5728b457970d72cae - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file commit HEAD "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file commit HEAD "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d"],"x":34,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":13,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097742.54905,"i":1},{"y":13,"x":35,"t":1305097742.74067},{"y":13,"x":36,"t":1305097742.99702},{"y":13,"d":[[12,35,"|"]],"x":37,"t":1305097743.24485},{"y":13,"x":38,"t":1305097743.4208},{"y":13,"d":[[12,37,"w"]],"x":39,"t":1305097743.58071},{"y":13,"d":[[12,38,"c"]],"x":40,"t":1305097744.12458},{"y":13,"x":41,"t":1305097744.33266},{"y":13,"d":[[12,40,"-"]],"x":42,"t":1305097745.29254},{"y":13,"d":[[12,41,"c"]],"x":43,"t":1305097745.40452},{"y":14,"x":1,"t":1305097745.70869},{"y":15,"d":[[13,5,7,"234"],[14,0,8,"bash-3.2$"]],"x":11,"t":1305097745.71886},{"y":15,"d":[[14,10,"("]],"x":12,"t":1305097748.09278},{"y":15,"d":[[14,11,"P"]],"x":13,"t":1305097748.48472},{"y":15,"d":[[14,12,"R"]],"x":14,"t":1305097748.65244},{"y":15,"d":[[14,13,"I"]],"x":15,"t":1305097748.70858},{"y":15,"d":[[14,14,"N"]],"x":16,"t":1305097748.84458},{"y":15,"d":[[14,15,"T"]],"x":17,"t":1305097748.96433},{"y":15,"d":[[14,15," "]],"x":16,"t":1305097749.27661},{"y":15,"d":[[14,14," "]],"x":15,"t":1305097749.44433},{"y":15,"d":[[14,13," "]],"x":14,"t":1305097749.60417},{"y":15,"d":[[14,12," "]],"x":13,"t":1305097749.75631},{"y":15,"d":[[14,11," "]],"x":12,"t":1305097749.92417},{"y":15,"d":[[14,11,"p"]],"x":13,"t":1305097750.29249},{"y":15,"d":[[14,12,"r"]],"x":14,"t":1305097750.45241},{"y":15,"d":[[14,13,"i"]],"x":15,"t":1305097750.54837},{"y":15,"d":[[14,14,"n"]],"x":16,"t":1305097750.67636},{"y":15,"d":[[14,15,"t"]],"x":17,"t":1305097750.78033},{"y":15,"d":[[14,16,"f"]],"x":18,"t":1305097751.71624},{"y":15,"x":19,"t":1305097751.86843},{"y":15,"d":[[14,18,"\""]],"x":20,"t":1305097752.58837},{"y":15,"d":[[14,19,"c"]],"x":21,"t":1305097753.21217},{"y":15,"d":[[14,20,"o"]],"x":22,"t":1305097753.26835},{"y":15,"d":[[14,21,"m"]],"x":23,"t":1305097753.42814},{"y":15,"d":[[14,22,"m"]],"x":24,"t":1305097753.58797},{"y":15,"d":[[14,23,"i"]],"x":25,"t":1305097753.74848},{"y":15,"d":[[14,24,"t"]],"x":26,"t":1305097753.85245},{"y":15,"x":27,"t":1305097755.084},{"y":15,"d":[[14,26,"2"]],"x":28,"t":1305097756.09989},{"y":15,"d":[[14,27,"3"]],"x":29,"t":1305097756.42805},{"y":15,"d":[[14,28,"4"]],"x":30,"t":1305097756.66805},{"y":15,"d":[[14,29,"\\"]],"x":31,"t":1305097757.38017},{"y":15,"d":[[14,30,"0"]],"x":32,"t":1305097758.21998},{"y":15,"d":[[14,31,"0"]],"x":33,"t":1305097758.40416},{"y":15,"d":[[14,32,"0"]],"x":34,"t":1305097758.56428},{"y":15,"d":[[14,33,"\""]],"x":35,"t":1305097759.10825},{"y":15,"d":[[14,34,";"]],"x":36,"t":1305097760.0039},{"y":15,"x":37,"t":1305097760.17211},{"y":15,"d":[[14,36,"g"]],"x":38,"t":1305097762.57222},{"y":15,"d":[[14,37,"i"]],"x":39,"t":1305097762.63562},{"y":15,"d":[[14,38,"t"]],"x":40,"t":1305097762.78806},{"y":15,"x":41,"t":1305097762.82807},{"y":15,"d":[[14,40,"c"]],"x":42,"t":1305097763.07575},{"y":15,"d":[[14,41,"a"]],"x":43,"t":1305097763.50772},{"y":15,"d":[[14,42,"t"]],"x":44,"t":1305097763.64408},{"y":15,"d":[[14,43,"-"]],"x":45,"t":1305097764.42779},{"y":15,"d":[[14,44,"f"]],"x":46,"t":1305097764.70769},{"y":15,"d":[[14,45,"i"]],"x":47,"t":1305097764.77188},{"y":15,"d":[[14,46,"l"]],"x":48,"t":1305097764.88381},{"y":15,"d":[[14,47,"e"]],"x":49,"t":1305097765.02779},{"y":15,"x":50,"t":1305097765.18771},{"y":15,"d":[[14,49,"c"]],"x":51,"t":1305097765.52394},{"y":15,"d":[[14,50,"o"]],"x":52,"t":1305097765.60381},{"y":15,"d":[[14,51,"m"]],"x":53,"t":1305097765.75709},{"y":15,"d":[[14,52,"m"]],"x":54,"t":1305097765.90765},{"y":15,"d":[[14,53,"i"]],"x":55,"t":1305097766.04372},{"y":15,"d":[[14,54,"t"]],"x":56,"t":1305097766.13959},{"y":15,"x":57,"t":1305097766.24356},{"y":15,"d":[[14,56,"H"]],"x":58,"t":1305097766.61973},{"y":15,"d":[[14,57,"E"]],"x":59,"t":1305097766.73154},{"y":15,"d":[[14,58,"A"]],"x":60,"t":1305097766.89964},{"y":15,"d":[[14,59,"D"]],"x":61,"t":1305097767.01193},{"y":15,"x":62,"t":1305097768.74775},{"y":15,"d":[[14,61,")"]],"x":63,"t":1305097769.72375},{"y":15,"x":64,"t":1305097770.85179},{"y":15,"d":[[14,63,"|"]],"x":65,"t":1305097771.17218},{"y":15,"x":66,"t":1305097771.57966},{"y":15,"d":[[14,65,"s"]],"x":67,"t":1305097771.75548},{"y":15,"d":[[14,66,"h"]],"x":68,"t":1305097771.83559},{"y":15,"d":[[14,67,"a"]],"x":69,"t":1305097771.93937},{"y":15,"d":[[14,68,"1"]],"x":70,"t":1305097772.18751},{"y":15,"d":[[14,69,"s"]],"x":71,"t":1305097772.55593},{"y":15,"d":[[14,70,"u"]],"x":72,"t":1305097772.65939},{"y":15,"d":[[14,71,"m"]],"x":73,"t":1305097772.8675},{"y":16,"x":1,"t":1305097773.06754},{"y":17,"d":[[15,0,42,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a -"],[16,0,8,"bash-3.2$"]],"x":11,"t":1305097773.08123},{"y":17,"d":[["cp",14,16]],"x":11,"t":1305097776.25932},{"y":17,"d":[[16,10,71,"/ "]],"x":12,"t":1305097776.47531},{"y":17,"d":[[16,11,"r"]],"x":13,"t":1305097776.65933},{"y":17,"d":[[16,12,"e"]],"x":14,"t":1305097776.81929},{"y":17,"d":[[16,13,"v"]],"x":15,"t":1305097777.01932},{"y":17,"d":[["cp",3,16]],"x":11,"t":1305097777.10725},{"y":18,"x":1,"t":1305097777.89122},{"y":19,"d":[["cp",4,17],[18,0,8,"bash-3.2$"]],"x":11,"t":1305097777.89777},{"y":19,"d":[[18,10,"g"]],"x":12,"t":1305097782.13098},{"y":19,"d":[[18,11,"i"]],"x":13,"t":1305097782.21898},{"y":19,"d":[[18,12,"t"]],"x":14,"t":1305097782.32289},{"y":19,"x":15,"t":1305097782.37913},{"y":19,"d":[[18,14,"c"]],"x":16,"t":1305097782.60308},{"y":19,"d":[[18,15,"a"]],"x":17,"t":1305097782.72314},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ printf Git | sha1sum "],["r","5819778898df55e3a762f0c5728b457970d72cae - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file commit HEAD "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file commit HEAD | wc -c "],["r"," 234 "],["r","bash-3.2$ (printf \"commit 234\\000\"; git cat-file commit HEAD ) | sha1sum "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat "],["a"," "],"d","d","d","d","d"],"x":18,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":19,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097782.81884,"i":1},{"y":19,"d":[[18,17,"-"]],"x":19,"t":1305097782.98689},{"y":19,"d":[[18,18,"f"]],"x":20,"t":1305097783.17893},{"y":19,"d":[[18,19,"i"]],"x":21,"t":1305097783.2829},{"y":19,"d":[[18,20,"l"]],"x":22,"t":1305097783.36285},{"y":19,"d":[[18,21,"e"]],"x":23,"t":1305097783.49884},{"y":19,"x":24,"t":1305097783.73882},{"y":19,"d":[[18,23,"b"]],"x":25,"t":1305097784.11481},{"y":19,"d":[[18,24,"l"]],"x":26,"t":1305097784.19517},{"y":19,"d":[[18,25,"o"]],"x":27,"t":1305097784.34672},{"y":19,"d":[[18,26,"b"]],"x":28,"t":1305097784.44328},{"y":19,"x":29,"t":1305097784.98694},{"y":19,"d":[[18,28,"H"]],"x":30,"t":1305097785.30705},{"y":19,"d":[[18,29,"E"]],"x":31,"t":1305097785.37868},{"y":19,"d":[[18,30,"A"]],"x":32,"t":1305097785.53891},{"y":19,"d":[[18,31,"D"]],"x":33,"t":1305097785.64296},{"y":19,"d":[[18,32,":"]],"x":34,"t":1305097786.12303},{"y":19,"d":[[18,33,"w"]],"x":35,"t":1305097786.33104},{"y":19,"d":[[18,34,"e"]],"x":36,"t":1305097786.47496},{"y":19,"d":[[18,35,"l"]],"x":37,"t":1305097786.65071},{"y":19,"d":[[18,36,"c"]],"x":38,"t":1305097786.7949},{"y":19,"d":[[18,37,"o"]],"x":39,"t":1305097786.88257},{"y":19,"d":[[18,38,"m"]],"x":40,"t":1305097787.05085},{"y":19,"d":[[18,39,"e"]],"x":41,"t":1305097787.17874},{"y":19,"d":[[18,40,"."]],"x":42,"t":1305097787.36293},{"y":19,"d":[[18,41,"t"]],"x":43,"t":1305097787.47479},{"y":19,"d":[[18,42,"x"]],"x":44,"t":1305097787.62655},{"y":19,"d":[[18,43,"t"]],"x":45,"t":1305097787.72271},{"y":20,"x":1,"t":1305097788.50666},{"y":22,"d":[[19,0,5,"Hello."],[20,0,16,"Nice to meet you."],[21,0,8,"bash-3.2$"]],"x":11,"t":1305097788.51361},{"y":22,"d":[["cp",18,21]],"x":11,"t":1305097790.06658},{"y":22,"x":44,"t":1305097790.38686},{"y":22,"x":45,"t":1305097790.57084},{"y":22,"x":46,"t":1305097790.77871},{"y":22,"d":[[21,45,"|"]],"x":47,"t":1305097791.03496},{"y":22,"x":48,"t":1305097791.16281},{"y":22,"d":[[21,47,"w"]],"x":49,"t":1305097791.3704},{"y":22,"d":[[21,48,"c"]],"x":50,"t":1305097791.57864},{"y":22,"x":51,"t":1305097791.75481},{"y":22,"d":[[21,50,"-"]],"x":52,"t":1305097791.89861},{"y":22,"d":[[21,51,"c"]],"x":53,"t":1305097792.09856},{"y":23,"x":1,"t":1305097792.26667},{"y":24,"d":[[22,6,7,"25"],[23,0,8,"bash-3.2$"]],"x":11,"t":1305097792.27629},{"y":24,"d":[[23,10,"("]],"x":12,"t":1305097795.1625},{"y":24,"d":[[23,11,"p"]],"x":13,"t":1305097795.47453},{"y":24,"d":[[23,12,"r"]],"x":14,"t":1305097795.61041},{"y":24,"d":[[23,13,"i"]],"x":15,"t":1305097795.68229},{"y":24,"d":[[23,14,"n"]],"x":16,"t":1305097795.81855},{"y":24,"d":[[23,15,"t"]],"x":17,"t":1305097795.89038},{"y":24,"d":[[23,16,"f"]],"x":18,"t":1305097796.12239},{"y":24,"x":19,"t":1305097796.35433},{"y":24,"d":[[23,18,"\""]],"x":20,"t":1305097797.6984},{"y":24,"d":[[23,19,"b"]],"x":21,"t":1305097797.85819},{"y":24,"d":[[23,20,"l"]],"x":22,"t":1305097798.77076},{"y":24,"d":[[23,21,"o"]],"x":23,"t":1305097798.9384},{"y":24,"d":[[23,22,"b"]],"x":24,"t":1305097799.01838},{"y":24,"x":25,"t":1305097799.2342},{"y":24,"d":[[23,24,"2"]],"x":26,"t":1305097799.49059},{"y":24,"d":[[23,25,"5"]],"x":27,"t":1305097800.01177},{"y":24,"d":[[23,26,"\\"]],"x":28,"t":1305097800.4266},{"y":24,"d":[[23,27,"0"]],"x":29,"t":1305097801.45007},{"y":24,"d":[[23,28,"0"]],"x":30,"t":1305097801.63421},{"y":24,"d":[[23,29,"0"]],"x":31,"t":1305097801.81817},{"y":24,"d":[[23,30,"\""]],"x":32,"t":1305097802.53847},{"y":24,"d":[[23,31,";"]],"x":33,"t":1305097803.20207},{"y":24,"x":34,"t":1305097803.60202},{"y":24,"d":[[23,33,"g"]],"x":35,"t":1305097803.75523},{"y":24,"d":[[23,34,"i"]],"x":36,"t":1305097803.81006},{"y":24,"d":[[23,35,"t"]],"x":37,"t":1305097803.92197},{"y":24,"x":38,"t":1305097804.00202},{"y":24,"d":[[23,37,"c"]],"x":39,"t":1305097804.17804},{"y":24,"d":[[23,38,"a"]],"x":40,"t":1305097804.29804},{"y":24,"d":[[23,39,"t"]],"x":41,"t":1305097804.3699},{"y":24,"d":[[23,40,"-"]],"x":42,"t":1305097804.49814},{"y":24,"d":[[23,41,"f"]],"x":43,"t":1305097804.64981},{"y":24,"d":[[23,42,"i"]],"x":44,"t":1305097804.75424},{"y":24,"d":[[23,43,"l"]],"x":45,"t":1305097804.84981},{"y":24,"d":[[23,44,"e"]],"x":46,"t":1305097804.95387},{"y":24,"x":47,"t":1305097805.08205},{"y":24,"d":[[23,46,"b"]],"x":48,"t":1305097805.48235},{"y":24,"d":[[23,47,"l"]],"x":49,"t":1305097805.546},{"y":24,"d":[[23,48,"o"]],"x":50,"t":1305097805.71381},{"y":24,"d":[[23,49,"b"]],"x":51,"t":1305097805.7954},{"y":24,"x":52,"t":1305097805.97},{"y":24,"d":[[23,51,"H"]],"x":53,"t":1305097806.52279},{"y":24,"d":[[23,52,"E"]],"x":54,"t":1305097806.60986},{"y":24,"d":[[23,53,"A"]],"x":55,"t":1305097806.75388},{"y":24,"d":[[23,54,"D"]],"x":56,"t":1305097806.87402},{"y":24,"d":[[23,55,":"]],"x":57,"t":1305097807.72235},{"y":24,"d":[[23,56,"w"]],"x":58,"t":1305097807.88984},{"y":24,"d":[[23,57,"e"]],"x":59,"t":1305097808.01792},{"y":24,"d":[[23,58,"l"]],"x":60,"t":1305097808.17816},{"y":24,"d":[[23,59,"c"]],"x":61,"t":1305097808.33773},{"y":24,"d":[[23,60,"o"]],"x":62,"t":1305097808.40988},{"y":24,"d":[[23,61,"m"]],"x":63,"t":1305097808.58582},{"y":24,"d":[[23,62,"e"]],"x":64,"t":1305097808.72171},{"y":24,"d":[[23,63,"."]],"x":65,"t":1305097808.84195},{"y":24,"d":[[23,64,"t"]],"x":66,"t":1305097808.95368},{"y":24,"d":[[23,65,"x"]],"x":67,"t":1305097809.10582},{"y":24,"d":[[23,66,"t"]],"x":68,"t":1305097809.20996},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ printf Git | sha1sum "],["r","5819778898df55e3a762f0c5728b457970d72cae - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file commit HEAD "],["r","tree f58da9a820e3fd9d84ab2ca2f1b467ac265038f9 "],["r","parent 61b1516058bd2359f99437d28a6b9fd6e933b001 "],["r","author Jiang Xin 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file commit HEAD | wc -c "],["r"," 234 "],["r","bash-3.2$ (printf \"commit 234\\000\"; git cat-file commit HEAD ) | sha1sum "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt | wc -c "],["r"," 25 "],["r","bash-3.2$ (printf \"blob 25\\000\"; git cat-file blob HEAD:welcome.txt) "],["a"," "]],"x":69,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":24,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305097810.17803,"i":1},{"y":24,"x":70,"t":1305097811.21002},{"y":24,"d":[[23,69,"|"]],"x":71,"t":1305097811.45789},{"y":24,"x":72,"t":1305097811.70604},{"y":24,"d":[[23,71,"s"]],"x":73,"t":1305097812.05775},{"y":24,"d":[[23,72,"h"]],"x":74,"t":1305097812.14557},{"y":24,"d":[[23,73,"a"]],"x":75,"t":1305097812.24993},{"y":24,"d":[[23,74,"1"]],"x":76,"t":1305097812.48968},{"y":24,"d":[[23,75,"s"]],"x":77,"t":1305097812.80181},{"y":24,"d":[[23,76,"u"]],"x":78,"t":1305097812.92184},{"y":24,"d":[[23,77,"m"]],"x":1,"t":1305097813.12188},{"y":24,"d":[[22,77,"m"]],"x":1,"t":1305097813.35367},{"y":25,"d":[[23,0,42,"fd3c069c1de4f4bc9b15940f490aeb48852f3c42 -"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305097813.36354},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097814.76957},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097814.84952},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097814.99339},{"y":25,"x":15,"t":1305097815.23355},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305097815.44159},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305097815.60986},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305097815.76144},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305097815.87339},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305097816.12184},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305097816.21747},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305097816.32154},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305097816.47366},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305097816.60954},{"y":25,"x":25,"t":1305097816.72977},{"y":25,"d":[[24,24,"b"]],"x":26,"t":1305097816.96149},{"y":25,"d":[[24,25,"l"]],"x":27,"t":1305097817.03344},{"y":25,"d":[[24,25," "]],"x":26,"t":1305097817.56143},{"y":25,"d":[[24,24," "]],"x":25,"t":1305097817.72947},{"y":25,"d":[[24,24,"H"]],"x":26,"t":1305097818.5853},{"y":25,"d":[[24,25,"E"]],"x":27,"t":1305097818.6813},{"y":25,"d":[[24,26,"A"]],"x":28,"t":1305097818.83358},{"y":25,"d":[["cp",3,24]],"x":29,"t":1305097818.91339},{"y":25,"x":30,"t":1305097819.56141},{"y":25,"x":29,"t":1305097820.04134},{"y":25,"d":[[24,28,":"]],"x":30,"t":1305097820.3777},{"y":25,"d":[[24,29,"w"]],"x":31,"t":1305097820.57022},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305097820.70527},{"y":25,"d":[[24,31,"l"]],"x":33,"t":1305097820.84971},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305097820.98535},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305097821.07339},{"y":25,"d":[[24,34,39,"me.txt"]],"x":41,"t":1305097821.40714},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",3,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",9,24]],"x":1,"t":1305097822.0575},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,39,"fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305097822.06482},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305097825.88911},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305097825.9611},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305097826.09699},{"y":25,"x":15,"t":1305097826.16896},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305097826.37708},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305097826.48102},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305097826.58506},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305097826.88923},{"y":25,"d":[[24,17," "]],"x":18,"t":1305097827.20901},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305097827.43308},{"y":25,"d":[[24,18,"f"]],"x":20,"t":1305097827.78512},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305097827.84914},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305097827.9612},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305097828.09713},{"y":25,"x":24,"t":1305097828.23322},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305097830.36098},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305097830.53706},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305097830.71496},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305097830.88885},{"y":25,"x":29,"t":1305097831.21683},{"y":25,"d":[[24,28,"H"]],"x":30,"t":1305097831.60891},{"y":25,"d":[[24,29,"E"]],"x":31,"t":1305097831.68908},{"y":25,"d":[[24,30,"A"]],"x":32,"t":1305097831.82465},{"y":25,"d":[[24,31,"D"]],"x":33,"t":1305097831.93684},{"y":25,"d":[[24,32,"%"]],"x":34,"t":1305097832.78492},{"y":25,"d":[[24,32," "]],"x":33,"t":1305097833.21686},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305097833.49708},{"y":25,"d":[[24,33,"{"]],"x":35,"t":1305097834.32086},{"y":25,"d":[[24,34,"g"]],"x":36,"t":1305097834.57701},{"y":25,"d":[[24,35,"t"]],"x":37,"t":1305097834.58465},{"y":25,"d":[[24,36,"r"]],"x":38,"t":1305097834.73673},{"y":25,"d":[[24,36," "]],"x":37,"t":1305097835.04863},{"y":25,"d":[[24,35," "]],"x":36,"t":1305097835.21663},{"y":25,"d":[[24,34," "]],"x":35,"t":1305097835.37679},{"y":25,"d":[[24,34,"t"]],"x":36,"t":1305097835.48886},{"y":25,"d":[[24,35,"r"]],"x":37,"t":1305097835.67288},{"y":25,"d":[[24,36,"e"]],"x":38,"t":1305097835.80864},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305097835.97688},{"y":25,"d":[[24,38,"}"]],"x":40,"t":1305097836.59268},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"t":1305097836.84998},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,38,"100644 welcome.txt 1305092115 +0800 "],["r","committer Jiang Xin 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file commit HEAD | wc -c "],["r"," 234 "],["r","bash-3.2$ (printf \"commit 234\\000\"; git cat-file commit HEAD ) | sha1sum "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt | wc -c "],["r"," 25 m "],["r","fd3c069c1de4f4bc9b15940f490aeb48852f3c42 -le blob HEAD:welcome.txt) | sha1sum "],["r","bash-3.2$ git rev-parse HEAD:welcome.txt "],["r","fd3c069c1de4f4bc9b15940f490aeb48852f3c42 "],["r","bash-3.2$ git cat-file tree HEAD^{tree} "],["r","100644 welcome.txt 1305092115 +0800 "],["a"," "],["r","which version checked in? "],["r","bash-3.2$ git cat-file commit HEAD | wc -c "],["r"," 234 "],["r","bash-3.2$ (printf \"commit 234\\000\"; git cat-file commit HEAD ) | sha1sum "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a - "],["r","bash-3.2$ git rev-parse HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ git cat-file blob HEAD:welcome.txt | wc -c "],["r"," 25 m "],["r","fd3c069c1de4f4bc9b15940f490aeb48852f3c42 -le blob HEAD:welcome.txt) | sha1sum "],["r","bash-3.2$ git rev-parse HEAD:welcome.txt "],["r","fd3c069c1de4f4bc9b15940f490aeb48852f3c42 "],["r","bash-3.2$ git cat-file tree HEAD^{tree} "],["r","100644 welcome.txt"],[21,0,37,"Date: Wed May 11 11:03:28 2011 +0800"],["cp",24,22],[23,0,16," intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",4,5],["cp",4,6],["cp",4,7],["cp",4,8],["cp",0,11],["cp",0,12],["cp",0,13],["cp",4,16],["cp",4,17],["cp",4,18],[19,0,46,["a","3"]]],"t":1305100605.91508},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",1,11],["cp",2,12],["cp",14,13],["cp",15,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,14,"bash-3.2$ exit "],["cp",21,24]],"x":1,"f":[["cp",4,3],["cp",0,10],["cp",3,13],["cp",19,18],["cp",3,19]],"t":1305100610.26871}]} \ No newline at end of file diff --git a/html/part2/ch07-02-reflog.html b/html/part2/ch07-02-reflog.html deleted file mode 100644 index a0fd714cf..000000000 --- a/html/part2/ch07-02-reflog.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch07-02-reflog -json_file: ch07-02-reflog.json ---- diff --git a/html/part2/ch07-02-reflog.json b/html/part2/ch07-02-reflog.json deleted file mode 100644 index 8a0a86b27..000000000 --- a/html/part2/ch07-02-reflog.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305100993.9739,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305100994.50439},{"y":2,"x":1,"t":1305100995.34449},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305100995.34481},{"y":2,"d":[[1,10,"l"]],"x":12,"t":1305100997.84828},{"y":2,"d":[[1,11,"s"]],"x":13,"t":1305100997.95237},{"y":3,"x":1,"t":1305100998.07221},{"y":4,"d":[[2,0,10,"welcome.txt"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305100998.07821},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305100998.58402},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305100998.6403},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305100998.75237},{"y":4,"x":15,"t":1305100998.79238},{"y":4,"d":[[3,14,"l"]],"x":16,"t":1305100999.5857},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305100999.73618},{"y":4,"d":[[3,16,"g"]],"x":18,"t":1305100999.81634},{"y":4,"x":19,"t":1305100999.88057},{"y":4,"d":[[3,18,"-"]],"x":20,"t":1305101000.00822},{"y":4,"d":[[3,19,"-"]],"x":21,"t":1305101000.19213},{"y":4,"d":[[3,20,"o"]],"x":22,"t":1305101000.82414},{"y":4,"d":[[3,21,"n"]],"x":23,"t":1305101000.98421},{"y":4,"d":[[3,22,"e"]],"x":24,"t":1305101001.08812},{"y":4,"d":[[3,23,"l"]],"x":25,"t":1305101001.17624},{"y":4,"d":[[3,24,"i"]],"x":26,"t":1305101001.70419},{"y":4,"d":[[3,25,"n"]],"x":27,"t":1305101001.85608},{"y":4,"d":[[3,26,"e"]],"x":28,"t":1305101001.97972},{"y":4,"x":29,"t":1305101002.05621},{"y":4,"d":[[3,28,"-"]],"x":30,"t":1305101002.21604},{"y":4,"d":[[3,29,"-"]],"x":31,"t":1305101002.39215},{"y":4,"d":[[3,30,"g"]],"x":32,"t":1305101002.48005},{"y":4,"d":[[3,31,"r"]],"x":33,"t":1305101002.62411},{"y":4,"d":[[3,32,"a"]],"x":34,"t":1305101002.76004},{"y":4,"d":[[3,33,"p"]],"x":35,"t":1305101002.83228},{"y":4,"d":[[3,34,"h"]],"x":36,"t":1305101003.11193},{"y":5,"x":1,"t":1305101003.41613},{"y":6,"d":[[4,0,20,"* 3869015 intialized."],[5,0,8,"bash-3.2$"]],"x":11,"f":[[4,2,8,["a","3"]]],"t":1305101003.43233},{"y":6,"d":[[5,10,"g"]],"x":12,"t":1305101005.25613},{"y":6,"d":[[5,11,"i"]],"x":13,"t":1305101005.33609},{"y":6,"d":[[5,12,"t"]],"x":14,"t":1305101005.5217},{"y":6,"x":15,"t":1305101005.5438},{"y":6,"d":[[5,14,"c"]],"x":16,"t":1305101006.22381},{"y":6,"d":[[5,15,"o"]],"x":17,"t":1305101006.288},{"y":6,"d":[[5,16,"n"]],"x":18,"t":1305101006.40788},{"y":6,"d":[[5,17,"f"]],"x":19,"t":1305101006.42406},{"y":6,"d":[[5,18,"i"]],"x":20,"t":1305101006.58383},{"y":6,"d":[[5,19,"g"]],"x":21,"t":1305101006.6479},{"y":6,"x":22,"t":1305101006.87197},{"y":6,"d":[[5,21,"c"]],"x":23,"t":1305101007.58373},{"y":6,"d":[[5,22,"o"]],"x":24,"t":1305101007.66409},{"y":6,"d":[[5,23,"r"]],"x":25,"t":1305101007.75179},{"y":6,"d":[[5,24,"e"]],"x":26,"t":1305101007.87178},{"y":6,"d":[[5,25,"."]],"x":27,"t":1305101008.01573},{"y":6,"d":[[5,26,"l"]],"x":28,"t":1305101008.21576},{"y":6,"d":[[5,27,"o"]],"x":29,"t":1305101008.37595},{"y":6,"d":[[5,28,"g"]],"x":30,"t":1305101008.43988},{"y":6,"d":[[5,29,"a"]],"x":31,"t":1305101008.75187},{"y":6,"d":[[5,30,"l"]],"x":32,"t":1305101008.80787},{"y":6,"d":[[5,31,"l"]],"x":33,"t":1305101008.96792},{"y":6,"d":[[5,32,"r"]],"x":34,"t":1305101009.87157},{"y":6,"d":[[5,33,"e"]],"x":35,"t":1305101010.00765},{"y":6,"d":[[5,34,"f"]],"x":36,"t":1305101010.17666},{"y":6,"d":[[5,35,"u"]],"x":37,"t":1305101010.51958},{"y":6,"d":[[5,36,"p"]],"x":38,"t":1305101010.67191},{"y":6,"d":[[5,37,"d"]],"x":39,"t":1305101010.79162},{"y":6,"d":[[5,38,"a"]],"x":40,"t":1305101010.9115},{"y":6,"d":[[5,39,"t"]],"x":41,"t":1305101010.9837},{"y":6,"d":[[5,40,"e"]],"x":42,"t":1305101011.09565},{"y":6,"d":[[5,41,"s"]],"x":43,"t":1305101011.27677},{"y":7,"x":1,"t":1305101011.44778},{"y":8,"d":[[6,0,3,"true"],[7,0,8,"bash-3.2$"]],"x":11,"t":1305101011.45596},{"y":8,"d":[[7,10,"t"]],"x":12,"t":1305101014.35961},{"y":8,"d":[[7,11,"a"]],"x":13,"t":1305101014.52739},{"y":8,"d":[[7,12,"i"]],"x":14,"t":1305101014.63951},{"y":8,"d":[[7,13,"l"]],"x":15,"t":1305101014.75144},{"y":8,"x":16,"t":1305101014.98517},{"y":8,"d":[[7,15,"-"]],"x":17,"t":1305101015.21558},{"y":8,"d":[[7,16,"5"]],"x":18,"t":1305101015.98354},{"y":8,"x":19,"t":1305101016.17533},{"y":8,"d":[[7,18,"."]],"x":20,"t":1305101016.65531},{"y":8,"d":[[7,19,"g"]],"x":21,"t":1305101016.75967},{"y":8,"d":[[7,20,"i"]],"x":22,"t":1305101016.85538},{"y":8,"d":[[7,21,"t"]],"x":23,"t":1305101016.93558},{"y":8,"d":[[7,22,"/"]],"x":24,"t":1305101017.31145},{"y":8,"d":[[7,23,"l"]],"x":25,"t":1305101017.69524},{"y":8,"d":[[7,24,"o"]],"x":26,"t":1305101017.87132},{"y":8,"d":[[7,25,27,"gs/"]],"x":29,"t":1305101017.98838},{"y":8,"d":[[7,28,"r"]],"x":30,"t":1305101018.4235},{"y":8,"d":[[7,29,"e"]],"x":31,"t":1305101018.55913},{"y":8,"d":[[7,30,"f"]],"x":32,"t":1305101018.68734},{"y":8,"d":[[7,31,32,"s/"]],"x":34,"t":1305101018.92114},{"y":8,"d":[[7,33,"h"]],"x":35,"t":1305101019.17552},{"y":8,"d":[[7,34,38,"eads/"]],"x":40,"t":1305101019.26797},{"y":8,"d":[[7,39,"m"]],"x":41,"t":1305101019.60707},{"y":8,"d":[[7,40,"a"]],"x":42,"t":1305101019.8551},{"y":8,"d":[[7,41,44,"ster"]],"x":47,"t":1305101020.07263},{"y":9,"x":1,"t":1305101020.47152},{"y":22,"d":[[8,0,79,"ca0c91ccf55922867ac08bfe9246c773be3e2ddd 61b1516058bd2359f99437d28a6b9fd6e933b00"],[9,0,48,"1 Jiang Xin 1305084824 +0800"],[9,56,79,"commit (amend): who does"],[10,1,7,"commit?"],[11,0,79,"61b1516058bd2359f99437d28a6b9fd6e933b001 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6"],[12,0,48,"a Jiang Xin 1305092115 +0800"],[12,56,79,"commit: which version ch"],[13,0,8,"ecked in?"],[14,0,79,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a 6af1352e5a38c4987c99bc9bc8c7213f48bfeea"],[15,0,48,"4 Jiang Xin 1305100544 +0800"],[15,56,79,"commit: does master foll"],[16,0,18,"ow this new commit?"],[17,0,79,"6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6"],[18,0,48,"a Jiang Xin 1305100576 +0800"],[18,56,75,"HEAD^: updating HEAD"],[19,0,79,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a 38690158d57ea02061e42ab88101ed3517a4292"],[20,0,48,"f Jiang Xin 1305100599 +0800"],[20,56,76,"HEAD^^: updating HEAD"],[21,0,8,"bash-3.2$"]],"x":11,"t":1305101020.48554},{"y":22,"d":[[21,10,"g"]],"x":12,"t":1305101022.91902},{"y":22,"d":[[21,11,"i"]],"x":13,"t":1305101023.01523},{"y":22,"d":[[21,12,"t"]],"x":14,"t":1305101023.13507},{"y":22,"x":15,"t":1305101023.17523},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ ls "],["r","welcome.txt "],["r","bash-3.2$ git log --oneline --graph "],["r","* 3869015 intialized. "],["r","bash-3.2$ git config core.logallrefupdates "],["r","true "],["r","bash-3.2$ tail -5 .git/logs/refs/heads/master "],["r","ca0c91ccf55922867ac08bfe9246c773be3e2ddd 61b1516058bd2359f99437d28a6b9fd6e933b00"],["r","1 Jiang Xin 1305084824 +0800 commit (amend): who does"],["r"," commit? "],["r","61b1516058bd2359f99437d28a6b9fd6e933b001 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6"],["r","a Jiang Xin 1305092115 +0800 commit: which version ch"],["r","ecked in? "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a 6af1352e5a38c4987c99bc9bc8c7213f48bfeea"],["r","4 Jiang Xin 1305100544 +0800 commit: does master foll"],["r","ow this new commit? "],["r","6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6"],["r","a Jiang Xin 1305100576 +0800 HEAD^: updating HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a 38690158d57ea02061e42ab88101ed3517a4292"],["r","f Jiang Xin 1305100599 +0800 HEAD^^: updating HEAD "],["r","bash-3.2$ git r "],["a"," "],"d","d"],"x":16,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":22,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305101023.40695,"i":1},{"y":22,"d":[[21,15,"e"]],"x":17,"t":1305101023.57492},{"y":22,"d":[[21,16,"f"]],"x":18,"t":1305101023.72694},{"y":22,"d":[[21,17,"l"]],"x":19,"t":1305101023.88692},{"y":22,"d":[[21,18,"o"]],"x":20,"t":1305101024.04701},{"y":22,"d":[[21,19,"g"]],"x":21,"t":1305101024.14292},{"y":22,"x":22,"t":1305101024.279},{"y":22,"d":[[21,21,"s"]],"x":23,"t":1305101024.40707},{"y":22,"d":[[21,22,"h"]],"x":24,"t":1305101024.51101},{"y":22,"d":[[21,23,"o"]],"x":25,"t":1305101024.639},{"y":22,"d":[[21,24,"w"]],"x":26,"t":1305101024.73482},{"y":22,"x":27,"t":1305101024.82278},{"y":22,"d":[[21,26,"m"]],"x":28,"t":1305101025.24696},{"y":22,"d":[[21,27,"a"]],"x":29,"t":1305101025.40713},{"y":22,"d":[[21,28,"s"]],"x":30,"t":1305101025.52712},{"y":22,"d":[[21,29,"t"]],"x":31,"t":1305101025.67894},{"y":22,"d":[[21,30,"e"]],"x":32,"t":1305101025.83906},{"y":22,"d":[[21,31,"r"]],"x":33,"t":1305101025.90305},{"y":23,"x":1,"t":1305101026.14287},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],[16,0,40,"3869015 master@{0}: HEAD^^: updating HEAD"],[17,0,79,"0e3a4c9 master@{1}: HEAD^: updating HEAD "],[18,0,75,"6af1352 master@{2}: commit: does master follow this new commit? "],[19,7,79," master@{3}: commit: which version checked in? "],[20,0,51,"61b1516 master@{4}: commit (amend): who does commit?"],[20,56,76,["a"," "]],[21,0,51,"ca0c91c master@{5}: commit (amend): who does commit?"],[22,0,43,"c615828 master@{6}: commit: who does commit?"],[23,0,48,"3869015 master@{7}: commit (initial): intialized."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,4],[16,0,6,["a","3"]],["cp",16,17],["cp",16,18],["cp",16,19],["cp",16,20],["cp",16,21],["cp",16,22],["cp",16,23]],"t":1305101026.15762},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305101026.99133},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305101027.09517},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305101027.23091},{"y":25,"x":15,"t":1305101027.25606},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305101027.47879},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305101027.61487},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305101027.75881},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305101027.84684},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305101027.95083},{"y":25,"x":21,"t":1305101028.0387},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305101028.21498},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305101028.39915},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305101028.56663},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305101028.67058},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305101028.76711},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305101028.93533},{"y":25,"x":28,"t":1305101029.07863},{"y":25,"d":[[24,27,"m"]],"x":29,"t":1305101029.30267},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305101029.4069},{"y":25,"d":[[24,29,"s"]],"x":31,"t":1305101029.5428},{"y":25,"d":[[24,30,"t"]],"x":32,"t":1305101029.63888},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305101029.77481},{"y":25,"d":[[24,32,"r"]],"x":34,"t":1305101029.85563},{"y":25,"d":[[24,33,"@"]],"x":35,"t":1305101030.39092},{"y":25,"d":[[24,34,"{"]],"x":36,"t":1305101031.00735},{"y":25,"d":[[24,35,"2"]],"x":37,"t":1305101031.26844},{"y":25,"d":[[24,36,"}"]],"x":38,"t":1305101031.65484},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",16,15],["cp",0,23]],"t":1305101034.19859},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,57,"HEAD is now at 6af1352 does master follow this new commit?"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,14],["cp",0,22]],"t":1305101034.21154},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305101036.57436},{"y":25,"d":[[24,10,36,"/ "]],"x":12,"t":1305101036.73462},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305101036.8304},{"y":25,"d":[[24,12,"a"]],"x":14,"t":1305101036.97854},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305101037.0544},{"y":25,"d":[[24,10,35,"cat .git/refs/heads/master"]],"x":11,"t":1305101037.17437},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",14,13],["cp",0,21]],"t":1305101038.19033},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,39,"6af1352e5a38c4987c99bc9bc8c7213f48bfeea4"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",13,12],["cp",0,20]],"t":1305101038.1966},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305101039.45424},{"y":25,"d":[[24,10,35,"/ "]],"x":12,"t":1305101039.62228},{"y":25,"d":[[24,11,"o"]],"x":13,"t":1305101040.08637},{"y":25,"d":[[24,12,"n"]],"x":14,"t":1305101040.22227},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305101040.33434},{"y":25,"d":[[24,10,34,"git log --oneline --graph"]],"x":11,"t":1305101040.52606},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",12,11],["cp",0,19]],"t":1305101042.11},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,57,"* 6af1352 does master follow this new commit? "],[21,0,35,"* 0e3a4c9 which version checked in? "],[22,0,39,"* 61b1516 who does commit? "],[23,0,34,"* 3869015 intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",11,7],["cp",7,8],["cp",7,9],["cp",7,10],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],[20,2,8,["a","3"]],["cp",20,21],["cp",20,22],["cp",20,23]],"t":1305101042.12173},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305101046.12602},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305101046.23014},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",7,6],["cp",0,14],["cp",20,19],["cp",0,23]],"t":1305101046.34977},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,26,"new-commit.txt welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,5],["cp",0,13],["cp",19,18],["cp",0,22]],"t":1305101046.35612},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305101050.57406},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305101050.66951},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305101050.76575},{"y":25,"x":15,"t":1305101050.85385},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305101051.37366},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305101051.51765},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305101051.65376},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305101051.86965},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305101052.02167},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305101052.14953},{"y":25,"x":22,"t":1305101052.25382},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305101052.36592},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305101052.44577},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305101052.54177},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305101052.64546},{"y":25,"x":27,"t":1305101052.75749},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305101052.96574},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305101053.06152},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305101053.22954},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305101053.5816},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305101053.7415},{"y":25,"d":[["cp",4,24]],"x":33,"t":1305101053.81356},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",3,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,12],["cp",18,17],["cp",0,21]],"t":1305101053.9576},{"y":25,"d":[["cp",9,0],["cp",10,1],["cp",11,2],["cp",12,3],["cp",13,4],["cp",14,5],["cp",15,6],["cp",16,7],["cp",17,8],["cp",18,9],["cp",19,10],["cp",20,11],["cp",21,12],["cp",22,13],["cp",23,14],[15,7,44," master@{0}: master@{2}: updating HEAD"],[16,0,40,"3869015 master@{1}: HEAD^^: updating HEAD"],[17,0,44,"0e3a4c9 master@{2}: HEAD^: updating HEAD "],[18,0,62,"6af1352 master@{3}: commit: does master follow this new commit?"],[19,0,52,"0e3a4c9 master@{4}: commit: which version checked in?"],[20,0,51,"61b1516 master@{5}: commit (amend): who does commit?"],[21,0,51,"ca0c91c master@{6}: commit (amend): who does commit?"],[22,0,43,"c615828 master@{7}: commit: who does commit?"],[23,0,48,"3869015 master@{8}: commit (initial): intialized."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,0],["cp",0,1],["cp",0,2],["cp",3,4],["cp",3,5],["cp",3,6],["cp",3,7],["cp",17,8],["cp",8,9],["cp",8,10],["cp",8,11],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22],["cp",0,23]],"t":1305101053.97428},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,48,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",8,7],["cp",2,11],["cp",0,14],["cp",2,23]],"t":1305101057.86967}]} \ No newline at end of file diff --git a/html/part2/ch08-01-checkout.html b/html/part2/ch08-01-checkout.html deleted file mode 100644 index 8fd90d635..000000000 --- a/html/part2/ch08-01-checkout.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch08-01-checkout -json_file: ch08-01-checkout.json ---- diff --git a/html/part2/ch08-01-checkout.json b/html/part2/ch08-01-checkout.json deleted file mode 100644 index adfad608f..000000000 --- a/html/part2/ch08-01-checkout.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305109920.93085,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305109921.46504},{"y":2,"x":1,"t":1305109921.75295},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305109921.75319},{"y":2,"d":[[1,10,"c"]],"x":12,"t":1305109922.87285},{"y":2,"d":[[1,11,"a"]],"x":13,"t":1305109922.96892},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305109923.0569},{"y":2,"x":15,"t":1305109923.1691},{"y":2,"d":[[1,14,"."]],"x":16,"t":1305109923.24084},{"y":2,"d":[[1,15,"g"]],"x":17,"t":1305109923.36096},{"y":2,"d":[[1,16,"i"]],"x":18,"t":1305109923.44094},{"y":2,"d":[[1,17,18,"t/"]],"x":20,"t":1305109923.56968},{"y":2,"d":[[1,19,"h"]],"x":21,"t":1305109923.92914},{"y":2,"d":[[1,20,"e"]],"x":22,"t":1305109924.04071},{"y":2,"d":[[1,19,22,"HEAD"]],"x":25,"t":1305109924.28165},{"y":3,"x":1,"t":1305109924.80867},{"y":4,"d":[[2,0,21,"ref: refs/heads/master"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305109924.81418},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305109925.46475},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305109925.68867},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305109925.77673},{"y":4,"x":15,"t":1305109925.85665},{"y":4,"d":[[3,14,"b"]],"x":16,"t":1305109926.04878},{"y":4,"d":[[3,15,"r"]],"x":17,"t":1305109926.22482},{"y":4,"d":[[3,16,"a"]],"x":18,"t":1305109926.36063},{"y":4,"d":[[3,17,"n"]],"x":19,"t":1305109926.48848},{"y":4,"d":[[3,18,"c"]],"x":20,"t":1305109926.59261},{"y":4,"d":[[3,19,"h"]],"x":21,"t":1305109926.72849},{"y":5,"x":1,"t":1305109926.96049},{"y":6,"d":[[4,0,7,"* master"],[5,0,8,"bash-3.2$"]],"x":11,"f":[[4,2,7,["a","2"]]],"t":1305109926.96736},{"y":6,"d":[[5,10,"g"]],"x":12,"t":1305109927.70462},{"y":6,"d":[[5,11,"i"]],"x":13,"t":1305109927.80058},{"y":6,"d":[[5,12,"t"]],"x":14,"t":1305109927.88851},{"y":6,"x":15,"t":1305109927.96055},{"y":6,"d":[[5,14,"l"]],"x":16,"t":1305109928.06475},{"y":6,"d":[[5,15,"o"]],"x":17,"t":1305109928.24065},{"y":6,"d":[[5,16,"g"]],"x":18,"t":1305109928.35247},{"y":6,"x":19,"t":1305109928.44072},{"y":6,"d":[[5,18,"-"]],"x":20,"t":1305109928.74461},{"y":6,"d":[[5,19,"-"]],"x":21,"t":1305109928.92847},{"y":6,"d":[[5,20,"o"]],"x":22,"t":1305109929.12856},{"y":6,"d":[[5,21,"n"]],"x":23,"t":1305109929.26472},{"y":6,"d":[[5,22,"e"]],"x":24,"t":1305109929.32875},{"y":6,"d":[[5,23,"l"]],"x":25,"t":1305109929.43258},{"y":6,"d":[[5,24,"i"]],"x":26,"t":1305109929.56865},{"y":6,"d":[[5,25,"n"]],"x":27,"t":1305109929.69238},{"y":6,"d":[[5,26,"e"]],"x":28,"t":1305109929.75243},{"y":6,"x":29,"t":1305109929.8326},{"y":6,"d":[[5,28,"-"]],"x":30,"t":1305109929.97675},{"y":6,"d":[[5,29,"-"]],"x":31,"t":1305109930.16202},{"y":6,"d":[[5,30,"g"]],"x":32,"t":1305109930.22449},{"y":6,"d":[[5,31,"r"]],"x":33,"t":1305109930.37661},{"y":6,"d":[[5,32,"a"]],"x":34,"t":1305109930.4963},{"y":6,"d":[[5,33,"p"]],"x":35,"t":1305109930.5924},{"y":6,"d":[[5,34,"h"]],"x":36,"t":1305109930.75261},{"y":7,"x":1,"t":1305109931.22489},{"y":11,"d":[[6,0,44,"* 6af1352 does master follow this new commit?"],[7,0,34,"* 0e3a4c9 which version checked in?"],[8,0,25,"* 61b1516 who does commit?"],[9,0,20,"* 3869015 intialized."],[10,0,8,"bash-3.2$"]],"x":11,"f":[[6,2,8,["a","3"]],["cp",6,7],["cp",6,8],["cp",6,9]],"t":1305109931.23685},{"y":11,"d":[[10,10,"g"]],"x":12,"t":1305109934.0246},{"y":11,"d":[[10,11,"i"]],"x":13,"t":1305109934.10472},{"y":11,"d":[[10,12,"t"]],"x":14,"t":1305109934.20836},{"y":11,"x":15,"t":1305109934.25641},{"y":11,"d":[[10,14,"c"]],"x":16,"t":1305109934.64817},{"y":11,"d":[[10,15,"h"]],"x":17,"t":1305109934.74409},{"y":11,"d":[[10,16,"e"]],"x":18,"t":1305109934.85625},{"y":11,"d":[[10,17,"c"]],"x":19,"t":1305109935.04018},{"y":11,"d":[[10,18,"k"]],"x":20,"t":1305109935.09622},{"y":11,"d":[[10,19,"o"]],"x":21,"t":1305109935.24022},{"y":11,"d":[[10,20,"u"]],"x":22,"t":1305109935.35229},{"y":11,"d":[[10,21,"t"]],"x":23,"t":1305109935.46429},{"y":11,"x":24,"t":1305109935.56005},{"y":11,"d":[[10,23,"H"]],"x":25,"t":1305109936.46418},{"y":11,"d":[[10,24,"E"]],"x":26,"t":1305109936.54428},{"y":11,"d":[[10,25,"A"]],"x":27,"t":1305109936.70456},{"y":11,"d":[[10,26,"d"]],"x":28,"t":1305109938.064},{"y":11,"d":[[10,26," "]],"x":27,"t":1305109938.5522},{"y":11,"d":[[10,26,"D"]],"x":28,"t":1305109938.79219},{"y":11,"d":[[10,27,"^"]],"x":29,"t":1305109939.72809},{"y":12,"x":1,"t":1305109940.05626},{"y":24,"d":[[11,0,26,"Note: checking out 'HEAD^'."],[13,0,71,"You are in 'detached HEAD' state. You can look around, make experimental"],[14,0,72,"changes and commit them, and you can discard any commits you make in this"],[15,0,67,"state without impacting any branches by performing another checkout."],[17,0,71,"If you want to create a new branch to retain commits you create, you may"],[18,0,73,"do so (now or later) by using -b with the checkout command again. Example:"],[20,2,32,"git checkout -b new_branch_name"],[22,0,50,"HEAD is now at 0e3a4c9... which version checked in?"],[23,0,8,"bash-3.2$"]],"x":11,"t":1305109940.06672},{"y":24,"d":[["cp",10,23]],"x":11,"t":1305109943.5039},{"y":24,"d":[[23,10,27,"/ "]],"x":12,"t":1305109943.72779},{"y":24,"d":[[23,11,"l"]],"x":13,"t":1305109943.94389},{"y":24,"d":[[23,12,"o"]],"x":14,"t":1305109944.10363},{"y":24,"d":[[23,13,"g"]],"x":15,"t":1305109944.18392},{"y":24,"d":[["cp",5,23]],"x":11,"t":1305109944.30369},{"y":25,"x":1,"t":1305109945.16785},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",9,13],["cp",17,14],["cp",18,15],["cp",20,17],["cp",9,18],["cp",22,19],["cp",2,20],["cp",4,21],["cp",5,22],["cp",6,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,1],["cp",6,3],["cp",3,4],["cp",3,5],["cp",0,7],["cp",0,8],["cp",0,9],["cp",3,21],["cp",3,22],["cp",3,23]],"t":1305109945.18037},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305109947.07151},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305109947.16745},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109947.24774},{"y":25,"x":15,"t":1305109947.32742},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305109947.43155},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305109947.51956},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305109947.60748},{"y":25,"d":[[24,17,18,"t/"]],"x":20,"t":1305109947.75207},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305109948.31145},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305109948.40747},{"y":25,"d":[[24,19,22,"HEAD"]],"x":25,"t":1305109948.63973},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",8,15],["cp",17,16],["cp",8,17],["cp",19,18],["cp",1,19],["cp",3,20],["cp",4,21],["cp",5,22],["cp",24,23],["cp",8,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,6],["cp",2,20],["cp",1,23]],"t":1305109949.17551},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",7,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",0,18],["cp",2,19],["cp",3,20],["cp",4,21],["cp",23,22],[23,0,39,"0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",0,5],["cp",1,19],["cp",0,22]],"t":1305109949.18058},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109950.24758},{"d":[["r","bash-3.2$ git log --oneline --graph "],["r","* 6af1352 does master follow this new commit? "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git checkout HEAD^ "],["r","Note: checking out 'HEAD^'. "],["a"," "],["r","You are in 'detached HEAD' state. You can look around, make experimental "],["r","changes and commit them, and you can discard any commits you make in this "],["r","state without impacting any branches by performing another checkout. "],["a"," "],["r","If you want to create a new branch to retain commits you create, you may "],["r","do so (now or later) by using -b with the checkout command again. Example: "],["a"," "],["r"," git checkout -b new_branch_name "],["a"," "],["r","HEAD is now at 0e3a4c9... which version checked in? "],["r","bash-3.2$ git log --oneline --graph "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ cat .git/HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ gi "]],"x":13,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d",["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d",["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305109950.34347,"i":1},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109950.43147},{"y":25,"x":15,"t":1305109950.49556},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305109950.68732},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305109950.87123},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305109950.99137},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305109951.08773},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305109951.20755},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305109951.35127},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",12,11],["cp",13,12],["cp",6,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",18,17],["cp",1,18],["cp",2,19],["cp",3,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",6,24]],"x":1,"f":[["cp",1,0],["cp",5,4],["cp",0,18],["cp",4,21]],"t":1305109952.12755},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",4,8],["cp",11,9],["cp",12,10],["cp",4,11],["cp",14,12],["cp",16,14],["cp",17,15],["cp",18,16],["cp",0,17],["cp",1,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,39,"* (no branch) "],[23,0,19," master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,2],["cp",2,3],["cp",0,16],["cp",0,17],["cp",2,19],["cp",2,20],[22,2,12,["a","2"]]],"t":1305109952.13519},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109953.45627},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109953.55139},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109953.65558},{"y":25,"x":15,"t":1305109953.70326},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305109953.8792},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305109954.05523},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305109954.16746},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305109954.22324},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305109954.69512},{"y":25,"d":[["cp",21,24]],"x":21,"t":1305109954.77516},{"y":25,"x":22,"t":1305109954.91941},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305109955.07931},{"y":25,"d":[[24,22,"v"]],"x":24,"t":1305109955.2152},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",2,1],["cp",0,15],["cp",1,18],["cp",22,21],["cp",1,22]],"t":1305109955.33518},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",1,5],["cp",8,6],["cp",9,7],["cp",1,8],["cp",11,9],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,46,"* (no branch) 0e3a4c9 which version checked in?"],[23,0,56," master 6af1352 does master follow this new commit?"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",15,13],["cp",13,14],["cp",0,16],["cp",0,17],["cp",21,19],["cp",0,21],["cp",19,22]],"t":1305109955.34273},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109957.04722},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109957.11907},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109957.22316},{"y":25,"x":15,"t":1305109957.27912},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305109957.49493},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305109957.64692},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305109957.80699},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305109957.94314},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305109958.09495},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305109958.17494},{"y":25,"x":22,"t":1305109958.28682},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305109958.42288},{"y":25,"d":[[24,22,"1"]],"x":24,"t":1305109958.69507},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",13,12],["cp",0,15],["cp",19,18],["cp",0,19],["cp",18,21],["cp",0,22]],"t":1305109958.97492},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",3,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,54,"0e3a4c9 HEAD@{0}: checkout: moving from master to HEAD^"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,11],["cp",0,14],["cp",18,17],["cp",0,18],["cp",17,20],["cp",0,21],[23,0,6,["a","3"]]],"t":1305109958.98703},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109960.72687},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109960.8068},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109960.93495},{"y":25,"x":15,"t":1305109960.99892},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305109961.1831},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305109961.35075},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305109961.54305},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305109961.73492},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305109961.98289},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305109962.07094},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305109962.17481},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305109962.34287},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305109962.60674},{"y":25,"x":25,"t":1305109962.86273},{"y":25,"d":[[24,24,"H"]],"x":26,"t":1305109963.26278},{"y":25,"d":[[24,25,"E"]],"x":27,"t":1305109963.3429},{"y":25,"d":[[24,26,"A"]],"x":28,"t":1305109963.47894},{"y":25,"d":[[24,27,"D"]],"x":29,"t":1305109963.57476},{"y":25,"x":30,"t":1305109963.9428},{"y":25,"d":[[24,29,"m"]],"x":31,"t":1305109964.27063},{"y":25,"d":[[24,30,"a"]],"x":32,"t":1305109964.40679},{"y":25,"d":[[24,31,"s"]],"x":33,"t":1305109964.8787},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305109965.16686},{"y":25,"d":[[24,33,"e"]],"x":35,"t":1305109965.32711},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305109965.39844},{"y":25,"d":[[24,35,"^"]],"x":37,"t":1305109966.11074},{"y":25,"x":38,"t":1305109966.28655},{"y":25,"d":[[24,37,"m"]],"x":39,"t":1305109966.48661},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305109966.5746},{"y":25,"d":[[24,39,"s"]],"x":41,"t":1305109966.70242},{"y":25,"d":[[24,40,"t"]],"x":42,"t":1305109966.91048},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305109967.03048},{"y":25,"d":[[24,42,"r"]],"x":44,"t":1305109967.09451},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",2,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",11,10],["cp",0,13],["cp",17,16],["cp",0,17],["cp",16,19],["cp",0,20],["cp",23,22],["cp",0,23]],"t":1305109967.20651},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",6,3],["cp",2,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",16,13],["cp",17,14],["cp",18,15],["cp",19,16],["cp",20,17],["cp",21,18],["cp",22,19],["cp",23,20],["cp",11,21],["cp",11,22],[23,0,42,"6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",10,7],["cp",7,8],["cp",7,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",16,13],["cp",22,19],["cp",0,22]],"t":1305109967.21624},{"y":25,"d":[[24,10,"t"]],"x":12,"t":1305109969.3585},{"y":25,"d":[[24,11,"o"]],"x":13,"t":1305109969.47849},{"y":25,"d":[[24,12,"c"]],"x":14,"t":1305109969.5986},{"y":25,"d":[[24,12," "]],"x":13,"t":1305109970.71012},{"y":25,"d":[[24,12,"c"]],"x":14,"t":1305109971.15026},{"y":25,"d":[[24,13,"h"]],"x":15,"t":1305109971.21433},{"y":25,"d":[[24,13," "]],"x":14,"t":1305109971.51938},{"y":25,"d":[[24,12," "]],"x":13,"t":1305109971.68617},{"y":25,"d":[[24,12,"u"]],"x":14,"t":1305109971.87024},{"y":25,"d":[[24,13,"c"]],"x":15,"t":1305109972.00626},{"y":25,"d":[[24,14,"h"]],"x":16,"t":1305109972.08644},{"y":25,"x":17,"t":1305109972.28639},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305109973.02221},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305109973.18227},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305109973.31804},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305109973.47815},{"y":25,"d":[[24,20,"c"]],"x":22,"t":1305109973.62219},{"y":25,"d":[[24,21,"h"]],"x":23,"t":1305109973.71832},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305109973.81429},{"y":25,"d":[[24,23,"d"]],"x":25,"t":1305109973.96628},{"y":25,"d":[[24,24,"-"]],"x":26,"t":1305109974.42239},{"y":25,"d":[[24,25,"c"]],"x":27,"t":1305109974.77416},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305109974.85462},{"y":25,"d":[[24,27,"m"]],"x":29,"t":1305109975.01399},{"d":[["r","If you want to create a new branch to retain commits you create, you may "],["r","do so (now or later) by using -b with the checkout command again. Example: "],["a"," "],["r"," git checkout -b new_branch_name "],["a"," "],["r","HEAD is now at 0e3a4c9... which version checked in? "],["r","bash-3.2$ git log --oneline --graph "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ cat .git/HEAD "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","bash-3.2$ git branch "],["r","* (no branch) "],["r"," master "],["r","bash-3.2$ git branch -v "],["r","* (no branch) 0e3a4c9 which version checked in? "],["r"," master 6af1352 does master follow this new commit? "],["r","bash-3.2$ git reflog -1 "],["r","0e3a4c9 HEAD@{0}: checkout: moving from master to HEAD^ "],["r","bash-3.2$ git rev-parse HEAD master^ master "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],"d",["r","6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 "],["r","bash-3.2$ touch detached-comm "]],"x":30,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d",["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d",["r","77222222222227777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","77222222222227777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305109975.17411,"i":1},{"y":25,"d":[[24,29,"i"]],"x":31,"t":1305109975.34195},{"y":25,"d":[[24,30,"t"]],"x":32,"t":1305109975.41416},{"y":25,"d":[[24,31,"."]],"x":33,"t":1305109976.55015},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305109976.67839},{"y":25,"d":[[24,33,"x"]],"x":35,"t":1305109976.80601},{"y":25,"d":[[24,34,"t"]],"x":36,"t":1305109976.90997},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",10,20],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",7,6],["cp",0,9],["cp",13,12],["cp",0,13],["cp",12,15],["cp",0,16],["cp",19,18],["cp",0,19]],"t":1305109977.07036},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305109977.07494},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109977.48596},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109977.56616},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109977.65441},{"y":25,"x":15,"t":1305109977.72615},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305109977.81408},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305109977.98194},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305109978.15779},{"y":25,"x":19,"t":1305109978.23794},{"y":25,"d":[[24,18,"d"]],"x":20,"t":1305109978.38177},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305109978.54981},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305109978.6459},{"y":25,"d":[[24,21,36,"ached-commit.txt"]],"x":38,"t":1305109978.85958},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",9,19],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",6,5],["cp",0,8],["cp",12,11],["cp",0,12],["cp",11,14],["cp",0,15],["cp",18,17],["cp",0,18]],"t":1305109979.00802},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305109979.01387},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109979.20596},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109979.30977},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109979.42982},{"y":25,"x":15,"t":1305109979.50985},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305109980.09402},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305109980.22209},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305109980.37386},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305109980.52566},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305109980.65376},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305109980.69366},{"y":25,"x":22,"t":1305109980.78204},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305109980.90157},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305109981.0937},{"y":25,"x":25,"t":1305109981.22972},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305109981.518},{"y":25,"d":[[24,25,"c"]],"x":27,"t":1305109981.71046},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305109981.81448},{"y":25,"d":[[24,27,"m"]],"x":29,"t":1305109981.98187},{"y":25,"d":[[24,28,"m"]],"x":30,"t":1305109982.11768},{"y":25,"d":[[24,29,"i"]],"x":31,"t":1305109982.27768},{"y":25,"d":[[24,30,"t"]],"x":32,"t":1305109982.35781},{"y":25,"x":33,"t":1305109982.5416},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305109982.66165},{"y":25,"d":[[24,33,"n"]],"x":35,"t":1305109982.79772},{"y":25,"x":36,"t":1305109982.92568},{"y":25,"d":[[24,35,"d"]],"x":37,"t":1305109983.10967},{"y":25,"d":[[24,36,"e"]],"x":38,"t":1305109983.27776},{"y":25,"d":[[24,37,"t"]],"x":39,"t":1305109983.40582},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305109983.56571},{"y":25,"d":[[24,39,"c"]],"x":41,"t":1305109983.69395},{"y":25,"d":[[24,40,"h"]],"x":42,"t":1305109983.77347},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305109983.88586},{"y":25,"d":[[24,42,"d"]],"x":44,"t":1305109984.06175},{"y":25,"x":45,"t":1305109984.76554},{"y":25,"d":[[24,44,"H"]],"x":46,"t":1305109985.03787},{"y":25,"d":[[24,45,"E"]],"x":47,"t":1305109985.12556},{"y":25,"d":[[24,46,"A"]],"x":48,"t":1305109985.3094},{"y":25,"d":[[24,47,"D"]],"x":49,"t":1305109985.38945},{"y":25,"x":50,"t":1305109985.72608},{"y":25,"d":[[24,49,"m"]],"x":51,"t":1305109985.88566},{"y":25,"d":[[24,50,"o"]],"x":52,"t":1305109986.01345},{"y":25,"d":[[24,51,"d"]],"x":53,"t":1305109986.07766},{"y":25,"d":[[24,52,"e"]],"x":54,"t":1305109986.23757},{"y":25,"d":[[24,53,"."]],"x":55,"t":1305109986.32539},{"y":25,"d":[[24,54,"\""]],"x":56,"t":1305109986.74964},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",8,18],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",5,4],["cp",0,7],["cp",11,10],["cp",0,11],["cp",10,13],["cp",0,14],["cp",17,16],["cp",0,17]],"t":1305109986.92574},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",7,17],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,54,"[detached HEAD 6630c7c] commit in detached HEAD mode. "]],"x":1,"f":[["cp",4,3],["cp",0,6],["cp",10,9],["cp",0,10],["cp",9,12],["cp",0,13],["cp",16,15],["cp",0,16]],"t":1305109987.20592},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",5,15],["cp",5,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,54," 0 files changed, 0 insertions(+), 0 deletions(-) "],[23,0,52," create mode 100644 detached-commit.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,1],["cp",1,2],["cp",0,4],["cp",0,5],["cp",9,7],["cp",0,9],["cp",7,10],["cp",0,12],["cp",15,13],["cp",0,15]],"t":1305109987.2075},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305109988.39077},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305109988.49336},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",4,14],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",7,6],["cp",3,7],["cp",6,9],["cp",3,10],["cp",13,12],["cp",3,13]],"t":1305109988.61323},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",3,13],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,31,"detached-commit.txt welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",6,5],["cp",2,6],["cp",5,8],["cp",2,9],["cp",12,11],["cp",2,12]],"t":1305109988.61967},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305109990.98921},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305109991.11771},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109991.29332},{"y":25,"x":15,"t":1305109991.54106},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305109993.54931},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305109993.73304},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305109993.85304},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305109993.98906},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305109994.06113},{"y":25,"d":[["cp",4,24]],"x":21,"t":1305109994.20532},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",3,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",5,4],["cp",1,5],["cp",4,7],["cp",1,8],["cp",11,10],["cp",1,11]],"t":1305109994.40495},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",0,10],["cp",0,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",1,21],["cp",2,22],["cp",3,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",4,2],["cp",0,4],["cp",2,5],["cp",0,7],["cp",10,8],["cp",0,10],["cp",2,22]],"t":1305109994.41161},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305109995.63696},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305109995.74102},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305109995.78096},{"y":25,"x":15,"t":1305109995.89312},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305109995.98901},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305109996.10071},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305109996.18898},{"y":25,"d":[[24,17,18,"t/"]],"x":20,"t":1305109996.33394},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305109996.95695},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305109997.03682},{"y":25,"d":[[24,21,"a"]],"x":23,"t":1305109997.19794},{"y":25,"d":[[24,19,22,"HEAD"]],"x":25,"t":1305109997.46929},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",1,21],["cp",2,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",1,4],["cp",0,5],["cp",8,7],["cp",0,8],["cp",1,21],["cp",0,22]],"t":1305109997.90098},{"d":[["r","* (no branch) "],["r"," master "],["r","bash-3.2$ git branch -v "],["r","* (no branch) 0e3a4c9 which version checked in? "],["r"," master 6af1352 does master follow this new commit? "],["r","bash-3.2$ git reflog -1 "],["r","0e3a4c9 HEAD@{0}: checkout: moving from master to HEAD^ "],["r","bash-3.2$ git rev-parse HEAD master^ master "],["r","0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],"d",["r","6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 "],["r","bash-3.2$ touch detached-commit.txt "],["r","bash-3.2$ git add detached-commit.txt "],["r","bash-3.2$ git commit -m \"commit in detached HEAD mode.\" "],["r","[detached HEAD 6630c7c] commit in detached HEAD mode. "],["r"," 0 files changed, 0 insertions(+), 0 deletions(-) "],["r"," create mode 100644 detached-commit.txt "],["r","bash-3.2$ ls "],["r","detached-commit.txt welcome.txt "],["r","bash-3.2$ git branch "],["r","* (no branch) "],["r"," master "],["r","bash-3.2$ cat .git/HEAD "],["r","6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],["r","bash-3.2$ "]],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","77222222222227777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","77222222222227777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","77222222222227777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305109997.90601,"i":1},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305109998.72912},{"y":25,"d":[[24,10,22,"/ "]],"x":12,"t":1305109998.89279},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305109999.0691},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305109999.23674},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305109999.29291},{"y":25,"d":[["cp",5,24]],"x":11,"t":1305109999.42869},{"y":25,"d":[[24,14,34,"log --oneline --graph"]],"x":11,"t":1305109999.93303},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",2,19],["cp",0,20]],"t":1305110000.41267},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",3,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,38,"* 6630c7c commit in detached HEAD mode."],[21,0,34,"* 0e3a4c9 which version checked in?"],[22,0,39,"* 61b1516 who does commit? "],[23,0,34,"* 3869015 intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,1],["cp",0,2],["cp",0,5],["cp",19,15],["cp",0,19],[20,2,8,["a","3"]],["cp",20,21],["cp",20,22],["cp",20,23]],"t":1305110000.42562},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110005.99626},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110006.09239},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110006.22826},{"y":25,"x":15,"t":1305110006.31639},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305110006.59627},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305110006.68472},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305110006.76431},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305110006.92432},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305110006.99677},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305110007.13251},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305110007.22037},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305110007.32446},{"y":25,"x":24,"t":1305110007.38843},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305110007.74034},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305110007.8443},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305110007.99619},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305110008.13259},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305110008.28423},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305110008.35616},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",15,14],["cp",1,15],["cp",20,19],["cp",1,23]],"t":1305110008.61239},{"y":25,"d":[["cp",11,0],["cp",12,1],["cp",13,2],["cp",14,3],["cp",15,4],["cp",16,5],["cp",17,6],["cp",18,7],["cp",19,8],["cp",20,9],["cp",21,10],["cp",22,11],["cp",23,12],[13,0,57,"Warning: you are leaving 1 commit behind, not connected to"],[14,0,20,"any of your branches:"],["cp",24,15],[16,0,38," 6630c7c commit in detached HEAD mode."],["cp",15,17],[18,0,73,"If you want to keep them by creating a new branch, this may be a good time"],[19,0,38,"to do so with: "],["cp",15,20],[21,0,67," git branch new_branch_name 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c"],["cp",15,22],[23,0,28,"Switched to branch 'master' "]],"x":1,"f":[["cp",1,0],["cp",14,3],["cp",19,8],["cp",8,9],["cp",8,10],["cp",8,11],["cp",0,14],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"t":1305110008.62208},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305110008.89608},{"y":25,"d":[["cp",12,24]],"x":11,"t":1305110011.37213},{"y":25,"d":[[24,10,28,"/ "]],"x":12,"t":1305110011.56416},{"y":25,"d":[[24,11,"o"]],"x":13,"t":1305110011.79606},{"y":25,"d":[[24,12,"n"]],"x":14,"t":1305110011.94799},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305110012.03608},{"y":25,"d":[["cp",7,24]],"x":11,"t":1305110012.33229},{"y":25,"x":35,"t":1305110014.6041},{"y":25,"x":36,"t":1305110014.94831},{"y":25,"x":37,"t":1305110015.12393},{"y":25,"d":[[24,36,"-"]],"x":38,"t":1305110015.30788},{"y":25,"d":[[24,37,"-"]],"x":39,"t":1305110015.50799},{"y":25,"d":[[24,38,"d"]],"x":40,"t":1305110015.81204},{"y":25,"d":[[24,39,"e"]],"x":41,"t":1305110015.97177},{"y":25,"d":[[24,40,"c"]],"x":42,"t":1305110016.13984},{"y":25,"d":[[24,41,"o"]],"x":43,"t":1305110016.24404},{"y":25,"d":[[24,42,"r"]],"x":44,"t":1305110016.33981},{"y":25,"d":[[24,43,"a"]],"x":45,"t":1305110016.56387},{"y":25,"d":[[24,44,"t"]],"x":46,"t":1305110016.74777},{"y":25,"d":[[24,45,"e"]],"x":47,"t":1305110016.87581},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",19,18],["cp",14,19],["cp",21,20],["cp",14,21],["cp",23,22],["cp",24,23],["cp",14,24]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",8,7],["cp",0,11]],"t":1305110017.40373},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",10,12],["cp",17,13],["cp",18,14],["cp",10,15],["cp",20,16],["cp",10,17],["cp",22,18],["cp",23,19],[20,0,67,"* 6af1352 (HEAD, master) does master follow this new commit? "],["cp",4,21],["cp",5,22],["cp",6,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,2],["cp",7,3],["cp",3,4],["cp",3,5],["cp",3,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],[20,2,23,"3333333336666332222223"],["cp",3,21],["cp",3,22],["cp",3,23]],"B":[[20,11,22,"111100111111"]],"t":1305110017.41845},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110021.69152},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110021.76354},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110021.88354},{"y":25,"x":15,"t":1305110021.93968},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305110022.08358},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305110022.17158},{"y":25,"d":[[24,16,"o"]],"x":18,"t":1305110022.2595},{"y":25,"d":[[24,17,"w"]],"x":19,"t":1305110022.3155},{"y":25,"x":20,"t":1305110022.48366},{"y":25,"d":[[24,19,20,["a","6"]]],"x":22,"t":1305110027.76407},{"y":25,"d":[[24,21,25,"30c7c"]],"x":27,"t":1305110027.76416},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",9,14],["cp",16,15],["cp",9,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",3,20],["cp",4,21],["cp",5,22],["cp",24,23],["cp",9,24]],"x":1,"f":[["cp",3,2],["cp",0,6],["cp",20,19],["cp",2,20],["cp",0,23]],"B":[["cp",20,19],["cp",0,20]],"t":1305110030.01954},{"y":25,"d":[["cp",9,0],["cp",10,1],["cp",0,2],["cp",12,3],["cp",13,4],["cp",0,5],["cp",15,6],["cp",0,7],["cp",17,8],["cp",18,9],["cp",19,10],["cp",20,11],["cp",21,12],["cp",22,13],["cp",23,14],[15,0,67,"commit 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],[16,0,37,"Author: Jiang Xin "],[17,0,37,"Date: Wed May 11 18:33:06 2011 +0800"],["cp",0,18],[19,0,59," commit in detached HEAD mode. "],["cp",0,20],[21,0,53,"diff --git a/detached-commit.txt b/detached-commit.txt"],[22,0,20,"new file mode 100644 "],[23,0,25,"index 0000000..e69de29 "]],"x":1,"f":[["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",19,10],["cp",20,11],["cp",11,12],["cp",11,13],[15,0,46,["a","3"]],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"B":[["cp",19,10],["cp",0,19],[21,0,53,["a","1"]],[22,0,19,["a","1"]],[23,0,21,["a","1"]]],"t":1305110030.03146},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305110030.09886},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305110034.14685},{"y":25,"d":[[24,11,"t"]],"x":13,"t":1305110034.34696},{"y":25,"x":14,"t":1305110034.40295},{"y":25,"x":13,"t":1305110034.95489},{"y":25,"d":[[24,11," "]],"x":12,"t":1305110035.13895},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305110035.20312},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110035.315},{"y":25,"x":15,"t":1305110035.41085},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305110035.53063},{"y":25,"d":[[24,15,"g"]],"x":17,"t":1305110035.69092},{"y":25,"d":[[24,16,18,"it/"]],"x":20,"t":1305110035.97352},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305110037.61891},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305110037.77074},{"y":25,"d":[[24,21,"a"]],"x":23,"t":1305110037.9468},{"y":25,"d":[[24,19,22,"HEAD"]],"x":25,"t":1305110038.18698},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",1,17],["cp",19,18],["cp",1,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",10,9],["cp",11,10],["cp",0,13],["cp",15,14],["cp",0,15]],"B":[["cp",10,9],["cp",0,10],["cp",21,20],["cp",22,21],["cp",23,22],["cp",0,23]],"t":1305110038.53091},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22,"ref: refs/heads/master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",9,8],["cp",10,9],["cp",0,12],["cp",14,13],["cp",0,14]],"B":[["cp",9,8],["cp",0,9],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305110038.53619},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110038.81874},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110038.93083},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110039.01075},{"y":25,"x":15,"t":1305110039.08266},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305110039.25086},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305110039.41881},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305110039.55478},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305110039.6427},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305110039.79474},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305110039.95458},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",2,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",8,7],["cp",9,8],["cp",0,11],["cp",13,12],["cp",0,13]],"B":[["cp",8,7],["cp",0,8],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305110040.34672},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",1,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,19,"* master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",7,6],["cp",8,7],["cp",0,10],["cp",12,11],["cp",0,12],[23,2,7,["a","2"]]],"B":[["cp",7,6],["cp",0,7],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20]],"t":1305110040.35438},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110041.14655},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110041.23479},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110041.33842},{"y":25,"x":15,"t":1305110041.37844},{"d":[["r","to do so with: "],["a"," "],["r"," git branch new_branch_name 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],["a"," "],["r","Switched to branch 'master' "],["r","bash-3.2$ git log --oneline --graph --decorate "],["r","* 6af1352 (HEAD, master) does master follow this new commit? "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git show 6630c7c "],["r","commit 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 18:33:06 2011 +0800 "],["a"," "],["r"," commit in detached HEAD mode. "],["a"," "],["r","diff --git a/detached-commit.txt b/detached-commit.txt "],["r","new file mode 100644 "],["r","index 0000000..e69de29 "],["r","bash-3.2$ cat .git/HEAD "],["r","ref: refs/heads/master "],["r","bash-3.2$ git branch "],["r","* master "],["r","bash-3.2$ git m "]],"x":16,"B":[["a","0"],"d","d","d","d","d",["r","00000000000111100111111000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d",["r","11111111111111111111111111111111111111111111111111111100000000000000000000000000"],["r","11111111111111111111000000000000000000000000000000000000000000000000000000000000"],["r","11111111111111111111110000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d",["r","77333333333666633222222377777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d",["r","77222222777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305110042.02632,"i":1},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305110042.89044},{"y":25,"d":[[24,16,"r"]],"x":18,"t":1305110043.17836},{"y":25,"d":[[24,17,"g"]],"x":19,"t":1305110043.41042},{"y":25,"d":[[24,18,"e"]],"x":20,"t":1305110043.56235},{"y":25,"x":21,"t":1305110043.69044},{"y":25,"d":[[24,20,21,["a","6"]]],"x":23,"t":1305110044.40274},{"y":25,"d":[[24,22,26,"30c7c"]],"x":28,"t":1305110044.40281},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",0,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",6,5],["cp",7,6],["cp",0,9],["cp",11,10],["cp",0,11],["cp",23,22],["cp",0,23]],"B":[["cp",6,5],["cp",0,6],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,19]],"t":1305110045.40266},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,26,"Merge made by recursive. "]],"x":1,"f":[["cp",5,4],["cp",6,5],["cp",0,8],["cp",10,9],["cp",0,10],["cp",22,21],["cp",0,22]],"B":[["cp",5,4],["cp",0,5],["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,18]],"t":1305110045.68647},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,48," 0 files changed, 0 insertions(+), 0 deletions(-)"],[23,0,38," create mode 100644 detached-commit.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,2],["cp",5,3],["cp",3,4],["cp",0,6],["cp",9,7],["cp",0,9],["cp",21,19],["cp",0,21]],"B":[["cp",4,2],["cp",0,4],["cp",15,13],["cp",16,14],["cp",17,15],["cp",0,16],["cp",0,17]],"t":1305110045.692},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305110048.28231},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305110048.38611},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",9,24]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",0,5],["cp",7,6],["cp",0,7],["cp",19,18],["cp",0,19]],"B":[["cp",2,1],["cp",0,2],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15]],"t":1305110048.51463},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,47,"detached-commit.txt new-commit.txt welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",6,5],["cp",4,6],["cp",18,17],["cp",4,18]],"B":[["cp",1,0],["cp",2,1],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14]],"t":1305110048.52053},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110051.75432},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110051.84207},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110051.96996},{"y":25,"x":15,"t":1305110052.04991},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305110055.29003},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305110055.45784},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305110055.52184},{"y":25,"x":19,"t":1305110055.62689},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305110055.81},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305110055.99369},{"y":25,"d":[[24,20,"g"]],"x":22,"t":1305110056.12189},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305110056.28177},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305110056.41764},{"y":25,"d":[[24,23,"p"]],"x":25,"t":1305110056.5857},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305110056.72178},{"y":25,"x":27,"t":1305110056.88188},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305110057.03386},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305110057.20186},{"y":25,"d":[[24,28,"o"]],"x":30,"t":1305110057.40179},{"y":25,"d":[[24,29,"n"]],"x":31,"t":1305110057.52973},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305110057.64972},{"y":25,"d":[[24,31,"l"]],"x":33,"t":1305110057.72186},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305110057.88977},{"y":25,"d":[[24,33,"n"]],"x":35,"t":1305110057.99378},{"y":25,"d":[[24,34,"e"]],"x":36,"t":1305110058.0975},{"y":25,"x":37,"t":1305110058.30564},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",7,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",5,4],["cp",3,5],["cp",17,16],["cp",3,17]],"B":[["cp",1,0],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13]],"t":1305110058.77777},{"y":25,"d":[["cp",8,0],["cp",7,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,2,33," 1086811 Merge commit '6630c7c'"],[17,0,26,"|\\ "],[18,0,40,"| * 6630c7c commit in detached HEAD mode."],[19,0,48,"* | 6af1352 does master follow this new commit? "],[20,0,38,"|/ "],[21,0,34,"* 0e3a4c9 which version checked in?"],[22,0,47,"* 61b1516 who does commit? "],[23,0,34,"* 3869015 intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",0,1],["cp",0,2],["cp",0,4],["cp",16,8],[16,2,10,"773333333"],[17,0,1,"12"],[18,0,10,"17773333333"],[19,2,10,"273333333"],[20,0,1,["a","2"]],[21,2,8,["a","3"]],["cp",21,22],["cp",21,23]],"B":[["cp",10,2],["cp",11,3],["cp",12,4],["cp",0,10],["cp",0,11],["cp",0,12]],"t":1305110058.82647},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110062.40962},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110062.48146},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110062.5933},{"y":25,"x":15,"t":1305110062.64977},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305110062.92928},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305110063.07336},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305110063.20943},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305110063.44145},{"y":25,"d":[[24,18,"f"]],"x":20,"t":1305110063.59328},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305110063.69715},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305110063.76939},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305110063.88142},{"y":25,"x":24,"t":1305110063.96114},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305110064.08941},{"y":25,"d":[[24,24,"p"]],"x":26,"t":1305110064.35336},{"y":25,"x":27,"t":1305110064.52939},{"y":25,"d":[[24,26,"H"]],"x":28,"t":1305110064.91353},{"y":25,"d":[[24,27,"E"]],"x":29,"t":1305110065.03317},{"y":25,"d":[[24,28,"A"]],"x":30,"t":1305110065.16128},{"y":25,"d":[[24,29,"D"]],"x":31,"t":1305110065.25742},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",8,7],["cp",0,8],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,23]],"B":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4]],"t":1305110065.59308},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",21,14],["cp",22,15],["cp",23,16],[17,0,44,"tree ab676f92936000457b01507e04f4058e855d4df0"],[18,0,46,"parent 6af1352e5a38c4987c99bc9bc8c7213f48bfeea4"],[19,0,46,"parent 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c"],[20,0,53,"author Jiang Xin 1305110045 +0800"],[21,0,56,"committer Jiang Xin 1305110045 +0800"],["cp",24,22],[23,0,29,"Merge commit '6630c7c' "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",7,0],["cp",1,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",13,14],["cp",13,15],["cp",1,16],["cp",1,17],["cp",1,18],["cp",1,19],["cp",1,20],["cp",1,21],["cp",1,22]],"B":[["cp",0,1],["cp",0,2],["cp",0,3]],"t":1305110065.60301},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110069.4731},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110069.56093},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110069.68117},{"y":25,"x":15,"t":1305110069.72098},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305110069.93688},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305110070.08914},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305110070.24129},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305110070.89696},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305110071.08093},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305110071.17715},{"y":25,"x":22,"t":1305110071.2811},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",21,24]],"x":1,"f":[["cp",1,0],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,15]],"t":1305110072.36875},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",13,0],["cp",14,1],["cp",15,2],["cp",16,3],["cp",17,4],["cp",18,5],["cp",19,6],["cp",20,7],["cp",21,8],["cp",22,9],["cp",23,10],[11,0,56,"1086811 HEAD@{0}: merge 6630c7c: Merge made by recursive."],[12,0,77,"6af1352 HEAD@{1}: checkout: moving from 6630c7cedc697ae87e9907b7a2ce9f71f2e322"],[13,0,54,"6630c7c HEAD@{2}: commit: commit in detached HEAD mode."],[14,0,54,"0e3a4c9 HEAD@{3}: checkout: moving from master to HEAD^"],[15,0,42,"6af1352 HEAD@{4}: master@{2}: updating HEAD"],[16,0,44,"3869015 HEAD@{5}: HEAD^^: updating HEAD "],[17,0,46,"0e3a4c9 HEAD@{6}: HEAD^: updating HEAD "],[18,0,60,"6af1352 HEAD@{7}: commit: does master follow this new commit?"],[19,0,53,"0e3a4c9 HEAD@{8}: commit: which version checked in? "],[20,0,56,"61b1516 HEAD@{9}: commit (amend): who does commit? "],[21,0,50,"ca0c91c HEAD@{10}: commit (amend): who does commit?"],[22,0,42,"c615828 HEAD@{11}: commit: who does commit?"],[23,0,47,"3869015 HEAD@{12}: commit (initial): intialized."],[24,0,4,"(END)"]],"x":7,"f":[["cp",12,0],["cp",0,1],["cp",2,7],["cp",2,8],["cp",2,9],["cp",2,10],[11,0,6,["a","3"]],["cp",11,12],["cp",11,13],["cp",11,14],["cp",11,15],["cp",11,16],["cp",11,17],["cp",11,18],["cp",11,19],["cp",11,20],["cp",11,21],["cp",11,22],["cp",11,23],[24,0,5,["a","0"]]],"t":1305110072.3802},{"y":25,"b":[["cp",0,24]],"d":[["cp",8,24]],"x":1,"f":[["cp",2,24]],"t":1305110074.91291},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305110074.91445},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305110075.50479},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305110075.59256},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305110075.70479},{"y":25,"x":15,"t":1305110075.76077},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305110075.96072},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305110076.11281},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305110076.29678},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305110076.98467},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305110077.14457},{"y":25,"d":[["cp",10,24]],"x":21,"t":1305110077.23259},{"y":25,"x":22,"t":1305110077.31282},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305110077.76059},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305110077.85654},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305110077.95262},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305110078.02457},{"y":25,"x":27,"t":1305110078.31245},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305110078.52188},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305110078.60058},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305110078.73661},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305110078.88052},{"d":[["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git cat-file -p HEAD "],["r","tree ab676f92936000457b01507e04f4058e855d4df0 "],["r","parent 6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 "],["r","parent 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],["r","author Jiang Xin 1305110045 +0800 "],["r","committer Jiang Xin 1305110045 +0800 "],["a"," "],["r","Merge commit '6630c7c' "],["r","bash-3.2$ git reflog "],["r","1086811 HEAD@{0}: merge 6630c7c: Merge made by recursive. "],["r","6af1352 HEAD@{1}: checkout: moving from 6630c7cedc697ae87e9907b7a2ce9f71f2e322 "],["r","6630c7c HEAD@{2}: commit: commit in detached HEAD mode. "],["r","0e3a4c9 HEAD@{3}: checkout: moving from master to HEAD^ "],["r","6af1352 HEAD@{4}: master@{2}: updating HEAD "],["r","3869015 HEAD@{5}: HEAD^^: updating HEAD "],["r","0e3a4c9 HEAD@{6}: HEAD^: updating HEAD "],["r","6af1352 HEAD@{7}: commit: does master follow this new commit? "],["r","0e3a4c9 HEAD@{8}: commit: which version checked in? "],["r","61b1516 HEAD@{9}: commit (amend): who does commit? "],["r","ca0c91c HEAD@{10}: commit (amend): who does commit? "],["r","c615828 HEAD@{11}: commit: who does commit? "],["r","3869015 HEAD@{12}: commit (initial): intialized. "],["r","bash-3.2$ git reflog show maste "]],"x":32,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d","d","d","d","d","d","d","d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d","d","d","d","d","d","d","d",["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305110079.04048,"i":1},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305110079.11252},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"f":[["cp",2,1],["cp",11,10],["cp",1,23]],"t":1305110080.73631},{"y":25,"d":[["cp",10,0],["cp",11,1],["cp",12,2],["cp",13,3],["cp",14,4],["cp",15,5],["cp",16,6],["cp",17,7],["cp",18,8],["cp",19,9],["cp",20,10],["cp",21,11],["cp",22,12],["cp",23,13],[14,0,58,"1086811 master@{0}: merge 6630c7c: Merge made by recursive."],[15,0,44,"6af1352 master@{1}: master@{2}: updating HEAD"],[16,0,40,"3869015 master@{2}: HEAD^^: updating HEAD"],[17,0,60,"0e3a4c9 master@{3}: HEAD^: updating HEAD "],[18,0,62,"6af1352 master@{4}: commit: does master follow this new commit?"],[19,0,52,"0e3a4c9 master@{5}: commit: which version checked in?"],[20,0,51,"61b1516 master@{6}: commit (amend): who does commit?"],[21,1,51,"a0c91c master@{7}: commit (amend): who does commit?"],[22,0,47,"c615828 master@{8}: commit: who does commit? "],[23,0,48,"3869015 master@{9}: commit (initial): intialized."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",10,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",23,13],["cp",0,23]],"t":1305110080.75018},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,48,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",0,13],["cp",12,23]],"t":1305110083.59314}]} \ No newline at end of file diff --git a/html/part2/ch09-01-i-am-back.html b/html/part2/ch09-01-i-am-back.html deleted file mode 100644 index 2b4aec502..000000000 --- a/html/part2/ch09-01-i-am-back.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch09-01-i-am-back -json_file: ch09-01-i-am-back.json ---- diff --git a/html/part2/ch09-01-i-am-back.json b/html/part2/ch09-01-i-am-back.json deleted file mode 100644 index c3625eb6e..000000000 --- a/html/part2/ch09-01-i-am-back.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305111770.34188,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305111770.98285},{"y":2,"x":1,"t":1305111771.55074},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305111771.55099},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305111773.05516},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305111773.15891},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305111773.24702},{"y":2,"x":15,"t":1305111773.35214},{"y":2,"d":[[1,14,"s"]],"x":16,"t":1305111773.91879},{"y":2,"d":[[1,15,"t"]],"x":17,"t":1305111774.07077},{"y":2,"d":[[1,16,"a"]],"x":18,"t":1305111774.19876},{"y":2,"d":[[1,17,"t"]],"x":19,"t":1305111774.29475},{"y":2,"d":[[1,18,"u"]],"x":20,"t":1305111774.48688},{"y":2,"d":[[1,19,"s"]],"x":21,"t":1305111774.62318},{"y":2,"x":22,"t":1305111775.15232},{"y":2,"d":[[1,21,"-"]],"x":23,"t":1305111775.31078},{"y":2,"d":[[1,22,"s"]],"x":24,"t":1305111775.39872},{"y":2,"x":25,"t":1305111775.5028},{"y":2,"d":[[1,24,"-"]],"x":26,"t":1305111775.62266},{"y":2,"d":[[1,25,"b"]],"x":27,"t":1305111775.7427},{"y":3,"x":1,"t":1305111775.95077},{"y":4,"d":[[2,0,8,"## master"],[3,0,8,"bash-3.2$"]],"x":11,"f":[[2,3,8,["a","2"]]],"t":1305111775.96029},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305111778.26295},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305111778.35056},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305111778.47066},{"y":4,"x":15,"t":1305111778.56683},{"y":4,"d":[[3,14,"l"]],"x":16,"t":1305111779.31037},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305111779.49433},{"y":4,"d":[[3,16,"g"]],"x":18,"t":1305111779.57453},{"y":4,"x":19,"t":1305111779.65431},{"y":4,"d":[[3,18,"-"]],"x":20,"t":1305111779.79829},{"y":4,"d":[[3,19,"-"]],"x":21,"t":1305111779.98263},{"y":4,"d":[[3,20,"g"]],"x":22,"t":1305111780.04647},{"y":4,"d":[[3,21,"r"]],"x":23,"t":1305111780.20658},{"y":4,"d":[[3,22,"a"]],"x":24,"t":1305111780.31055},{"y":4,"d":[[3,23,"p"]],"x":25,"t":1305111780.41451},{"y":4,"d":[[3,24,"h"]],"x":26,"t":1305111780.57461},{"y":4,"x":27,"t":1305111781.11868},{"y":4,"d":[[3,26,"-"]],"x":28,"t":1305111781.27041},{"y":4,"d":[[3,27,"-"]],"x":29,"t":1305111781.46266},{"y":4,"d":[[3,28,"o"]],"x":30,"t":1305111781.97442},{"y":4,"d":[[3,29,"n"]],"x":31,"t":1305111782.14244},{"y":4,"d":[[3,30,"e"]],"x":32,"t":1305111782.22369},{"y":4,"d":[[3,31,"l"]],"x":33,"t":1305111782.31857},{"y":4,"d":[[3,32,"i"]],"x":34,"t":1305111782.44616},{"y":4,"d":[[3,33,"n"]],"x":35,"t":1305111782.57435},{"y":4,"d":[[3,34,"e"]],"x":36,"t":1305111782.73425},{"y":4,"x":37,"t":1305111783.2622},{"y":5,"x":1,"t":1305111783.99822},{"y":13,"d":[[4,0,33,"* 1086811 Merge commit '6630c7c'"],[5,0,1,"|\\"],[6,0,40,"| * 6630c7c commit in detached HEAD mode."],[7,0,46,"* | 6af1352 does master follow this new commit?"],[8,0,1,"|/"],[9,0,34,"* 0e3a4c9 which version checked in?"],[10,0,25,"* 61b1516 who does commit?"],[11,0,20,"* 3869015 intialized."],[12,0,8,"bash-3.2$"]],"x":11,"f":[[4,4,10,["a","3"]],[5,0,1,"12"],[6,0,10,"17773333333"],[7,2,10,"273333333"],[8,0,1,["a","2"]],[9,2,8,["a","3"]],["cp",9,10],["cp",9,11]],"t":1305111784.01278},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305111788.06217},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305111788.13425},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305111788.26203},{"y":13,"x":15,"t":1305111788.32665},{"y":13,"d":[[12,14,"s"]],"x":16,"t":1305111788.71018},{"y":13,"d":[[12,15,"t"]],"x":17,"t":1305111788.89504},{"y":13,"d":[[12,16,"a"]],"x":18,"t":1305111789.06196},{"y":13,"d":[[12,17,"s"]],"x":19,"t":1305111789.24594},{"y":13,"d":[[12,18,"h"]],"x":20,"t":1305111789.37413},{"y":13,"x":21,"t":1305111789.51808},{"y":13,"d":[[12,20,"l"]],"x":22,"t":1305111789.63808},{"y":13,"d":[[12,21,"i"]],"x":23,"t":1305111789.75789},{"y":13,"d":[[12,22,"s"]],"x":24,"t":1305111789.81414},{"y":13,"d":[[12,23,"t"]],"x":25,"t":1305111789.91799},{"y":14,"x":1,"t":1305111790.67805},{"y":14,"x":1,"t":1305111790.74501},{"y":15,"d":[[13,0,58,"stash@{0}: WIP on master: 0e3a4c9 which version checked in?"],[14,0,8,"bash-3.2$"]],"x":11,"t":1305111790.74946},{"y":15,"d":[[14,10,"g"]],"x":12,"t":1305111792.414},{"y":15,"d":[[14,11,"i"]],"x":13,"t":1305111792.494},{"y":15,"d":[[14,12,"t"]],"x":14,"t":1305111792.60654},{"y":15,"x":15,"t":1305111792.68607},{"y":15,"d":[[14,14,"r"]],"x":16,"t":1305111793.21388},{"y":15,"d":[[14,15,"e"]],"x":17,"t":1305111793.35768},{"y":15,"d":[[14,16,"f"]],"x":18,"t":1305111793.4858},{"y":15,"d":[[14,17,"l"]],"x":19,"t":1305111794.1577},{"y":15,"d":[[14,18,"o"]],"x":20,"t":1305111794.31771},{"y":15,"d":[[14,19,"g"]],"x":21,"t":1305111794.42176},{"y":15,"x":22,"t":1305111794.52584},{"y":15,"d":[[14,21,"s"]],"x":23,"t":1305111794.65374},{"y":15,"d":[[14,22,"h"]],"x":24,"t":1305111794.71791},{"y":15,"d":[[14,23,"o"]],"x":25,"t":1305111794.81387},{"y":15,"d":[[14,24,"w"]],"x":26,"t":1305111794.92586},{"y":15,"x":27,"t":1305111794.98969},{"y":15,"d":[[14,26,"m"]],"x":28,"t":1305111795.1896},{"y":15,"d":[[14,27,"a"]],"x":29,"t":1305111795.27777},{"y":15,"d":[[14,28,"s"]],"x":30,"t":1305111795.38991},{"y":15,"d":[[14,29,"t"]],"x":31,"t":1305111795.51763},{"y":15,"d":[[14,30,"e"]],"x":32,"t":1305111795.66986},{"y":15,"d":[[14,31,"r"]],"x":33,"t":1305111795.7419},{"y":15,"x":34,"t":1305111795.94248},{"y":15,"d":[[14,33,"-"]],"x":35,"t":1305111796.11755},{"y":15,"d":[[14,34,"1"]],"x":36,"t":1305111796.27776},{"y":16,"x":1,"t":1305111796.43754},{"y":17,"d":[[15,0,58,"1086811 master@{0}: merge 6630c7c: Merge made by recursive."],[16,0,8,"bash-3.2$"]],"x":11,"f":[[15,0,6,["a","3"]]],"t":1305111796.44879},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305111799.49349},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305111799.58148},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305111799.70135},{"y":17,"x":15,"t":1305111799.77347},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305111800.08543},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305111800.24555},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git status -s -b "],["r","## master "],["r","bash-3.2$ git log --graph --oneline "],["r","* 1086811 Merge commit '6630c7c' "],["r","|\\ "],["r","| * 6630c7c commit in detached HEAD mode. "],["r","* | 6af1352 does master follow this new commit? "],["r","|/ "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 0e3a4c9 which version checked in? "],["r","bash-3.2$ git reflog show master -1 "],["r","1086811 master@{0}: merge 6630c7c: Merge made by recursive. "],["r","bash-3.2$ git sta "],["a"," "],"d","d","d","d","d","d","d"],"x":18,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":17,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","77722222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","77773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","12777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","17773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","77273333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","22777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305111800.39771,"i":1},{"y":17,"d":[[16,17,"s"]],"x":19,"t":1305111800.58171},{"y":17,"d":[[16,18,"h"]],"x":20,"t":1305111800.70955},{"y":17,"x":21,"t":1305111801.11765},{"y":17,"d":[[16,20,"p"]],"x":22,"t":1305111801.46939},{"y":17,"d":[[16,21,"o"]],"x":23,"t":1305111801.58151},{"y":17,"d":[[16,22,"p"]],"x":24,"t":1305111801.78151},{"y":18,"x":1,"t":1305111802.14932},{"y":19,"d":[[17,0,17,"# On branch master"]],"x":1,"t":1305111802.6486},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],[12,0,25,"# Changes to be committed:"],[13,0,58,"# (use \"git reset HEAD ...\" to unstage) "],[14,0,34,"# "],[15,0,58,"# new file: a/b/c/hello.txt "],["cp",14,16],[17,2,31,"Changes not staged for commit:"],[18,0,61,"# (use \"git add ...\" to update what will be committed)"],[19,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],["cp",14,20],[21,0,"#"],[21,8,30,"modified: welcome.txt"],["cp",14,22],[23,0,64,"Dropped refs/stash@{0} (f7ec48f2f00a23f5d265baa10c8b5f73ec97112a)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",3,4],["cp",3,5],["cp",12,6],["cp",6,7],["cp",6,8],["cp",15,9],["cp",6,10],["cp",6,11],[15,0,34,"77777777222222222222222222222222222"],[21,8,30,["a","1"]]],"t":1305111802.67102},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111810.86132},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111810.96552},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111811.07699},{"y":25,"x":15,"t":1305111811.15694},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111811.30887},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111811.46888},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111811.62911},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111811.70899},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111811.82098},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111811.90093},{"y":25,"x":22,"t":1305111812.06897},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111812.1887},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305111812.28473},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",13,19],["cp",21,20],["cp",13,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",6,5],["cp",9,8],["cp",5,9],["cp",15,14],["cp",5,15],["cp",21,20],["cp",5,21]],"t":1305111812.62318},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",16,14],["cp",17,15],["cp",18,16],["cp",11,17],["cp",20,18],["cp",22,20],["cp",23,21],[22,0,64,"A a/b/c/hello.txt "],[23,0,22," M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",5,3],["cp",3,4],["cp",8,6],["cp",3,8],["cp",14,12],["cp",3,14],["cp",20,18],["cp",3,20],[22,0,"2"],[23,1,"1"]],"t":1305111812.62866},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111817.46866},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111817.58044},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111817.66898},{"y":25,"x":15,"t":1305111817.74872},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305111817.9244},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305111818.00447},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305111818.15652},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305111818.73245},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305111818.94055},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305111819.03674},{"y":25,"x":22,"t":1305111819.1405},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111819.32459},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305111819.5805},{"y":25,"x":25,"t":1305111819.78065},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305111820.26983},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305111822.1807},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305111822.37293},{"y":25,"d":[[24,27,"d"]],"x":29,"t":1305111822.53231},{"y":25,"x":30,"t":1305111822.62855},{"y":25,"d":[[24,29,"n"]],"x":31,"t":1305111822.7325},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305111822.8283},{"y":25,"d":[[24,31,"w"]],"x":33,"t":1305111822.94877},{"y":25,"x":34,"t":1305111823.21232},{"y":25,"d":[[24,33,"f"]],"x":35,"t":1305111823.42034},{"y":25,"d":[[24,34,"i"]],"x":36,"t":1305111823.47649},{"y":25,"d":[[24,35,"l"]],"x":37,"t":1305111823.58817},{"y":25,"d":[[24,36,"e"]],"x":38,"t":1305111823.70828},{"y":25,"d":[[24,37,":"]],"x":39,"t":1305111825.26819},{"y":25,"x":40,"t":1305111825.44423},{"y":25,"d":[[24,39,"a"]],"x":41,"t":1305111825.8043},{"y":25,"d":[[24,40,"/"]],"x":42,"t":1305111825.9162},{"y":25,"d":[[24,41,"b"]],"x":43,"t":1305111826.08422},{"y":25,"d":[[24,42,"/"]],"x":44,"t":1305111826.16407},{"y":25,"d":[[24,43,"c"]],"x":45,"t":1305111826.36422},{"y":25,"d":[[24,44,"/"]],"x":46,"t":1305111826.78809},{"y":25,"d":[[24,45,"h"]],"x":47,"t":1305111827.88428},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305111827.9802},{"y":25,"d":[[24,47,"l"]],"x":49,"t":1305111828.08435},{"y":25,"d":[[24,48,"l"]],"x":50,"t":1305111828.24382},{"y":25,"d":[[24,49,"o"]],"x":51,"t":1305111828.39615},{"y":25,"d":[[24,50,"."]],"x":52,"t":1305111828.55591},{"y":25,"d":[[24,51,"t"]],"x":53,"t":1305111828.61202},{"y":25,"d":[[24,52,"x"]],"x":54,"t":1305111828.74008},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305111828.8521},{"y":25,"d":[[24,54,","]],"x":56,"t":1305111829.05211},{"y":25,"x":57,"t":1305111829.21196},{"y":25,"d":[[24,56,"b"]],"x":58,"t":1305111830.47601},{"y":25,"d":[[24,57,"u"]],"x":59,"t":1305111830.59607},{"y":25,"d":[[24,58,"t"]],"x":60,"t":1305111830.73975},{"y":25,"x":61,"t":1305111830.86791},{"y":25,"d":[[24,60,"l"]],"x":62,"t":1305111831.02781},{"y":25,"d":[[24,61,"i"]],"x":63,"t":1305111831.19628},{"y":25,"d":[[24,61," "]],"x":62,"t":1305111831.74765},{"y":25,"d":[[24,61,"e"]],"x":63,"t":1305111831.85982},{"y":25,"d":[[24,62,"a"]],"x":64,"t":1305111832.01169},{"y":25,"d":[[24,63,"v"]],"x":65,"t":1305111832.13984},{"y":25,"d":[[24,64,"e"]],"x":66,"t":1305111832.3158},{"y":25,"x":67,"t":1305111832.49974},{"y":25,"d":[[24,66,"w"]],"x":68,"t":1305111833.49183},{"y":25,"d":[[24,67,"e"]],"x":69,"t":1305111833.64384},{"y":25,"d":[[24,68,"l"]],"x":70,"t":1305111833.77967},{"y":25,"d":[[24,69,"c"]],"x":71,"t":1305111833.95577},{"y":25,"d":[[24,70,"o"]],"x":72,"t":1305111834.05192},{"y":25,"d":[[24,71,"m"]],"x":73,"t":1305111834.20373},{"y":25,"d":[[24,72,"e"]],"x":74,"t":1305111834.30791},{"y":25,"d":[[24,73,"."]],"x":75,"t":1305111834.43561},{"y":25,"d":[[24,74,"t"]],"x":76,"t":1305111834.53983},{"y":25,"d":[[24,75,"x"]],"x":77,"t":1305111834.67577},{"y":25,"d":[[24,76,"t"]],"x":78,"t":1305111834.77978},{"y":25,"x":1,"t":1305111834.9076},{"y":25,"d":[[24,0,"a"]],"x":2,"t":1305111835.0837},{"y":25,"d":[[24,1,"l"]],"x":3,"t":1305111835.1812},{"y":25,"d":[[24,2,"o"]],"x":4,"t":1305111835.34771},{"y":25,"d":[[24,3,"n"]],"x":5,"t":1305111835.46781},{"y":25,"d":[[24,4,"e"]],"x":6,"t":1305111835.56363},{"d":[["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 0e3a4c9 which version checked in? "],["r","bash-3.2$ git reflog show master -1 "],["r","1086811 master@{0}: merge 6630c7c: Merge made by recursive. "],["r","bash-3.2$ git stash pop "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# new file: a/b/c/hello.txt "],["r","# "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","Dropped refs/stash@{0} (f7ec48f2f00a23f5d265baa10c8b5f73ec97112a) "],["r","bash-3.2$ git status -s "],["r","A a/b/c/hello.txt "],["r"," M welcome.txt "],["r","alone..2$ git commit -m \"add new file: a/b/c/hello.txt, but leave welcome.txt "]],"x":7,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777222222222222222222222222222777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305111835.6917,"i":1},{"y":25,"d":[[24,6,"\""]],"x":8,"t":1305111836.14778},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",10,16],["cp",18,17],["cp",10,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",6,5],["cp",2,6],["cp",12,11],["cp",2,12],["cp",18,17],["cp",2,18],["cp",22,21],["cp",23,22],["cp",2,23]],"t":1305111836.32363},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",9,15],["cp",17,16],["cp",9,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,76,"[master 0b4861c] add new file: a/b/c/hello.txt, but leave welcome.txt alone. "]],"x":1,"f":[["cp",2,1],["cp",5,4],["cp",1,5],["cp",11,10],["cp",1,11],["cp",17,16],["cp",1,17],["cp",21,20],["cp",22,21],["cp",1,22]],"t":1305111836.63397},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",12,10],["cp",13,11],["cp",14,12],["cp",7,13],["cp",16,14],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,76," 1 files changed, 2 insertions(+), 0 deletions(-) "],[23,0,75," create mode 100644 a/b/c/hello.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",4,2],["cp",0,4],["cp",10,8],["cp",0,10],["cp",16,14],["cp",0,16],["cp",20,18],["cp",21,19],["cp",0,20],["cp",0,21]],"t":1305111836.63518},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111837.97161},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111838.05161},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111838.13173},{"y":25,"x":15,"t":1305111838.20346},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111838.2916},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111838.40345},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111838.53164},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111838.6036},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111838.6834},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111838.75538},{"y":25,"x":22,"t":1305111838.88353},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111838.97146},{"y":25,"d":[["cp",17,24]],"x":24,"t":1305111839.07542},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",6,12],["cp",14,13],["cp",6,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",16,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",14,13],["cp",0,14],["cp",18,17],["cp",19,18],["cp",0,19]],"t":1305111839.17995},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",5,11],["cp",13,12],["cp",5,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",15,22],["cp",17,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",7,6],["cp",1,7],["cp",13,12],["cp",1,13],["cp",17,16],["cp",18,17],["cp",1,18],["cp",17,23]],"t":1305111839.19465},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111842.21937},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111842.30743},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111842.42742},{"y":25,"x":15,"t":1305111842.48331},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111844.33938},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111844.4673},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111844.62731},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305111845.09932},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305111845.20315},{"y":25,"x":21,"t":1305111845.33139},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305111845.59499},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305111845.73122},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305111845.76319},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305111845.85919},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",14,21],["cp",16,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",12,11],["cp",0,12],["cp",16,15],["cp",17,16],["cp",0,17],["cp",16,22],["cp",0,23]],"t":1305111845.99514},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111846.05468},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111846.78731},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111846.8674},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111846.98028},{"y":25,"x":15,"t":1305111847.07541},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111850.05118},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111850.20305},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111850.33891},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111850.47466},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111850.64274},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111850.73091},{"y":25,"x":22,"t":1305111850.90707},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111851.10667},{"y":25,"d":[["cp",14,24]],"x":24,"t":1305111851.36288},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",13,20],["cp",15,21],["cp",23,22],["cp",13,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",11,10],["cp",0,11],["cp",15,14],["cp",16,15],["cp",0,16],["cp",15,21],["cp",0,22]],"t":1305111851.79482},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",14,20],["cp",22,21],["cp",12,22],["cp",14,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",0,4],["cp",10,9],["cp",0,10],["cp",14,13],["cp",15,14],["cp",0,15],["cp",14,20],["cp",0,21],["cp",14,23]],"t":1305111851.80355},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111852.54673},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111852.62688},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111852.77064},{"y":25,"x":15,"t":1305111852.82675},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305111854.01874},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305111854.17899},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305111854.31455},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305111854.39455},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305111854.4745},{"y":25,"x":21,"t":1305111854.58666},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305111854.74661},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111854.93214},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305111855.05068},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305111855.16264},{"y":25,"d":[[24,24,"f"]],"x":26,"t":1305111855.60269},{"y":25,"d":[[24,25,"t"]],"x":27,"t":1305111855.87481},{"y":25,"x":28,"t":1305111855.99477},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305111856.29872},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305111856.41849},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305111856.57863},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305111856.68256},{"y":25,"d":[[24,31,"^"]],"x":33,"t":1305111857.84348},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",13,19],["cp",21,20],["cp",11,21],["cp",13,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",9,8],["cp",0,9],["cp",13,12],["cp",14,13],["cp",0,14],["cp",13,19],["cp",0,20],["cp",13,22],["cp",0,23]],"t":1305111859.39485},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111859.406},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305111862.81032},{"y":25,"d":[[24,10,31,"/ "]],"x":12,"t":1305111863.01028},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305111863.23443},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305111863.43418},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305111863.57013},{"y":25,"d":[[24,10,34,"git reflog show master -1"]],"x":11,"t":1305111863.6824},{"y":25,"d":[[24,14,34,"log --graph --oneline"]],"x":11,"t":1305111864.96218},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",10,17],["cp",12,18],["cp",20,19],["cp",10,20],["cp",12,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",12,11],["cp",13,12],["cp",0,13],["cp",12,18],["cp",0,19],["cp",12,21],["cp",0,22]],"t":1305111865.82599},{"y":25,"d":[["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",2,9],["cp",4,10],["cp",19,11],["cp",2,12],["cp",4,13],["cp",22,14],["cp",23,15],[16,0,34,"* 1086811 Merge commit '6630c7c' "],[17,0,22,"|\\ "],[18,0,40,"| * 6630c7c commit in detached HEAD mode."],[19,0,46,"* | 6af1352 does master follow this new commit?"],[20,0,22,"|/ "],[21,0,34,"* 0e3a4c9 which version checked in?"],[22,0,31,"* 61b1516 who does commit? "],[23,0,34,"* 3869015 intialized. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",11,3],["cp",12,4],["cp",0,7],["cp",4,10],["cp",0,11],["cp",0,12],["cp",4,13],[16,4,10,["a","3"]],[17,0,1,"12"],[18,0,10,"17773333333"],[19,2,10,"273333333"],[20,0,1,["a","2"]],[21,1,8,"73333333"],["cp",21,22],["cp",21,23]],"t":1305111865.83848},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111870.3058},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111870.40185},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111870.53},{"y":25,"x":15,"t":1305111870.6098},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111872.62607},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111872.77779},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111872.91379},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111873.19364},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111873.36966},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111873.45083},{"y":25,"x":22,"t":1305111873.60167},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111873.68986},{"y":25,"d":[["cp",2,24]],"x":24,"t":1305111873.80997},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",1,8],["cp",3,9],["cp",11,10],["cp",1,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",1,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",4,3],["cp",0,4],["cp",3,9],["cp",0,10],["cp",3,12],["cp",0,13],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,23]],"t":1305111873.96157},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",1,7],["cp",10,8],["cp",6,9],["cp",1,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",6,21],["cp",0,22],["cp",1,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",2,3],["cp",1,7],["cp",2,9],["cp",1,10],["cp",2,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",18,19],["cp",2,21],["cp",0,22],["cp",1,23]],"t":1305111873.97105},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111875.12175},{"d":[["r","A a/b/c/hello.txt "],["r"," M welcome.txt "],["r","alone.\"2$ git commit -m \"add new file: a/b/c/hello.txt, but leave welcome.txt "],["r","[master 0b4861c] add new file: a/b/c/hello.txt, but leave welcome.txt alone. "],["r"," 1 files changed, 2 insertions(+), 0 deletions(-) "],["r"," create mode 100644 a/b/c/hello.txt "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","bash-3.2$ git stash list "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","bash-3.2$ git reset --soft HEAD^ "],["r","bash-3.2$ git log --graph --oneline "],["r","* 1086811 Merge commit '6630c7c' "],["r","|\\ "],["r","| * 6630c7c commit in detached HEAD mode. "],["r","* | 6af1352 does master follow this new commit? "],["r","|/ "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git status -s "],["r","A a/b/c/hello.txt "],["r"," M welcome.txt "],["r","bash-3.2$ gi "]],"x":13,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","77773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","12777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","17773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","77273333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","22777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305111875.20173,"i":1},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111875.32984},{"y":25,"x":15,"t":1305111875.39348},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305111876.75358},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305111876.92162},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305111877.07368},{"y":25,"x":19,"t":1305111877.1615},{"y":25,"d":[[24,18,"w"]],"x":20,"t":1305111877.31362},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305111877.46564},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305111877.60154},{"y":25,"d":[[24,21,28,"come.txt"]],"x":30,"t":1305111877.74733},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",5,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",5,20],["cp",22,21],["cp",0,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,6],["cp",1,7],["cp",0,9],["cp",1,10],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",1,20],["cp",22,21],["cp",0,22],["cp",1,23]],"t":1305111878.24958},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111878.26138},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111879.37745},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111879.47359},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111879.56171},{"y":25,"x":15,"t":1305111879.64951},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111879.74553},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111879.8424},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111879.97741},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111880.04155},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111880.15362},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111880.23334},{"y":25,"x":22,"t":1305111880.38545},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111880.49749},{"y":25,"d":[["cp",5,24]],"x":24,"t":1305111880.61731},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",5,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",4,19],["cp",21,20],["cp",5,21],["cp",23,22],["cp",4,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",5,8],["cp",0,9],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,19],["cp",21,20],["cp",5,21],["cp",0,22]],"t":1305111880.75326},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",2,5],["cp",3,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",2,17],["cp",20,18],["cp",3,19],["cp",22,20],["cp",2,21],["cp",18,22],[23,0,22,"M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,3],["cp",0,5],["cp",3,6],["cp",0,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",14,15],["cp",0,17],["cp",20,18],["cp",3,19],["cp",0,20],["cp",0,21],["cp",18,22],["cp",18,23]],"t":1305111880.76254},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111883.04931},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111883.12912},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111883.28157},{"y":25,"x":15,"t":1305111883.65743},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305111884.29713},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305111884.44916},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305111884.60115},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305111884.65736},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305111884.75303},{"y":25,"x":21,"t":1305111884.86511},{"y":25,"d":[[24,20,"H"]],"x":22,"t":1305111885.27354},{"y":25,"d":[[24,21,"E"]],"x":23,"t":1305111885.34515},{"y":25,"d":[[24,22,"A"]],"x":24,"t":1305111885.50508},{"y":25,"d":[[24,23,"D"]],"x":25,"t":1305111885.62538},{"y":25,"x":26,"t":1305111886.04923},{"y":25,"d":[[24,25,"-"]],"x":27,"t":1305111886.57719},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305111886.75302},{"y":25,"x":29,"t":1305111886.905},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305111888.28887},{"y":25,"d":[[24,29,"/"]],"x":31,"t":1305111888.84907},{"y":25,"d":[[24,30,"b"]],"x":32,"t":1305111888.96078},{"y":25,"d":[[24,31,"/"]],"x":33,"t":1305111889.06493},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305111889.21686},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",2,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",1,16],["cp",18,17],["cp",2,18],["cp",20,19],["cp",1,20],["cp",17,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",2,5],["cp",0,6],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,16],["cp",18,17],["cp",2,18],["cp",0,19],["cp",17,21],["cp",0,23]],"t":1305111889.44882},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111889.45697},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111890.44876},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111890.52101},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111890.63303},{"y":25,"x":15,"t":1305111890.69678},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111890.80107},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111890.91448},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111891.04875},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111891.13732},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111891.23306},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111891.31276},{"y":25,"x":22,"t":1305111891.46499},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111891.58472},{"y":25,"d":[["cp",1,24]],"x":24,"t":1305111891.69687},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15],["cp",17,16],["cp",1,17],["cp",19,18],["cp",0,19],["cp",16,20],["cp",22,21],["cp",23,22],["cp",0,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",1,4],["cp",0,5],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,15],["cp",17,16],["cp",1,17],["cp",0,18],["cp",16,20],["cp",0,22]],"t":1305111891.87301},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",1,13],["cp",16,14],["cp",2,15],["cp",18,16],["cp",1,17],["cp",14,18],["cp",21,19],["cp",22,20],["cp",1,21],["cp",19,22],[23,0,22,"?? a/ "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",4,2],["cp",0,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",10,11],["cp",0,13],["cp",16,14],["cp",2,15],["cp",0,16],["cp",0,17],["cp",14,18],["cp",14,19],["cp",0,20],["cp",0,21],["cp",14,22],[23,0,1,["a","1"]]],"t":1305111891.88074},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111894.35269},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111894.44055},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111894.55261},{"y":25,"x":15,"t":1305111894.63277},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305111894.81662},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305111894.93676},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305111895.07273},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305111895.15297},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305111895.23251},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",0,16],["cp",13,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",18,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,12],["cp",14,13],["cp",1,14],["cp",0,15],["cp",13,17],["cp",0,19],["cp",13,21],["cp",23,22],["cp",0,23]],"t":1305111895.65639},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",10,14],["cp",11,15],["cp",18,16],["cp",19,17],["cp",10,18],["cp",16,19],["cp",22,20],["cp",23,21],[22,0,28,"Unstaged changes after reset:"],[23,0,17,"M welcome.tx"]],"x":1,"f":[["cp",0,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",7,8],["cp",0,10],["cp",13,11],["cp",14,12],["cp",0,13],["cp",0,14],["cp",11,15],["cp",11,16],["cp",0,17],["cp",0,18],["cp",11,19],["cp",22,20],["cp",0,21],["cp",0,22]],"t":1305111895.66501},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111895.9362},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305111896.58444},{"y":25,"d":[["cp",10,24]],"x":11,"t":1305111896.74466},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",10,14],["cp",16,15],["cp",17,16],["cp",9,17],["cp",15,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",9,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",10,14],["cp",0,16],["cp",10,18],["cp",20,19],["cp",0,20]],"t":1305111897.20844},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",7,11],["cp",8,12],["cp",15,13],["cp",16,14],["cp",7,15],["cp",13,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",7,21],["cp",9,22],["cp",17,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",4,5],["cp",9,7],["cp",10,8],["cp",11,9],["cp",7,10],["cp",7,11],["cp",8,12],["cp",8,13],["cp",7,14],["cp",7,15],["cp",8,16],["cp",19,17],["cp",7,18],["cp",7,19],["cp",9,22],["cp",17,23]],"t":1305111897.21775},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111900.36847},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111900.47254},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111900.58452},{"y":25,"x":15,"t":1305111900.66419},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305111900.84028},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305111900.92056},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305111901.04051},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305111901.19262},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305111901.24859},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305111901.38433},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305111901.48139},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305111901.5443},{"y":25,"x":24,"t":1305111901.6483},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305111902.04833},{"y":25,"d":[[24,24,"-"]],"x":26,"t":1305111902.21646},{"y":25,"x":27,"t":1305111902.34435},{"d":[["r","|\\ "],["r","| * 6630c7c commit in detached HEAD mode. "],["r","* | 6af1352 does master follow this new commit? "],["r","|/ "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git status -s "],["r","A a/b/c/hello.txt "],["r"," M welcome.txt "],["r","bash-3.2$ git add welcome.txt "],["r","bash-3.2$ git status -s "],["r","A a/b/c/hello.txt "],["r","M welcome.txt "],["r","bash-3.2$ git reset HEAD -- a/b/c "],["r","bash-3.2$ git status -s "],["r","M welcome.txt "],["r","?? a/ "],["r","bash-3.2$ git reset "],["r","Unstaged changes after reset: "],["r","M welcome.txt "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","?? a/ "],["r","bash-3.2$ git checkout -- w "]],"x":28,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","12777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","17773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","77273333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","22777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305111902.59246,"i":1},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305111902.73621},{"y":25,"d":[[24,28,"l"]],"x":30,"t":1305111902.8322},{"y":25,"d":[[24,29,"c"]],"x":31,"t":1305111902.98415},{"y":25,"d":[[24,30,"o"]],"x":32,"t":1305111903.07223},{"y":25,"d":[[24,31,"m"]],"x":33,"t":1305111903.22425},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305111903.34445},{"y":25,"d":[[24,33,36,".txt"]],"x":38,"t":1305111903.56101},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",6,14],["cp",12,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",6,20],["cp",8,21],["cp",16,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",7,6],["cp",8,7],["cp",9,8],["cp",6,9],["cp",7,11],["cp",6,13],["cp",7,15],["cp",17,16],["cp",6,17],["cp",8,21],["cp",16,22],["cp",6,23]],"t":1305111904.0002},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111904.00824},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305111906.00818},{"y":25,"d":[[24,10,36,"/ "]],"x":12,"t":1305111906.22392},{"y":25,"d":[[24,11,"-"]],"x":13,"t":1305111906.60792},{"y":25,"d":[[24,12,"s"]],"x":14,"t":1305111906.72934},{"y":25,"d":[["cp",6,24]],"x":11,"t":1305111906.82393},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",6,10],["cp",12,11],["cp",13,12],["cp",5,13],["cp",11,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",5,19],["cp",7,20],["cp",15,21],["cp",23,22],["cp",5,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",6,5],["cp",7,6],["cp",8,7],["cp",5,8],["cp",6,10],["cp",5,12],["cp",6,14],["cp",16,15],["cp",5,16],["cp",7,20],["cp",15,21],["cp",5,22]],"t":1305111907.28002},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",4,8],["cp",5,9],["cp",11,10],["cp",12,11],["cp",4,12],["cp",10,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",4,18],["cp",6,19],["cp",14,20],["cp",22,21],["cp",4,22],["cp",14,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",5,9],["cp",4,11],["cp",5,13],["cp",15,14],["cp",4,15],["cp",6,19],["cp",14,20],["cp",4,21],["cp",14,23]],"t":1305111907.28817},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111910.99996},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111911.09591},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111911.18382},{"y":25,"x":15,"t":1305111911.25566},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305111911.40801},{"y":25,"d":[[24,15,"l"]],"x":17,"t":1305111911.48791},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305111911.58373},{"y":25,"d":[[24,17,"a"]],"x":19,"t":1305111911.71964},{"y":25,"d":[[24,18,"n"]],"x":20,"t":1305111911.76012},{"y":25,"x":21,"t":1305111911.89575},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305111912.05578},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305111912.27157},{"y":25,"d":[[24,22,"d"]],"x":24,"t":1305111912.46359},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",4,8],["cp",10,9],["cp",11,10],["cp",3,11],["cp",9,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",3,17],["cp",5,18],["cp",13,19],["cp",21,20],["cp",3,21],["cp",13,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",4,8],["cp",3,10],["cp",4,12],["cp",14,13],["cp",3,14],["cp",5,18],["cp",13,19],["cp",3,20],["cp",13,22],["cp",3,23]],"t":1305111912.5758},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",2,10],["cp",8,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",2,16],["cp",4,17],["cp",12,18],["cp",20,19],["cp",2,20],["cp",12,21],["cp",23,22],[23,0,22,"Would remove a/ "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",3,7],["cp",2,9],["cp",3,11],["cp",13,12],["cp",2,13],["cp",4,17],["cp",12,18],["cp",2,19],["cp",12,21],["cp",2,22]],"t":1305111912.58411},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111914.07953},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111914.14387},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111914.27206},{"y":25,"x":15,"t":1305111914.29583},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305111914.56769},{"y":25,"d":[[24,15,"l"]],"x":17,"t":1305111914.70355},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305111914.77567},{"y":25,"d":[[24,17,"a"]],"x":19,"t":1305111914.91148},{"y":25,"d":[[24,18,"n"]],"x":20,"t":1305111914.9679},{"y":25,"x":21,"t":1305111915.05568},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305111915.23967},{"y":25,"d":[[24,21,"f"]],"x":23,"t":1305111915.36793},{"y":25,"d":[[24,22,"d"]],"x":24,"t":1305111915.50344},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",1,9],["cp",7,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",1,15],["cp",3,16],["cp",11,17],["cp",19,18],["cp",1,19],["cp",11,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",2,6],["cp",1,8],["cp",2,10],["cp",12,11],["cp",1,12],["cp",3,16],["cp",11,17],["cp",1,18],["cp",11,20],["cp",1,21]],"t":1305111915.71141},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",6,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,14],["cp",2,15],["cp",10,16],["cp",18,17],["cp",0,18],["cp",10,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22,"Removing a/ "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",1,5],["cp",0,7],["cp",1,9],["cp",11,10],["cp",0,11],["cp",2,15],["cp",10,16],["cp",0,17],["cp",10,19],["cp",0,20]],"t":1305111915.7264},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305111918.13565},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305111918.21559},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305111918.31953},{"y":25,"x":15,"t":1305111918.37525},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305111918.50342},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305111918.61535},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305111918.74354},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305111918.8319},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305111918.90331},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305111919.00733},{"y":25,"x":22,"t":1305111919.1755},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305111919.26319},{"y":25,"d":[["cp",0,24]],"x":24,"t":1305111919.40731},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",5,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",3,13],["cp",1,14],["cp",9,15],["cp",17,16],["cp",3,17],["cp",9,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",3,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,4],["cp",2,6],["cp",0,8],["cp",10,9],["cp",2,10],["cp",1,14],["cp",9,15],["cp",2,16],["cp",9,18],["cp",2,19]],"t":1305111919.48729},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305111919.49621},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",4,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",0,13],["cp",8,14],["cp",16,15],["cp",2,16],["cp",8,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",2,22],[23,10,22,"exit "],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",1,5],["cp",3,7],["cp",9,8],["cp",1,9],["cp",0,13],["cp",8,14],["cp",1,15],["cp",8,17],["cp",1,18]],"t":1305111926.08731}]} \ No newline at end of file diff --git a/html/part2/ch09-02-inside-stash.html b/html/part2/ch09-02-inside-stash.html deleted file mode 100644 index 0f37e9fac..000000000 --- a/html/part2/ch09-02-inside-stash.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch09-02-inside-stash -json_file: ch09-02-inside-stash.json ---- diff --git a/html/part2/ch09-02-inside-stash.json b/html/part2/ch09-02-inside-stash.json deleted file mode 100644 index e9d1556d9..000000000 --- a/html/part2/ch09-02-inside-stash.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112776.36979,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305112777.14075},{"y":2,"x":1,"t":1305112777.58867},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305112777.58881},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305112778.20453},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305112778.30868},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305112778.41246},{"y":2,"x":15,"t":1305112778.49268},{"y":2,"d":[[1,14,"-"]],"x":16,"t":1305112778.76453},{"y":2,"d":[[1,15,"-"]],"x":17,"t":1305112778.97255},{"y":2,"d":[[1,16,"e"]],"x":18,"t":1305112779.09259},{"y":2,"d":[[1,17,"x"]],"x":19,"t":1305112779.27669},{"y":2,"d":[[1,18,"e"]],"x":20,"t":1305112779.43663},{"y":2,"d":[[1,19,"c"]],"x":21,"t":1305112779.61265},{"y":2,"d":[[1,20,"-"]],"x":22,"t":1305112779.74857},{"y":2,"d":[[1,21,"p"]],"x":23,"t":1305112779.96467},{"y":2,"d":[[1,22,"a"]],"x":24,"t":1305112780.05262},{"y":2,"d":[[1,23,"t"]],"x":25,"t":1305112780.17244},{"y":2,"d":[[1,24,"h"]],"x":26,"t":1305112780.25286},{"y":3,"x":1,"t":1305112780.50851},{"y":4,"d":[[2,0,31,"/opt/git/v1.7.5/libexec/git-core"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305112780.51442},{"y":4,"d":[[3,10,"l"]],"x":12,"t":1305112781.62847},{"y":4,"d":[[3,11,"s"]],"x":13,"t":1305112781.71646},{"y":4,"x":14,"t":1305112781.80465},{"y":4,"d":[[3,13,"`"]],"x":15,"t":1305112782.02853},{"y":4,"d":[[3,14,"g"]],"x":16,"t":1305112782.33235},{"y":4,"d":[[3,15,"i"]],"x":17,"t":1305112782.39639},{"y":4,"d":[[3,16,"t"]],"x":18,"t":1305112782.53242},{"y":4,"x":19,"t":1305112783.10057},{"y":4,"d":[[3,18,"-"]],"x":20,"t":1305112783.24446},{"y":4,"d":[[3,19,"-"]],"x":21,"t":1305112783.42846},{"y":4,"d":[[3,20,"e"]],"x":22,"t":1305112783.63646},{"y":4,"d":[[3,21,"x"]],"x":23,"t":1305112783.82311},{"y":4,"d":[[3,22,"e"]],"x":24,"t":1305112783.94032},{"y":4,"d":[[3,23,"c"]],"x":25,"t":1305112784.14023},{"y":4,"d":[[3,24,"-"]],"x":26,"t":1305112784.23638},{"y":4,"d":[[3,25,"p"]],"x":27,"t":1305112784.46834},{"y":4,"d":[[3,26,"a"]],"x":28,"t":1305112784.55642},{"y":4,"d":[[3,27,"t"]],"x":29,"t":1305112784.7084},{"y":4,"d":[[3,28,"h"]],"x":30,"t":1305112784.74042},{"y":4,"d":[[3,29,"`"]],"x":31,"t":1305112785.16421},{"y":5,"x":1,"t":1305112786.16429},{"y":25,"d":[[0,0,39,"git-cvsimport git-merge-tree "],[0,48,56,"git-stage"],[1,0,35,"git-cvsserver git-mergetool"],[1,48,56,"git-stash"],[2,0,40,"git-daemon git-mergetool--lib"],[2,48,57,"git-status"],[3,0,31,"git-describe git-mktag"],[3,48,61,"git-stripspace"],[4,0,7,"git-diff"],[4,23,32,"git-mktree"],[4,48,60,"git-submodule"],[5,0,13,"git-diff-files"],[5,23,28,"git-mv"],[5,48,54,"git-svn"],[6,0,13,"git-diff-index"],[6,23,34,"git-name-rev"],[6,48,63,"git-symbolic-ref"],[7,0,12,"git-diff-tree"],[7,23,31,"git-notes"],[7,48,54,"git-tag"],[8,0,11,"git-difftool"],[8,23,38,"git-pack-objects"],[8,48,59,"git-tar-tree"],[9,0,40,"git-difftool--helper git-pack-redundant"],[9,48,62,"git-unpack-file"],[10,0,14,"git-fast-export"],[10,23,35,"git-pack-refs"],[10,48,65,"git-unpack-objects"],[11,0,14,"git-fast-import"],[11,23,38,"git-parse-remote"],[11,48,63,"git-update-index"],[12,0,8,"git-fetch"],[12,23,34,"git-patch-id"],[12,48,61,"git-update-ref"],[13,0,13,"git-fetch-pack"],[13,23,37,"git-peek-remote"],[13,48,69,"git-update-server-info"],[14,0,16,"git-filter-branch"],[14,23,31,"git-prune"],[14,48,65,"git-upload-archive"],[15,0,16,"git-fmt-merge-msg"],[15,23,38,"git-prune-packed"],[15,48,62,"git-upload-pack"],[16,0,15,"git-for-each-ref"],[16,23,30,"git-pull"],[16,48,54,"git-var"],[17,0,15,"git-format-patch"],[17,23,30,"git-push"],[17,48,62,"git-verify-pack"],[18,0,7,"git-fsck"],[18,23,37,"git-quiltimport"],[18,48,61,"git-verify-tag"],[19,0,15,"git-fsck-objects"],[19,23,35,"git-read-tree"],[19,48,62,"git-web--browse"],[20,0,5,"git-gc"],[20,23,32,"git-rebase"],[20,48,62,"git-whatchanged"],[21,0,61,"git-get-tar-commit-id git-rebase--interactive git-write-tree"],[22,0,7,"git-grep"],[22,23,38,"git-receive-pack"],[23,0,6,"git-gui"],[23,23,32,"git-reflog"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305112786.17718},{"y":25,"d":[[24,10,29,"ls `git --exec-path`"]],"x":11,"t":1305112787.42019},{"y":25,"x":30,"t":1305112787.75663},{"y":25,"x":31,"t":1305112787.94832},{"y":25,"x":32,"t":1305112788.10815},{"y":25,"d":[[24,31,"|"]],"x":33,"t":1305112788.52443},{"y":25,"x":34,"t":1305112788.63625},{"y":25,"d":[[24,33,"w"]],"x":35,"t":1305112788.85221},{"y":25,"d":[[24,34,"c"]],"x":36,"t":1305112789.06042},{"y":25,"x":37,"t":1305112789.23631},{"y":25,"d":[[24,36,"-"]],"x":38,"t":1305112789.33222},{"y":25,"d":[[24,37,"l"]],"x":39,"t":1305112789.56398},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112789.78025},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,37," 154 "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305112789.79473},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305112790.73244},{"y":25,"x":14,"t":1305112790.91609},{"y":25,"x":15,"t":1305112791.12417},{"y":25,"x":19,"t":1305112791.30803},{"y":25,"x":21,"t":1305112791.49208},{"y":25,"x":25,"t":1305112791.67586},{"y":25,"x":26,"t":1305112791.83597},{"y":25,"x":30,"t":1305112792.00404},{"y":25,"x":31,"t":1305112792.40391},{"y":25,"d":[[24,31,37,["a"," "]]],"x":30,"t":1305112792.71613},{"y":25,"x":31,"t":1305112792.86788},{"y":25,"d":[[24,30,"/"]],"x":32,"t":1305112793.06805},{"y":25,"d":[[24,31,"g"]],"x":33,"t":1305112793.49215},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305112793.56391},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305112793.65998},{"y":25,"d":[[24,34,"-"]],"x":36,"t":1305112793.82808},{"y":25,"d":[[24,35,"s"]],"x":37,"t":1305112793.94825},{"y":25,"d":[[24,36,"t"]],"x":38,"t":1305112794.13995},{"y":25,"d":[[24,37,"a"]],"x":39,"t":1305112794.34781},{"y":25,"d":[[24,38,"s"]],"x":40,"t":1305112794.53178},{"y":25,"d":[[24,39,"h"]],"x":41,"t":1305112794.61183},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112794.83605},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,41,"/opt/git/v1.7.5/libexec/git-core/git-stash"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305112794.85282},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305112795.33969},{"y":25,"d":[[24,10,39,"s `git --exec-path`/git-stash "]],"x":11,"t":1305112795.58005},{"y":25,"d":[[24,10,38," `git --exec-path`/git-stash "]],"x":11,"t":1305112795.74787},{"y":25,"d":[[24,10,38,"f `git --exec-path`/git-stash"]],"x":12,"t":1305112795.96369},{"y":25,"d":[[24,11,39,"i `git --exec-path`/git-stash"]],"x":13,"t":1305112796.05244},{"y":25,"d":[[24,12,40,"l `git --exec-path`/git-stash"]],"x":14,"t":1305112796.13963},{"y":25,"d":[[24,13,41,"e `git --exec-path`/git-stash"]],"x":15,"t":1305112796.25182},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112796.41969},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,31,"/opt/git/v1.7.5/libexec/git-core"],[23,42,77,": POSIX shell script text executable"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305112796.4303},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305112798.0839},{"y":25,"d":[[24,10,41,"`git --exec-path`/git-stash "]],"x":11,"t":1305112798.51589},{"y":25,"d":[[24,10,37,"h`git --exec-path`/git-stash"]],"x":12,"t":1305112798.77955},{"y":25,"d":[[24,11,38,"e`git --exec-path`/git-stash"]],"x":13,"t":1305112798.86822},{"y":25,"d":[[24,12,39,"a`git --exec-path`/git-stash"]],"x":14,"t":1305112799.0118},{"y":25,"d":[[24,13,40,"d`git --exec-path`/git-stash"]],"x":15,"t":1305112799.09959},{"y":25,"d":[[24,14,41," `git --exec-path`/git-stash"]],"x":16,"t":1305112799.25981},{"y":25,"d":[[24,15,42,"-`git --exec-path`/git-stash"]],"x":17,"t":1305112799.43586},{"y":25,"d":[[24,16,43,"2`git --exec-path`/git-stash"]],"x":18,"t":1305112799.61959},{"y":25,"d":[[24,17,44," `git --exec-path`/git-stash"]],"x":19,"t":1305112799.81172},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112799.95581},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,77,"#!/bin/sh "],[23,0,44,"# Copyright (c) 2007, Nanako Shiraishi "],[24,0,8,"bash-3.2$"]],"x":11,"t":1305112799.96435},{"d":[["r","git-difftool--helper git-pack-redundant git-unpack-file "],["r","git-fast-export git-pack-refs git-unpack-objects "],["r","git-fast-import git-parse-remote git-update-index "],["r","git-fetch git-patch-id git-update-ref "],["r","git-fetch-pack git-peek-remote git-update-server-info "],["r","git-filter-branch git-prune git-upload-archive "],["r","git-fmt-merge-msg git-prune-packed git-upload-pack "],["r","git-for-each-ref git-pull git-var "],["r","git-format-patch git-push git-verify-pack "],["r","git-fsck git-quiltimport git-verify-tag "],["r","git-fsck-objects git-read-tree git-web--browse "],["r","git-gc git-rebase git-whatchanged "],["r","git-get-tar-commit-id git-rebase--interactive git-write-tree "],["r","git-grep git-receive-pack "],["r","git-gui git-reflog "],["r","bash-3.2$ ls `git --exec-path` | wc -l "],["r"," 154 "],["r","bash-3.2$ ls `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash "],["r","bash-3.2$ file `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash: POSIX shell script text executable "],["r","bash-3.2$ head -2 `git --exec-path`/git-stash "],["r","#!/bin/sh "],["r","# Copyright (c) 2007, Nanako Shiraishi "],["r","bash-3.2$ g "]],"x":12,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112803.45956,"i":1},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112803.53161},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112803.61933},{"y":25,"x":15,"t":1305112803.65947},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112803.90747},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112804.11538},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112804.29934},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112804.51521},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305112804.64349},{"y":25,"x":21,"t":1305112804.8434},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305112805.42717},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305112805.54717},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112805.67524},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305112805.80331},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112807.25909},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112807.62647},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305112810.26696},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305112810.47511},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305112810.55544},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305112810.691},{"y":25,"x":16,"t":1305112810.859},{"y":25,"d":[[24,15,"B"]],"x":17,"t":1305112811.37142},{"y":25,"d":[[24,16,"y"]],"x":18,"t":1305112811.54708},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305112811.65113},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305112812.38695},{"y":25,"d":[[24,19,"B"]],"x":21,"t":1305112812.77115},{"y":25,"d":[[24,20,"y"]],"x":22,"t":1305112812.92306},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305112813.05105},{"y":25,"d":[[24,22,"."]],"x":24,"t":1305112813.21115},{"y":25,"x":25,"t":1305112813.61088},{"y":25,"d":[[24,24,">"]],"x":26,"t":1305112814.25084},{"y":25,"d":[[24,25,">"]],"x":27,"t":1305112814.4029},{"y":25,"x":28,"t":1305112814.55482},{"y":25,"d":[[24,27,"w"]],"x":29,"t":1305112814.81994},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305112814.9792},{"y":25,"d":[[24,29,"l"]],"x":31,"t":1305112815.08284},{"y":25,"d":[[24,30,37,"come.txt"]],"x":40,"t":1305112815.27496},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112815.83628},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112815.83716},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305112817.91482},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305112818.11463},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305112818.17076},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305112818.28277},{"y":25,"x":16,"t":1305112818.37067},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305112818.51475},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305112818.58656},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305112818.70656},{"y":25,"d":[[24,18,"l"]],"x":20,"t":1305112818.87467},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305112819.03478},{"y":25,"d":[[24,20,"."]],"x":22,"t":1305112819.21887},{"y":25,"x":23,"t":1305112819.78663},{"y":25,"d":[[24,22,">"]],"x":24,"t":1305112820.09882},{"y":25,"x":25,"t":1305112820.25061},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305112820.54658},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305112820.83446},{"y":25,"d":[[24,26,"c"]],"x":28,"t":1305112821.00267},{"y":25,"d":[[24,27,"k"]],"x":29,"t":1305112821.09067},{"y":25,"d":[[24,28,"-"]],"x":30,"t":1305112821.34676},{"y":25,"d":[[24,29,"1"]],"x":31,"t":1305112821.49862},{"y":25,"d":[[24,30,"."]],"x":32,"t":1305112821.65864},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305112821.8105},{"y":25,"d":[[24,32,"x"]],"x":34,"t":1305112821.97065},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305112822.07454},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112822.2106},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112822.21139},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112822.51457},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112822.59458},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112822.68255},{"y":25,"x":15,"t":1305112822.7705},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112822.94647},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112823.11443},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112823.27454},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305112823.35466},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305112823.45915},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305112823.53841},{"y":25,"x":22,"t":1305112823.69836},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305112823.79461},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112823.89837},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305112824.05044},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,33," M welcome.txt "],[23,0,22,"?? hack-1.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[[22,1,"1"],[23,0,1,["a","1"]]],"t":1305112824.06189},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112826.01822},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112826.0903},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112826.19413},{"y":25,"x":15,"t":1305112826.31268},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305112826.40207},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305112826.57822},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305112826.73838},{"y":25,"x":19,"t":1305112826.84245},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305112827.22621},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305112827.55483},{"y":25,"d":[[24,20,27,"ck-1.txt"]],"x":29,"t":1305112827.79588},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",22,21],["cp",23,22],["cp",0,23]],"t":1305112828.42658},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112828.43391},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112829.82636},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112829.90601},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112830.01008},{"y":25,"x":15,"t":1305112830.07432},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112830.17795},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112830.27426},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112830.42631},{"d":[["r","git-for-each-ref git-pull git-var "],["r","git-format-patch git-push git-verify-pack "],["r","git-fsck git-quiltimport git-verify-tag "],["r","git-fsck-objects git-read-tree git-web--browse "],["r","git-gc git-rebase git-whatchanged "],["r","git-get-tar-commit-id git-rebase--interactive git-write-tree "],["r","git-grep git-receive-pack "],["r","git-gui git-reflog "],["r","bash-3.2$ ls `git --exec-path` | wc -l "],["r"," 154 "],["r","bash-3.2$ ls `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash "],["r","bash-3.2$ file `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash: POSIX shell script text executable "],["r","bash-3.2$ head -2 `git --exec-path`/git-stash "],["r","#!/bin/sh "],["r","# Copyright (c) 2007, Nanako Shiraishi "],["r","bash-3.2$ git stash list "],["r","bash-3.2$ echo Bye-Bye. >> welcome.txt "],["r","bash-3.2$ echo hello. > hack-1.txt "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","?? hack-1.txt "],["r","bash-3.2$ git add hack-1.txt "],["r","bash-3.2$ git stat "]],"x":19,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112830.53019,"i":1},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305112830.65797},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305112830.73036},{"y":25,"x":22,"t":1305112830.86605},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305112830.97029},{"y":25,"d":[["cp",20,24]],"x":24,"t":1305112831.09022},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,["a"," "]]],"x":1,"f":[["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305112831.20198},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",17,21],[22,0,27,"A hack-1.txt "],["cp",18,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",20,18],["cp",21,19],["cp",0,20],["cp",0,21],[22,0,"2"],["cp",18,23]],"t":1305112831.21155},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112832.1302},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112832.21805},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112832.3301},{"y":25,"x":15,"t":1305112832.41012},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112833.67394},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112833.83426},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112834.00202},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112834.20979},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305112834.33781},{"y":25,"x":21,"t":1305112835.45779},{"y":25,"d":[[24,20,"s"]],"x":22,"t":1305112835.66599},{"y":25,"d":[[24,21,"a"]],"x":23,"t":1305112835.85006},{"y":25,"d":[[24,22,"v"]],"x":24,"t":1305112835.9621},{"y":25,"d":[[24,23,"e"]],"x":25,"t":1305112836.12976},{"y":25,"x":26,"t":1305112836.31379},{"y":25,"d":[[24,25,"\""]],"x":27,"t":1305112837.07472},{"y":25,"d":[[24,26,"h"]],"x":28,"t":1305112837.56163},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305112837.66583},{"y":25,"d":[[24,28,"c"]],"x":30,"t":1305112837.79377},{"y":25,"d":[[24,29,"k"]],"x":31,"t":1305112837.85801},{"y":25,"d":[[24,30,"-"]],"x":32,"t":1305112838.55463},{"y":25,"d":[[24,31,"1"]],"x":33,"t":1305112838.66577},{"y":25,"d":[[24,32,":"]],"x":34,"t":1305112839.03417},{"y":25,"x":35,"t":1305112839.72968},{"y":25,"d":[[24,34,"h"]],"x":36,"t":1305112840.40953},{"y":25,"d":[[24,35,"a"]],"x":37,"t":1305112840.47373},{"y":25,"d":[[24,36,"c"]],"x":38,"t":1305112840.63346},{"y":25,"d":[[24,37,"k"]],"x":39,"t":1305112840.68953},{"y":25,"d":[[24,38,"e"]],"x":40,"t":1305112840.81747},{"y":25,"d":[[24,39,"d"]],"x":41,"t":1305112840.97754},{"y":25,"x":42,"t":1305112841.14602},{"y":25,"d":[[24,41,"w"]],"x":43,"t":1305112841.36159},{"y":25,"d":[[24,42,"e"]],"x":44,"t":1305112841.48966},{"y":25,"d":[[24,43,"l"]],"x":45,"t":1305112841.62553},{"y":25,"d":[[24,44,"c"]],"x":46,"t":1305112841.72976},{"y":25,"d":[[24,45,"o"]],"x":47,"t":1305112841.83368},{"y":25,"d":[[24,46,"m"]],"x":48,"t":1305112841.99363},{"y":25,"d":[[24,47,"e"]],"x":49,"t":1305112842.07355},{"y":25,"d":[[24,48,"."]],"x":50,"t":1305112842.24139},{"y":25,"d":[[24,49,"t"]],"x":51,"t":1305112842.33738},{"y":25,"d":[[24,50,"x"]],"x":52,"t":1305112842.47363},{"y":25,"d":[[24,51,"t"]],"x":53,"t":1305112842.61758},{"y":25,"d":[[24,52,","]],"x":54,"t":1305112843.52266},{"y":25,"x":55,"t":1305112843.61743},{"y":25,"d":[[24,54,"n"]],"x":56,"t":1305112843.9214},{"y":25,"d":[[24,55,"e"]],"x":57,"t":1305112843.98569},{"y":25,"d":[[24,56,"w"]],"x":58,"t":1305112844.12941},{"y":25,"x":59,"t":1305112844.33772},{"y":25,"d":[[24,58,"f"]],"x":60,"t":1305112844.53758},{"y":25,"d":[[24,59,"i"]],"x":61,"t":1305112844.61759},{"y":25,"d":[[24,60,"l"]],"x":62,"t":1305112844.72123},{"y":25,"d":[[24,61,"e"]],"x":63,"t":1305112844.83335},{"y":25,"x":64,"t":1305112845.33098},{"y":25,"d":[[24,63,"h"]],"x":65,"t":1305112845.5215},{"y":25,"d":[[24,64,"a"]],"x":66,"t":1305112845.62558},{"y":25,"d":[[24,65,"c"]],"x":67,"t":1305112845.79346},{"y":25,"d":[[24,66,"k"]],"x":68,"t":1305112845.8655},{"y":25,"d":[[24,67,"-"]],"x":69,"t":1305112846.1453},{"y":25,"d":[[24,68,"1"]],"x":70,"t":1305112846.28935},{"y":25,"d":[[24,69,"."]],"x":71,"t":1305112846.47322},{"y":25,"d":[[24,70,"t"]],"x":72,"t":1305112846.66569},{"y":25,"d":[[24,71,"x"]],"x":73,"t":1305112846.81731},{"y":25,"d":[[24,72,"t"]],"x":74,"t":1305112846.92933},{"y":25,"d":[[24,73,"."]],"x":75,"t":1305112847.13791},{"y":25,"d":[[24,74,"\""]],"x":76,"t":1305112847.58557},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",16,20],["cp",22,21],["cp",17,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",0,19],["cp",22,21],["cp",17,22],["cp",0,23]],"t":1305112847.80126},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",14,18],["cp",21,19],["cp",15,20],["cp",23,21],[22,0,79,"Saved working directory and index state On master: hack-1: hacked welcome.txt, n"],[23,0,74,"ew file hack-1.txt. "]],"x":1,"f":[["cp",17,15],["cp",18,16],["cp",0,17],["cp",0,18],["cp",21,19],["cp",15,20],["cp",0,21],["cp",0,22]],"t":1305112848.0928},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",13,17],["cp",19,18],["cp",14,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,44,"HEAD is now at 1086811 Merge commit '6630c7c'"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,14],["cp",16,15],["cp",0,16],["cp",19,18],["cp",14,19],["cp",0,20]],"t":1305112848.10257},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112850.03323},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112850.10544},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112850.20107},{"y":25,"x":15,"t":1305112850.27324},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112850.42515},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112850.68916},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112851.08116},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305112851.28151},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305112851.40937},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305112851.45714},{"y":25,"x":22,"t":1305112851.641},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305112851.75318},{"y":25,"d":[["cp",13,24]],"x":24,"t":1305112851.8492},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",13,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",12,23],[24,["a"," "]]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",0,15],["cp",18,17],["cp",13,18],["cp",0,19]],"t":1305112852.00895},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112852.0172},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305112853.63296},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305112853.70539},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",12,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",11,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",14,13],["cp",0,14],["cp",17,16],["cp",12,17],["cp",0,18]],"t":1305112853.85713},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",11,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",10,21],["cp",23,22],[23,0,47,"detached-commit.txt new-commit.txt welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,11],["cp",13,12],["cp",0,13],["cp",16,15],["cp",11,16],["cp",0,17]],"t":1305112853.86303},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305112855.75297},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305112855.95311},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305112856.02508},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305112856.1369},{"y":25,"x":16,"t":1305112856.31273},{"d":[["r","bash-3.2$ ls `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash "],["r","bash-3.2$ file `git --exec-path`/git-stash "],["r","/opt/git/v1.7.5/libexec/git-core/git-stash: POSIX shell script text executable "],["r","bash-3.2$ head -2 `git --exec-path`/git-stash "],["r","#!/bin/sh "],["r","# Copyright (c) 2007, Nanako Shiraishi "],["r","bash-3.2$ git stash list "],["r","bash-3.2$ echo Bye-Bye. >> welcome.txt "],["r","bash-3.2$ echo hello. > hack-1.txt "],["r","bash-3.2$ git status -s "],["r"," M welcome.txt "],["r","?? hack-1.txt "],["r","bash-3.2$ git add hack-1.txt "],["r","bash-3.2$ git status -s "],["r","A hack-1.txt "],["r"," M welcome.txt "],["r","bash-3.2$ git stash save \"hack-1: hacked welcome.txt, new file hack-1.txt.\" "],["r","Saved working directory and index state On master: hack-1: hacked welcome.txt, n"],["r","ew file hack-1.txt. "],["r","HEAD is now at 1086811 Merge commit '6630c7c' "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls "],["r","detached-commit.txt new-commit.txt welcome.txt "],["r","bash-3.2$ echo f "]],"x":17,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112857.001,"i":1},{"y":25,"d":[[24,16,"i"]],"x":18,"t":1305112857.11291},{"y":25,"d":[[24,17,"x"]],"x":19,"t":1305112857.22498},{"y":25,"d":[[24,18,"."]],"x":20,"t":1305112858.03276},{"y":25,"x":21,"t":1305112858.25676},{"y":25,"d":[[24,20,">"]],"x":22,"t":1305112858.56135},{"y":25,"x":23,"t":1305112858.8648},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305112859.31266},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305112859.3688},{"y":25,"d":[[24,24,"c"]],"x":26,"t":1305112859.53806},{"y":25,"d":[[24,25,"k"]],"x":27,"t":1305112859.60898},{"y":25,"d":[[24,26,"2"]],"x":28,"t":1305112859.88881},{"y":25,"d":[[24,26," "]],"x":27,"t":1305112860.24083},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305112860.42461},{"y":25,"d":[[24,27,"="]],"x":29,"t":1305112860.43268},{"y":25,"d":[[24,28,"2"]],"x":30,"t":1305112860.54471},{"y":25,"d":[[24,28," "]],"x":29,"t":1305112860.94457},{"y":25,"d":[[24,27," "]],"x":28,"t":1305112861.10443},{"y":25,"d":[[24,27,"2"]],"x":29,"t":1305112861.18462},{"y":25,"d":[[24,28,"."]],"x":30,"t":1305112861.35248},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305112861.50484},{"y":25,"d":[[24,30,"x"]],"x":32,"t":1305112861.68074},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305112861.76854},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",15,14],["cp",10,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",9,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",11,10],["cp",12,11],["cp",0,12],["cp",15,14],["cp",10,15],["cp",0,16]],"t":1305112862.96062},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112862.96107},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112864.5206},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112864.6006},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112864.70441},{"y":25,"x":15,"t":1305112864.76043},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112864.92057},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112865.1123},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112865.28144},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112865.48834},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305112865.62452},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",9,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",8,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",10,9],["cp",11,10],["cp",0,11],["cp",14,13],["cp",9,14],["cp",0,15]],"t":1305112865.84821},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",8,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",7,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,23,"No local changes to save"]],"x":1,"f":[["cp",9,8],["cp",10,9],["cp",0,10],["cp",13,12],["cp",8,13],["cp",0,14]],"t":1305112865.91395},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112865.9175},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112867.73797},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112867.81638},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112867.91237},{"y":25,"x":15,"t":1305112867.97628},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305112868.08841},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305112868.26418},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305112868.4248},{"y":25,"x":19,"t":1305112868.52048},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305112868.74411},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305112868.85205},{"y":25,"d":[[24,20,"c"]],"x":22,"t":1305112869.06421},{"y":25,"d":[[24,21,27,"k-2.txt"]],"x":29,"t":1305112869.30605},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",12,11],["cp",7,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",6,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",8,7],["cp",9,8],["cp",0,9],["cp",12,11],["cp",7,12],["cp",0,13]],"t":1305112869.80813},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112869.81584},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112870.27223},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112870.36022},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112870.47225},{"y":25,"x":15,"t":1305112870.52807},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112870.68117},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112870.87202},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112871.04011},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112871.248},{"y":25,"d":[["cp",21,24]],"x":20,"t":1305112871.37595},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",11,10],["cp",6,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",5,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",20,23],[24,["a"," "]]],"x":1,"f":[["cp",7,6],["cp",8,7],["cp",0,8],["cp",11,10],["cp",6,11],["cp",0,12]],"t":1305112871.63214},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",3,7],["cp",10,8],["cp",4,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",3,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",18,21],[22,0,79,"Saved working directory and index state WIP on master: 1086811 Merge commit '663"],[23,0,18,"0c7c' "]],"x":1,"f":[["cp",6,4],["cp",7,5],["cp",0,6],["cp",0,7],["cp",10,8],["cp",4,9],["cp",0,10],["cp",0,11]],"t":1305112872.02888},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",3,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",2,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",17,20],["cp",22,21],["cp",23,22],["cp",12,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",5,4],["cp",0,5],["cp",8,7],["cp",3,8],["cp",0,9]],"t":1305112872.03858},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112874.56796},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112874.64815},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112874.73594},{"y":25,"x":15,"t":1305112874.81586},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112875.01605},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112875.17595},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112875.3523},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112875.53624},{"y":25,"d":[["cp",17,24]],"x":20,"t":1305112875.78384},{"y":25,"x":21,"t":1305112875.95177},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305112876.09596},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305112876.21593},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112876.29599},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305112876.40803},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",2,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",16,19],["cp",21,20],["cp",22,21],["cp",11,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",4,3],["cp",0,4],["cp",7,6],["cp",2,7],["cp",0,8]],"t":1305112876.60777},{"y":25,"x":1,"t":1305112876.67332},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",0,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",3,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",14,17],["cp",20,18],["cp",21,19],["cp",9,20],["cp",23,21],[22,0,55,"stash@{0}: WIP on master: 1086811 Merge commit '6630c7c'"],[23,0,69,"stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",2,3],["cp",6,4],["cp",0,5],["cp",2,6],["cp",2,7]],"t":1305112876.67751},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112882.19979},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112882.25571},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112882.40088},{"y":25,"x":15,"t":1305112882.85541},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305112883.51957},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305112883.66336},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305112883.77556},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305112883.96772},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305112884.12745},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305112884.23152},{"y":25,"x":22,"t":1305112884.34354},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305112884.83946},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305112884.91942},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305112885.03158},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305112885.11146},{"y":25,"x":27,"t":1305112885.25553},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305112885.41534},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305112885.50331},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305112885.69541},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305112885.7522},{"d":[["r"," M welcome.txt "],["r","?? hack-1.txt "],["r","bash-3.2$ git add hack-1.txt "],["r","bash-3.2$ git status -s "],["r","A hack-1.txt "],["r"," M welcome.txt "],["r","bash-3.2$ git stash save \"hack-1: hacked welcome.txt, new file hack-1.txt.\" "],["r","Saved working directory and index state On master: hack-1: hacked welcome.txt, n"],["r","ew file hack-1.txt. "],["r","HEAD is now at 1086811 Merge commit '6630c7c' "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls "],["r","detached-commit.txt new-commit.txt welcome.txt "],["r","bash-3.2$ echo fix. > hack-2.txt "],["r","bash-3.2$ git stash "],["r","No local changes to save "],["r","bash-3.2$ git add hack-2.txt "],["r","bash-3.2$ git stash "],["r","Saved working directory and index state WIP on master: 1086811 Merge commit '663"],["r","0c7c' "],["r","HEAD is now at 1086811 Merge commit '6630c7c' "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 1086811 Merge commit '6630c7c' "],["r","stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt. "],["r","bash-3.2$ git reflog show maste "]],"x":32,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112885.94325,"i":1},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305112886.00057},{"y":25,"x":34,"t":1305112886.19134},{"y":25,"d":[[24,33,"-"]],"x":35,"t":1305112887.26359},{"y":25,"d":[[24,34,"2"]],"x":36,"t":1305112887.41532},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",2,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",13,16],["cp",18,17],["cp",19,18],["cp",8,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",5,4],["cp",1,5]],"t":1305112888.05531},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",0,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",11,14],["cp",17,15],["cp",18,16],["cp",6,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,69,"1086811 master@{0}: HEAD^: updating HEAD "],[23,0,77,"0b4861c master@{1}: commit: add new file: a/b/c/hello.txt, but leave welcome.t"],[24,0,4,"(END)"]],"x":7,"f":[["cp",1,0],["cp",3,1],["cp",4,2],["cp",0,3],["cp",0,4],[22,0,6,["a","3"]],["cp",22,23],[24,0,5,["a","0"]]],"t":1305112888.06755},{"y":25,"b":[["cp",0,24]],"d":[[24,["a"," "]]],"x":1,"f":[["cp",0,24]],"t":1305112891.00738},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112891.00928},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305112893.11894},{"y":25,"d":[["cp",8,24]],"x":13,"t":1305112893.18341},{"y":25,"x":14,"t":1305112893.31123},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305112893.67097},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305112893.9029},{"y":25,"x":17,"t":1305112894.11104},{"y":25,"d":[[24,16,"."]],"x":18,"t":1305112895.21496},{"y":25,"d":[[24,17,"g"]],"x":19,"t":1305112895.31897},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305112895.40708},{"y":25,"d":[[24,19,20,"t/"]],"x":22,"t":1305112895.58372},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305112895.99087},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305112896.15869},{"y":25,"d":[[24,23,"f"]],"x":25,"t":1305112896.26272},{"y":25,"d":[[24,24,25,"s/"]],"x":27,"t":1305112896.54398},{"y":25,"d":[[24,26,"s"]],"x":28,"t":1305112897.60694},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305112897.74283},{"y":25,"d":[[24,28,30,"ash"]],"x":33,"t":1305112897.9845},{"y":25,"d":[[24,32,"."]],"x":34,"t":1305112898.66287},{"y":25,"d":[[24,33,"g"]],"x":35,"t":1305112898.75891},{"y":25,"d":[[24,34,"i"]],"x":36,"t":1305112898.8388},{"y":25,"d":[[24,35,36,"t/"]],"x":38,"t":1305112898.99205},{"y":25,"d":[[24,37,"l"]],"x":39,"t":1305112899.48668},{"y":25,"d":[[24,38,41,"ogs/"]],"x":43,"t":1305112899.84805},{"y":25,"d":[[24,42,"r"]],"x":44,"t":1305112900.39879},{"y":25,"d":[[24,43,"e"]],"x":45,"t":1305112900.55183},{"y":25,"d":[[24,44,46,"fs/"]],"x":48,"t":1305112900.79223},{"y":25,"d":[[24,47,"s"]],"x":49,"t":1305112901.14262},{"y":25,"d":[[24,48,"t"]],"x":50,"t":1305112901.34253},{"y":25,"d":[[24,49,51,"ash"]],"x":54,"t":1305112901.53687},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",10,13],["cp",15,14],["cp",16,15],["cp",5,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",22,21],["cp",2,23]],"t":1305112902.38249},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",8,11],["cp",14,12],["cp",15,13],["cp",3,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,77,"-rw-r--r-- 1 jiangxin staff 366 5 11 19:21 .git/logs/refs/stash "],[23,0,58,"-rw-r--r-- 1 jiangxin staff 41 5 11 19:21 .git/refs/stash"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",21,19],["cp",19,20],["cp",0,21],["cp",0,22]],"t":1305112902.39535},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112904.87834},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112904.96667},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112905.14374},{"y":25,"x":15,"t":1305112905.2542},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305112907.75029},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305112907.90227},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305112908.0704},{"y":25,"d":[[24,17,"l"]],"x":19,"t":1305112908.23062},{"y":25,"d":[[24,18,"o"]],"x":20,"t":1305112908.38234},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305112908.47048},{"y":25,"x":22,"t":1305112908.56635},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305112908.76634},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305112908.85432},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305112908.9662},{"y":25,"d":[[24,24,"w"]],"x":26,"t":1305112909.06217},{"y":25,"x":27,"t":1305112909.17399},{"y":25,"d":[[24,26,"r"]],"x":28,"t":1305112909.81436},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305112910.00627},{"y":25,"d":[[24,28,"f"]],"x":30,"t":1305112910.22232},{"y":25,"d":[[24,29,"s"]],"x":31,"t":1305112910.43016},{"y":25,"d":[[24,30,"/"]],"x":32,"t":1305112910.65432},{"y":25,"d":[[24,31,"s"]],"x":33,"t":1305112910.8703},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305112911.02232},{"y":25,"d":[[24,33,"a"]],"x":35,"t":1305112911.19824},{"y":25,"d":[[24,34,"s"]],"x":36,"t":1305112911.40618},{"y":25,"d":[[24,35,"h"]],"x":37,"t":1305112911.51833},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",7,10],["cp",12,11],["cp",13,12],["cp",2,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",19,18],["cp",0,20]],"t":1305112912.38193},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",5,8],["cp",11,9],["cp",12,10],["cp",0,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,68,"795fa5e refs/stash@{0}: WIP on master: 1086811 Merge commit '6630c7c'"],[23,0,77,"48a65dc refs/stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1"],[24,0,4,"(END)"]],"x":7,"f":[["cp",18,16],["cp",16,17],["cp",0,18],["cp",0,19],["cp",16,22],["cp",16,23],[24,0,5,["a","0"]]],"t":1305112912.39233},{"y":25,"b":[["cp",0,24]],"d":[[24,["a"," "]]],"x":1,"f":[["cp",0,24]],"t":1305112916.07783},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112916.07922},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112917.31},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112917.39791},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112917.50183},{"y":25,"x":15,"t":1305112917.54976},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305112917.70982},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305112917.83784},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305112918.02179},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305112918.18968},{"y":25,"d":[["cp",5,24]],"x":20,"t":1305112918.29405},{"y":25,"x":21,"t":1305112918.46996},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305112918.61384},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305112918.73382},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112918.82199},{"y":25,"d":[["cp",12,24]],"x":25,"t":1305112918.88588},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",11,23],[24,["a"," "]]],"x":1,"f":[["cp",16,15],["cp",0,17],["cp",15,21],["cp",0,23]],"t":1305112919.22186},{"y":25,"x":1,"t":1305112919.28651},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",2,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",9,21],["cp",10,22],["cp",11,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,13],["cp",13,14],["cp",0,15],["cp",0,16],["cp",13,19],["cp",13,20],["cp",0,21],["cp",0,22]],"t":1305112919.29061},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112921.48583},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112921.57376},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112921.68547},{"y":25,"x":15,"t":1305112921.76606},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305112921.9176},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305112922.07769},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305112922.16605},{"y":25,"x":19,"t":1305112922.26169},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305112923.01354},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305112923.18957},{"y":25,"d":[[24,20,"g"]],"x":22,"t":1305112923.27777},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305112923.45356},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305112923.59756},{"d":[["r","detached-commit.txt new-commit.txt welcome.txt "],["r","bash-3.2$ echo fix. > hack-2.txt "],["r","bash-3.2$ git stash "],["r","No local changes to save "],["r","bash-3.2$ git add hack-2.txt "],["r","bash-3.2$ git stash "],["r","Saved working directory and index state WIP on master: 1086811 Merge commit '663"],["r","0c7c' "],["r","HEAD is now at 1086811 Merge commit '6630c7c' "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 1086811 Merge commit '6630c7c' "],["r","stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt. "],["r","bash-3.2$ git reflog show master -2 "],["r","1086811 master@{0}: HEAD^: updating HEAD "],["r","0b4861c master@{1}: commit: add new file: a/b/c/hello.txt, but leave welcome.t "],["r","bash-3.2$ ls -l .git/refs/stash .git/logs/refs/stash "],["r","-rw-r--r-- 1 jiangxin staff 366 5 11 19:21 .git/logs/refs/stash "],["r","-rw-r--r-- 1 jiangxin staff 41 5 11 19:21 .git/refs/stash "],["r","bash-3.2$ git reflog show refs/stash "],["r","795fa5e refs/stash@{0}: WIP on master: 1086811 Merge commit '6630c7c' "],["r","48a65dc refs/stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1 "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 1086811 Merge commit '6630c7c' "],["r","stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt. "],["r","bash-3.2$ git log --grap "]],"x":25,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d","d","d",["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112923.73389,"i":1},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305112923.90969},{"y":25,"x":27,"t":1305112924.3014},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305112924.78978},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305112924.97365},{"y":25,"d":[[24,28,"p"]],"x":30,"t":1305112925.26947},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305112925.40536},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305112925.55747},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305112925.73357},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305112925.91734},{"y":25,"d":[[24,33,"y"]],"x":35,"t":1305112926.02161},{"y":25,"d":[[24,34,"="]],"x":36,"t":1305112926.59735},{"y":25,"d":[[24,35,"r"]],"x":37,"t":1305112926.82132},{"y":25,"d":[[24,36,"a"]],"x":38,"t":1305112927.03744},{"y":25,"d":[[24,37,"w"]],"x":39,"t":1305112927.29355},{"y":25,"x":40,"t":1305112928.02151},{"y":25,"d":[[24,39,"r"]],"x":41,"t":1305112928.62114},{"y":25,"d":[[24,40,"e"]],"x":42,"t":1305112928.76533},{"y":25,"d":[[24,41,"f"]],"x":43,"t":1305112928.92531},{"y":25,"d":[[24,42,"s"]],"x":44,"t":1305112929.10916},{"y":25,"d":[[24,43,"/"]],"x":45,"t":1305112929.7986},{"y":25,"d":[[24,44,"s"]],"x":46,"t":1305112930.41325},{"y":25,"d":[[24,45,"t"]],"x":47,"t":1305112930.54923},{"y":25,"d":[[24,46,"a"]],"x":48,"t":1305112930.7573},{"y":25,"d":[[24,47,"s"]],"x":49,"t":1305112930.9332},{"y":25,"d":[[24,48,"h"]],"x":50,"t":1305112931.04542},{"y":25,"x":51,"t":1305112931.22099},{"y":25,"d":[[24,50,"-"]],"x":52,"t":1305112932.05317},{"y":25,"d":[[24,51,"2"]],"x":53,"t":1305112932.13305},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",8,20],["cp",9,21],["cp",10,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",0,14],["cp",12,18],["cp",0,20]],"t":1305112932.63725},{"y":25,"d":[["cp",16,0],["cp",17,1],["cp",18,2],["cp",19,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",23,7],[8,0,50,"* commit 795fa5ee371a7e912b79b397457747cbcf39b898"],[9,0,55,"|\\ tree 780c22449b7ff67e2820e09a6332c360ddc80578 "],[10,0,69,"| | parent 1086811364a9bc20b1e780e6b32651ff37393673 "],[11,0,50,"| | parent 460a7b7c5fded08abc909a6d31add92489ff8b01"],[12,0,57,"| | author Jiang Xin 1305112872 +0800"],[13,0,77,"| | committer Jiang Xin 1305112872 +0800 "],[14,0,51,"| | "],[15,0,63,"| | WIP on master: 1086811 Merge commit '6630c7c' "],["cp",14,16],[17,0,50,"| * commit 460a7b7c5fded08abc909a6d31add92489ff8b01"],[18,0,68,"|/ tree 780c22449b7ff67e2820e09a6332c360ddc80578 "],[19,0,77,"| parent 1086811364a9bc20b1e780e6b32651ff37393673 "],[20,0,57,"| author Jiang Xin 1305112871 +0800"],[21,0,60,"| committer Jiang Xin 1305112871 +0800"],[22,0,69,"| "],[23,0,54,"| index on master: 1086811 Merge commit '6630c7c'"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,2],["cp",2,3],[8,4,50,["a","3"]],[9,0,1,"12"],[10,0,2,"172"],["cp",10,11],["cp",10,12],["cp",10,13],["cp",10,14],["cp",10,15],["cp",10,16],[17,0,50,"177733333333333333333333333333333333333333333333333"],[18,0,6,"1177777"],[19,0,6,"1777777"],["cp",19,20],["cp",19,21],["cp",19,22],["cp",19,23]],"t":1305112932.64897},{"y":25,"d":[[24,10,"q"]],"x":12,"t":1305112940.33308},{"y":25,"x":11,"t":1305112942.82873},{"y":25,"d":[["cp",7,24]],"x":11,"t":1305112942.94863},{"y":25,"x":15,"t":1305112943.4367},{"y":25,"x":19,"t":1305112943.61246},{"y":25,"x":21,"t":1305112943.79656},{"y":25,"x":27,"t":1305112943.97259},{"y":25,"x":29,"t":1305112944.15676},{"y":25,"x":35,"t":1305112944.34054},{"y":25,"x":36,"t":1305112944.51665},{"y":25,"x":40,"t":1305112944.68447},{"y":25,"x":44,"t":1305112944.85249},{"y":25,"x":40,"t":1305112945.32466},{"y":25,"d":[[24,39,51,"/stash -2 "]],"x":40,"t":1305112945.65254},{"y":25,"d":[[24,39,47,"stash -2 "]],"x":40,"t":1305112945.92479},{"y":25,"x":46,"t":1305112946.3408},{"y":25,"x":47,"t":1305112946.50066},{"y":25,"x":46,"t":1305112946.8365},{"y":25,"x":45,"t":1305112947.03639},{"y":25,"x":44,"t":1305112947.21248},{"y":25,"x":44,"t":1305112948.06047},{"y":25,"x":45,"t":1305112948.42028},{"y":25,"d":[[24,44,47,"@ -2"]],"x":46,"t":1305112949.04461},{"y":25,"d":[[24,45,48,"{ -2"]],"x":47,"t":1305112949.89258},{"y":25,"d":[[24,46,49,"1 -2"]],"x":48,"t":1305112950.14017},{"y":25,"d":[[24,47,50,"} -2"]],"x":49,"t":1305112950.58859},{"y":25,"x":48,"t":1305112950.98839},{"y":25,"x":51,"t":1305112952.54846},{"y":25,"d":[[24,50,"3"]],"x":51,"t":1305112953.69208},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,3],["cp",8,7],["cp",9,8],["cp",10,9],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,23]],"t":1305112954.02808},{"y":25,"d":[["cp",22,0],["cp",23,1],[2,0,77,"* commit 48a65dc3eb45609d0d01ee647600179da65a2fbc "],[3,0,48,"|\\ tree 7250f186c6aa3e2d1456d7fa915e529601f21d71"],["cp",9,4],[5,0,69,"| | parent fce6cc80372f1097b561e33eb4fa810be777ff45 "],[6,0,57,"| | author Jiang Xin 1305112848 +0800"],[7,0,2,"| |"],[7,10,60,"ter Jiang Xin 1305112848 +0800"],["cp",13,8],[9,4,66," On master: hack-1: hacked welcome.txt, new file hack-1.txt."],["cp",8,10],[11,2,57,"* commit fce6cc80372f1097b561e33eb4fa810be777ff45 "],[12,1,60,"/ tree 5d4dd328187e119448c9171f99cf2e507e91a6c6 "],["cp",18,13],[14,2,57," author Jiang Xin 1305112848 +0800"],[15,2,60," committer Jiang Xin 1305112848 +0800"],["cp",21,16],["cp",0,17],["cp",16,18],[19,0,57,"* commit 1086811364a9bc20b1e780e6b32651ff37393673 "],[20,1,60,"\\ tree ab676f92936000457b01507e04f4058e855d4df0 "],[21,2,50,"| parent 6af1352e5a38c4987c99bc9bc8c7213f48bfeea4"],[22,2,54,"| parent 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],[23,0,57,"| | author Jiang Xin 1305110045 +0800"],[24,0,":"]],"x":2,"f":[["cp",18,0],["cp",3,1],["cp",7,2],["cp",8,3],["cp",9,4],["cp",4,5],["cp",4,6],["cp",4,7],["cp",4,8],["cp",16,11],["cp",17,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",2,19],[20,0,1,"34"],[21,0,2,"374"],["cp",21,22],["cp",21,23]],"t":1305112954.04206},{"y":25,"x":2,"t":1305112958.09988},{"y":25,"d":[[24,["a"," "]]],"x":1,"t":1305112959.95582},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",5,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",16,13],["cp",17,14],["cp",13,15],["cp",19,16],["cp",20,17],["cp",21,18],["cp",22,19],["cp",23,20],[21,4,60,"committer Jiang Xin 1305110045 +0800"],["cp",5,22],[23,4,57," Merge commit '6630c7c' "],[24,0,4,"(END)"]],"x":7,"f":[["cp",3,0],["cp",4,1],["cp",1,2],["cp",1,3],["cp",11,8],["cp",12,9],["cp",13,10],["cp",10,11],["cp",10,12],["cp",19,16],["cp",20,17],["cp",21,18],["cp",18,19],["cp",18,20],[24,0,5,["a","0"]]],"t":1305112959.95592},{"y":25,"b":[["cp",0,24]],"d":[[24,["a"," "]]],"x":1,"f":[[24,["a","7"]]],"t":1305112962.21174},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305112962.21327},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112970.74734},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112970.83539},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112970.92312},{"y":25,"x":15,"t":1305112971.01932},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305112972.41113},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305112972.5234},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305112972.67539},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305112972.88308},{"y":25,"x":20,"t":1305112973.59524},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305112974.17095},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305112974.31516},{"y":25,"d":[[24,21,"a"]],"x":23,"t":1305112974.49107},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112974.67503},{"y":25,"d":[[24,23,"h"]],"x":25,"t":1305112974.78707},{"y":25,"d":[[24,24,"@"]],"x":26,"t":1305112975.23517},{"y":25,"d":[[24,25,"{"]],"x":27,"t":1305112976.57932},{"y":25,"d":[[24,26,"1"]],"x":28,"t":1305112976.79517},{"y":25,"d":[[24,27,"}"]],"x":29,"t":1305112977.89927},{"y":25,"d":[[24,28,"^"]],"x":30,"t":1305112979.06691},{"y":25,"d":[[24,29,"2"]],"x":31,"t":1305112979.57921},{"y":25,"d":[[24,30,"^"]],"x":32,"t":1305112981.09899},{"y":25,"x":33,"t":1305112981.52298},{"y":25,"d":[[24,32,"s"]],"x":34,"t":1305112982.00288},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305112982.13863},{"y":25,"d":[[24,34,"a"]],"x":36,"t":1305112982.3068},{"y":25,"d":[[24,35,"s"]],"x":37,"t":1305112982.47469},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305112982.5708},{"y":25,"d":[[24,37,"@"]],"x":39,"t":1305112983.1629},{"y":25,"d":[[24,38,"{"]],"x":40,"t":1305112984.0426},{"y":25,"d":[[24,39,"1"]],"x":41,"t":1305112984.2426},{"y":25,"d":[[24,40,"}"]],"x":42,"t":1305112984.71483},{"y":25,"d":[[24,41,"^"]],"x":43,"t":1305112986.19464},{"y":25,"d":[[24,42,"2"]],"x":44,"t":1305112986.59455},{"d":[["r","| | parent 1086811364a9bc20b1e780e6b32651ff37393673 "],["r","| | parent fce6cc80372f1097b561e33eb4fa810be777ff45 "],["r","| | author Jiang Xin 1305112848 +0800 "],["r","| | committer Jiang Xin 1305112848 +0800 "],["r","| | "],["r","| | On master: hack-1: hacked welcome.txt, new file hack-1.txt. "],["r","| | "],["r","| * commit fce6cc80372f1097b561e33eb4fa810be777ff45 "],["r","|/ tree 5d4dd328187e119448c9171f99cf2e507e91a6c6 "],["r","| parent 1086811364a9bc20b1e780e6b32651ff37393673 "],["r","| author Jiang Xin 1305112848 +0800 "],["r","| committer Jiang Xin 1305112848 +0800 "],["r","| "],["r","| index on master: 1086811 Merge commit '6630c7c' "],["r","| "],["r","* commit 1086811364a9bc20b1e780e6b32651ff37393673 "],["r","|\\ tree ab676f92936000457b01507e04f4058e855d4df0 "],["r","| | parent 6af1352e5a38c4987c99bc9bc8c7213f48bfeea4 "],["r","| | parent 6630c7cedc697ae87e9907b7a2ce9f71f2e3222c "],["r","| | author Jiang Xin 1305110045 +0800 "],["r","| | committer Jiang Xin 1305110045 +0800 "],["r","| | "],["r","| | Merge commit '6630c7c' "],["r","bash-3.2$ git diff stash@{1}^2^ stash@{1}^2 "],["a"," "]],"x":1,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","17277777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d","d",["r","17773333333333333333333333333333333333333333333333377777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","17777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d",["r","77773333333333333333333333333333333333333333333333377777777777777777777777777777"],["r","34777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","37477777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d","d","d",["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305112987.04265,"i":1},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",5,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",21,14],["cp",22,15],["cp",23,16],[17,0,50,"diff --git a/hack-1.txt b/hack-1.txt "],[18,0,50,"new file mode 100644 "],[19,0,57,"index 0000000..25735f5 "],[20,0,60,"--- /dev/null "],[21,0,15,"+++ b/hack-1.txt"],[22,0,29,"@@ -0,0 +1 @@ "],[23,0,42,"+hello. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",2,3],["cp",2,4],["cp",2,5],["cp",2,6],["cp",2,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",10,11],["cp",10,12],["cp",10,13],["cp",10,14],["cp",10,15],["cp",23,16],["cp",16,17],["cp",16,18],["cp",16,19],["cp",16,20],["cp",16,21],[22,0,12,["a","6"]],[23,0,6,["a","2"]]],"B":[[17,0,35,["a","1"]],[18,0,19,["a","1"]],[19,0,21,["a","1"]],[20,0,12,["a","1"]],[21,0,15,["a","1"]]],"t":1305112987.07041},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305112991.85847},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305112991.95433},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305112992.05813},{"y":25,"x":15,"t":1305112992.12225},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305112992.27423},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305112992.34609},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305112992.45832},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305112992.63415},{"y":25,"x":20,"t":1305112992.79434},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305112993.22606},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305112993.38609},{"y":25,"d":[[24,21,"a"]],"x":23,"t":1305112993.56217},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305112993.74614},{"y":25,"d":[[24,23,"h"]],"x":25,"t":1305112993.85823},{"y":25,"d":[[24,24,"@"]],"x":26,"t":1305112994.34641},{"y":25,"d":[[24,25,"{"]],"x":27,"t":1305112995.59425},{"y":25,"d":[[24,26,"1"]],"x":28,"t":1305112995.85009},{"y":25,"d":[[24,27,"}"]],"x":29,"t":1305112996.77023},{"y":25,"d":[[24,28,"^"]],"x":30,"t":1305112998.45042},{"y":25,"d":[[24,29,"2"]],"x":31,"t":1305112998.90613},{"y":25,"x":32,"t":1305112999.63393},{"y":25,"d":[[24,31,"s"]],"x":33,"t":1305113000.19402},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305113000.32971},{"y":25,"d":[[24,33,"a"]],"x":35,"t":1305113000.85799},{"y":25,"d":[[24,34,"s"]],"x":36,"t":1305113001.03391},{"y":25,"d":[[24,35,"h"]],"x":37,"t":1305113001.14592},{"y":25,"d":[[24,36,"@"]],"x":38,"t":1305113002.79382},{"y":25,"d":[[24,37,"{"]],"x":39,"t":1305113003.36181},{"y":25,"d":[[24,38,"1"]],"x":40,"t":1305113003.83476},{"y":25,"d":[[24,39,"}"]],"x":41,"t":1305113004.14586},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",8,7],["cp",9,8],["cp",10,9],["cp",16,15],["cp",22,21],["cp",23,22],["cp",15,23]],"B":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305113005.10547},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,13,37,"welcome.txt b/welcome.txt"],[17,0,28,"index fd3c069..51dbfd2 100644"],[18,0,21,"--- a/welcome.txt "],[19,0,16,"+++ b/welcome.txt"],[20,0,15,"@@ -1,2 +1,3 @@ "],[21,0,12," Hello. "],[22,0,17," Nice to meet you."],[23,0,39,"+Bye-Bye. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,0],["cp",9,1],["cp",1,2],["cp",1,3],["cp",1,4],["cp",1,5],["cp",1,6],["cp",15,7],["cp",7,8],["cp",7,9],["cp",7,10],["cp",7,11],["cp",7,12],["cp",21,13],["cp",22,14],[20,0,14,["a","6"]],["cp",7,21],["cp",7,22],[23,0,8,["a","2"]]],"B":[["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],[16,36,37,["a","1"]],[17,20,28,["a","1"]],[18,17,21,["a","0"]],["cp",18,19],["cp",0,20]],"t":1305113005.11989},{"y":25,"d":[["cp",15,24]],"x":11,"t":1305113009.47355},{"y":25,"x":15,"t":1305113010.61732},{"y":25,"x":20,"t":1305113010.80147},{"y":25,"x":25,"t":1305113010.9774},{"y":25,"x":27,"t":1305113011.15331},{"y":25,"x":28,"t":1305113011.42517},{"y":25,"x":29,"t":1305113011.92537},{"y":25,"x":30,"t":1305113012.00883},{"y":25,"x":31,"t":1305113012.14521},{"y":25,"x":30,"t":1305113012.59333},{"y":25,"d":[[24,29,"1"]],"x":30,"t":1305113012.95352},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",7,6],["cp",13,12],["cp",14,13],["cp",6,14],["cp",20,19],["cp",6,20],["cp",23,22],["cp",6,23]],"B":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,19]],"t":1305113014.28895},{"y":25,"d":[["cp",15,0],["cp",16,1],["cp",17,2],["cp",18,3],["cp",19,4],["cp",20,5],["cp",21,6],["cp",22,7],["cp",23,8],[9,0,35,"diff --git a/hack-1.txt b/hack-1.txt"],[10,0,19,"new file mode 100644"],[11,0,21,"index 0000000..25735f5"],[12,0,12,"--- /dev/null"],[13,1,15,"++ b/hack-1.txt"],[14,0,39,"@@ -0,0 +1 @@ "],[15,0,37,"+hello. "],["cp",0,16],["cp",1,17],["cp",2,18],["cp",3,19],["cp",4,20],["cp",5,21],["cp",6,22],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",19,4],["cp",0,5],["cp",22,7],["cp",0,12],["cp",0,13],[14,0,12,["a","6"]],[15,0,6,["a","2"]],["cp",0,19],["cp",4,20],["cp",0,22],["cp",7,23]],"B":[["cp",15,0],["cp",16,1],["cp",17,2],["cp",2,3],["cp",4,7],["cp",4,8],[9,22,35,["a","1"]],[10,13,19,["a","1"]],[11,16,21,["a","1"]],[12,0,12,["a","1"]],[13,0,15,["a","1"]],["cp",4,15],["cp",0,16],["cp",1,17],["cp",2,19]],"t":1305113014.3017},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113020.69698},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113020.80079},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113020.88894},{"y":25,"x":15,"t":1305113020.96108},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305113021.16873},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305113021.51291},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305113021.73667},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305113021.89693},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305113022.00067},{"y":25,"x":21,"t":1305113022.40071},{"y":25,"d":[[24,20,"a"]],"x":22,"t":1305113022.96089},{"y":25,"d":[[24,21,"p"]],"x":23,"t":1305113023.09672},{"y":25,"d":[[24,22,"p"]],"x":24,"t":1305113023.22475},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305113023.38467},{"y":25,"d":[[24,24,"y"]],"x":26,"t":1305113023.56865},{"y":25,"x":27,"t":1305113023.72877},{"y":25,"d":[[24,26,"s"]],"x":28,"t":1305113023.95262},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305113024.10454},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305113024.25658},{"y":25,"d":[[24,29,"s"]],"x":31,"t":1305113024.43268},{"y":25,"d":[[24,30,"h"]],"x":32,"t":1305113024.56059},{"y":25,"d":[[24,31,"@"]],"x":33,"t":1305113025.90489},{"y":25,"d":[[24,32,"{"]],"x":34,"t":1305113026.80874},{"y":25,"d":[[24,33,"1"]],"x":35,"t":1305113027.04076},{"y":25,"d":[[24,34,"}"]],"x":36,"t":1305113027.40861},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",1,17],["cp",2,18],["cp",3,19],["cp",4,20],["cp",5,21],["cp",6,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",7,6],["cp",0,7],["cp",14,13],["cp",15,14],["cp",0,15],["cp",3,19],["cp",0,20],["cp",6,22],["cp",0,23]],"B":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",3,13],["cp",16,15],["cp",0,16],["cp",1,17],["cp",3,19]],"t":1305113028.21645},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",1,17],["cp",2,18],["cp",3,19],["cp",4,20],["cp",5,21],["cp",23,22],[23,0,34,"# On branch master "]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",13,12],["cp",14,13],["cp",0,14],["cp",2,18],["cp",0,19],["cp",5,21],["cp",0,22]],"B":[["cp",1,0],["cp",3,2],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",15,14],["cp",16,15],["cp",0,16],["cp",2,18]],"t":1305113028.61425},{"y":25,"d":[["cp",11,0],["cp",12,1],["cp",13,2],["cp",14,3],["cp",15,4],["cp",16,5],["cp",17,6],["cp",18,7],["cp",19,8],["cp",20,9],["cp",21,10],["cp",22,11],["cp",23,12],[13,0,25,"# Changes to be committed:"],[14,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[15,0,28,"# "],[16,0,29,"# new file: hack-1.txt"],["cp",15,17],[18,0,31,"# Changes not staged for commit:"],[19,0,61,"# (use \"git add ...\" to update what will be committed)"],[20,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],["cp",15,21],[22,0,34,"# modified: welcome.txt "],["cp",15,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",12,1],["cp",13,2],["cp",0,5],["cp",18,7],["cp",21,10],["cp",0,12],["cp",0,13],[16,8,29,["a","2"]],["cp",0,18],["cp",0,21],[22,8,30,["a","1"]]],"B":[["cp",11,0],["cp",2,1],["cp",14,3],["cp",15,4],["cp",16,5],["cp",5,6],["cp",1,7],["cp",1,8],["cp",1,9],["cp",1,10],["cp",1,11],["cp",1,14],["cp",1,15],["cp",1,16],["cp",1,17]],"t":1305113028.61867},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113031.99226},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113032.06443},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113032.15247},{"y":25,"d":[[24,13,"s"]],"x":15,"t":1305113032.35237},{"y":25,"d":[[24,13," "]],"x":14,"t":1305113032.8001},{"y":25,"x":15,"t":1305113032.8962},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305113033.04017},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305113033.21617},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305113033.32048},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305113033.50419},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305113033.60017},{"y":25,"x":21,"t":1305113033.73627},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305113033.81603},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305113033.93615},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305113033.99227},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305113034.08822},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",14,20],["cp",22,21],["cp",14,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",7,6],["cp",2,7],["cp",10,9],["cp",2,10],["cp",16,15],["cp",2,16],["cp",22,21],["cp",2,22]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",5,4],["cp",0,6]],"t":1305113034.2164},{"y":25,"x":1,"t":1305113034.27941},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",17,15],["cp",18,16],["cp",19,17],["cp",12,18],["cp",21,19],["cp",23,21],[22,0,55,"stash@{0}: WIP on master: 1086811 Merge commit '6630c7c'"],[23,0,69,"stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",6,4],["cp",0,6],["cp",9,7],["cp",0,9],["cp",15,13],["cp",0,15],["cp",21,19],["cp",0,21]],"B":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",2,3],["cp",6,4],["cp",4,5]],"t":1305113034.28364},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113036.55197},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113036.63224},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113036.74427},{"y":25,"x":15,"t":1305113036.80826},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305113036.97603},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305113037.11202},{"d":[["r","diff --git a/welcome.txt b/welcome.txt "],["r","index fd3c069..51dbfd2 100644 "],["r","--- a/welcome.txt "],["r","+++ b/welcome.txt "],["r","@@ -1,2 +1,3 @@ "],["r"," Hello. "],["r"," Nice to meet you. "],["r","+Bye-Bye. "],["r","bash-3.2$ git stash apply stash@{1} "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# new file: hack-1.txt "],["r","# "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","bash-3.2$ git stash list "],["r","stash@{0}: WIP on master: 1086811 Merge commit '6630c7c' "],["r","stash@{1}: On master: hack-1: hacked welcome.txt, new file hack-1.txt. "],["r","bash-3.2$ git sta "]],"x":18,"B":[["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","22222222277777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777222222222222222222222277777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305113037.27993,"i":1},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305113037.43198},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305113037.50414},{"y":25,"x":21,"t":1305113037.66407},{"y":25,"d":[[24,20,"c"]],"x":22,"t":1305113038.60834},{"y":25,"d":[[24,21,"l"]],"x":23,"t":1305113038.70408},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305113038.82528},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305113038.98393},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305113039.08795},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",11,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",7,6],["cp",0,7],["cp",13,12],["cp",0,13],["cp",19,18],["cp",0,19]],"B":[["cp",1,0],["cp",2,1],["cp",4,3]],"t":1305113039.35181},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305113039.41628},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113041.26395},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113041.33606},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113041.43976},{"y":25,"x":15,"t":1305113041.53031},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305113041.65572},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305113041.80774},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305113041.97594},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305113042.23221},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305113042.56777},{"y":25,"x":21,"t":1305113042.69567},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305113042.79979},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305113042.89585},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305113042.97599},{"y":25,"d":[["cp",20,24]],"x":25,"t":1305113043.07965},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",10,16],["cp",18,17],["cp",10,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",12,11],["cp",0,12],["cp",18,17],["cp",0,18]],"B":[["cp",1,0],["cp",3,2]],"t":1305113043.38383},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305113043.44302},{"y":25,"d":[["cp",19,24]],"x":11,"t":1305113044.6397},{"y":25,"d":[[24,10,23,"/ "]],"x":12,"t":1305113044.81584},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305113044.97563},{"y":25,"d":[[24,12,"s"]],"x":14,"t":1305113045.06378},{"y":25,"d":[[24,10,51,"ls -l .git/refs/stash .git/logs/refs/stash"]],"x":11,"t":1305113045.19152},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",9,15],["cp",17,16],["cp",9,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",11,10],["cp",0,11],["cp",17,16],["cp",0,17]],"B":[["cp",2,1]],"t":1305113046.00755},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",12,10],["cp",13,11],["cp",14,12],["cp",7,13],["cp",16,14],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",16,20],["cp",23,21],[22,0,59,"ls: cannot access .git/refs/stash: No such file or directory"],[23,0,64,"ls: cannot access .git/logs/refs/stash: No such file or directory"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",4,2],["cp",0,4],["cp",10,8],["cp",0,10],["cp",16,14],["cp",0,16]],"B":[["cp",1,0]],"t":1305113046.01382},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",6,12],["cp",14,13],["cp",6,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,64,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",14,13],["cp",0,14]],"t":1305113049.30365}]} \ No newline at end of file diff --git a/html/part2/ch10-01-tag.html b/html/part2/ch10-01-tag.html deleted file mode 100644 index ea19ffaca..000000000 --- a/html/part2/ch10-01-tag.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-01-tag -json_file: ch10-01-tag.json ---- diff --git a/html/part2/ch10-01-tag.json b/html/part2/ch10-01-tag.json deleted file mode 100644 index 2cd5aa6a3..000000000 --- a/html/part2/ch10-01-tag.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305113688.34882,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305113688.87325},{"y":2,"x":1,"t":1305113689.45698},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305113689.45722},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305113690.47307},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305113690.56089},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305113690.64914},{"y":2,"x":15,"t":1305113690.72128},{"y":2,"d":[[1,14,"t"]],"x":16,"t":1305113690.88899},{"y":2,"d":[[1,15,"a"]],"x":17,"t":1305113691.03305},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305113691.16075},{"y":2,"x":19,"t":1305113691.36894},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305113691.64912},{"y":2,"d":[[1,19,"m"]],"x":21,"t":1305113691.90501},{"y":2,"x":22,"t":1305113692.03307},{"y":2,"d":[[1,21,"\""]],"x":23,"t":1305113692.36897},{"y":2,"d":[[1,22,"S"]],"x":24,"t":1305113693.03304},{"y":2,"d":[[1,23,"a"]],"x":25,"t":1305113693.20898},{"y":2,"d":[[1,24,"y"]],"x":26,"t":1305113693.35282},{"y":2,"x":27,"t":1305113693.94472},{"y":2,"d":[[1,26,"b"]],"x":28,"t":1305113694.08877},{"y":2,"d":[[1,27,"y"]],"x":29,"t":1305113694.17684},{"y":2,"d":[[1,28,"e"]],"x":30,"t":1305113694.32907},{"y":2,"d":[[1,29,"b"]],"x":31,"t":1305113694.68176},{"y":2,"d":[[1,29," "]],"x":30,"t":1305113695.02489},{"y":2,"d":[[1,29,"="]],"x":31,"t":1305113695.23269},{"y":2,"d":[[1,29," "]],"x":30,"t":1305113695.68871},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305113696.42473},{"y":2,"d":[[1,30,"b"]],"x":32,"t":1305113696.53678},{"y":2,"d":[[1,31,"y"]],"x":33,"t":1305113696.66474},{"y":2,"d":[[1,32,"e"]],"x":34,"t":1305113696.80065},{"y":2,"x":35,"t":1305113696.97688},{"y":2,"d":[[1,34,"t"]],"x":36,"t":1305113697.18473},{"y":2,"d":[[1,35,"o"]],"x":37,"t":1305113697.28863},{"y":2,"x":38,"t":1305113697.74459},{"y":2,"d":[[1,37,"a"]],"x":39,"t":1305113697.96879},{"y":2,"d":[[1,38,"l"]],"x":40,"t":1305113698.04068},{"y":2,"d":[[1,39,"l"]],"x":41,"t":1305113698.2007},{"y":2,"x":42,"t":1305113698.28864},{"y":2,"d":[[1,41,"p"]],"x":43,"t":1305113698.54461},{"y":2,"d":[[1,42,"r"]],"x":44,"t":1305113698.61658},{"y":2,"d":[[1,43,"e"]],"x":45,"t":1305113698.7447},{"y":2,"d":[[1,44,"v"]],"x":46,"t":1305113698.97662},{"y":2,"d":[[1,45,"i"]],"x":47,"t":1305113699.15247},{"y":2,"d":[[1,46,"o"]],"x":48,"t":1305113699.34479},{"y":2,"d":[[1,47,"u"]],"x":49,"t":1305113699.44873},{"y":2,"d":[[1,48,"s"]],"x":50,"t":1305113699.55274},{"y":2,"x":51,"t":1305113699.68078},{"y":2,"d":[[1,50,"p"]],"x":52,"t":1305113700.37669},{"y":2,"d":[[1,51,"r"]],"x":53,"t":1305113700.51258},{"y":2,"d":[[1,52,"a"]],"x":54,"t":1305113700.62456},{"y":2,"d":[[1,53,"c"]],"x":55,"t":1305113700.82456},{"y":2,"d":[[1,54,"t"]],"x":56,"t":1305113701.00861},{"y":2,"d":[[1,55,"i"]],"x":57,"t":1305113701.14444},{"y":2,"d":[[1,56,"c"]],"x":58,"t":1305113701.2886},{"y":2,"d":[[1,57,"e"]],"x":59,"t":1305113701.46448},{"y":2,"d":[[1,58,"."]],"x":60,"t":1305113701.76055},{"y":2,"d":[[1,59,"\""]],"x":61,"t":1305113702.16854},{"y":2,"x":62,"t":1305113702.40034},{"y":2,"d":[[1,61,"o"]],"x":63,"t":1305113702.66435},{"y":2,"d":[[1,62,"l"]],"x":64,"t":1305113702.83242},{"y":2,"d":[[1,63,"d"]],"x":65,"t":1305113702.92053},{"y":2,"d":[[1,64,"_"]],"x":66,"t":1305113703.72059},{"y":2,"d":[[1,65,"p"]],"x":67,"t":1305113704.03251},{"y":2,"d":[[1,66,"r"]],"x":68,"t":1305113704.16831},{"y":2,"d":[[1,67,"a"]],"x":69,"t":1305113704.52057},{"y":2,"d":[[1,68,"c"]],"x":70,"t":1305113704.72063},{"y":2,"d":[[1,69,"t"]],"x":71,"t":1305113704.92853},{"y":2,"d":[[1,70,"i"]],"x":72,"t":1305113705.06431},{"y":2,"d":[[1,71,"c"]],"x":73,"t":1305113705.16019},{"y":2,"d":[[1,72,"e"]],"x":74,"t":1305113705.3444},{"y":3,"x":1,"t":1305113705.45613},{"y":3,"d":[[2,0,8,"bash-3.2$"]],"x":11,"t":1305113705.74272},{"y":3,"d":[[2,10,"g"]],"x":12,"t":1305113707.20034},{"y":3,"d":[[2,11,"i"]],"x":13,"t":1305113707.28827},{"y":3,"d":[[2,12,"t"]],"x":14,"t":1305113707.41644},{"y":3,"x":15,"t":1305113707.5041},{"y":3,"d":[[2,14,"s"]],"x":16,"t":1305113708.4161},{"y":3,"d":[[2,15,"t"]],"x":17,"t":1305113708.57628},{"y":3,"d":[[2,15," "]],"x":16,"t":1305113709.36801},{"y":3,"d":[[2,14," "]],"x":15,"t":1305113709.56797},{"y":3,"d":[[2,14,"d"]],"x":16,"t":1305113710.17619},{"y":3,"d":[[2,15,"e"]],"x":17,"t":1305113710.33605},{"y":3,"d":[[2,16,"s"]],"x":18,"t":1305113710.496},{"y":3,"d":[[2,17,"c"]],"x":19,"t":1305113710.70413},{"y":3,"d":[[2,18,"r"]],"x":20,"t":1305113711.09601},{"y":3,"d":[[2,19,"i"]],"x":21,"t":1305113711.24018},{"y":3,"d":[[2,20,"b"]],"x":22,"t":1305113711.35184},{"y":3,"d":[[2,21,"e"]],"x":23,"t":1305113711.51209},{"y":4,"x":1,"t":1305113711.64819},{"y":5,"d":[[3,0,11,"old_practice"],[4,0,8,"bash-3.2$"]],"x":11,"t":1305113711.65647},{"y":5,"d":[[4,10,"g"]],"x":12,"t":1305113712.22419},{"y":5,"d":[[4,11,"i"]],"x":13,"t":1305113712.33614},{"y":5,"d":[[4,12,"t"]],"x":14,"t":1305113712.40821},{"y":5,"x":15,"t":1305113712.49623},{"y":5,"d":[[4,14,"l"]],"x":16,"t":1305113712.55989},{"y":5,"d":[[4,15,"o"]],"x":17,"t":1305113712.75993},{"y":5,"d":[[4,16,"g"]],"x":18,"t":1305113712.86453},{"y":5,"x":19,"t":1305113712.99206},{"y":5,"d":[[4,18,"-"]],"x":20,"t":1305113713.16788},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git tag -m \"Say bye-bye to all previous practice.\" old_practice "],["r","bash-3.2$ git describe "],["r","old_practice "],["r","bash-3.2$ git log -- "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":21,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":5,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305113713.35987,"i":1},{"y":5,"d":[[4,20,"o"]],"x":22,"t":1305113713.62396},{"y":5,"d":[[4,21,"n"]],"x":23,"t":1305113713.76792},{"y":5,"d":[[4,22,"e"]],"x":24,"t":1305113713.87193},{"y":5,"d":[[4,23,"l"]],"x":25,"t":1305113713.95205},{"y":5,"d":[[4,24,"i"]],"x":26,"t":1305113714.08002},{"y":5,"d":[[4,25,"e"]],"x":27,"t":1305113714.19977},{"y":5,"d":[[4,26,"n"]],"x":28,"t":1305113714.23997},{"y":5,"x":29,"t":1305113714.45587},{"y":5,"x":28,"t":1305113714.94397},{"y":5,"d":[[4,26," "]],"x":27,"t":1305113715.11984},{"y":5,"d":[[4,25," "]],"x":26,"t":1305113715.27187},{"y":5,"d":[[4,25,"n"]],"x":27,"t":1305113715.472},{"y":5,"d":[[4,26,"e"]],"x":28,"t":1305113715.51969},{"y":5,"x":29,"t":1305113715.60771},{"y":5,"d":[[4,28,"-"]],"x":30,"t":1305113715.75182},{"y":5,"d":[[4,29,"-"]],"x":31,"t":1305113715.92778},{"y":5,"d":[[4,30,"g"]],"x":32,"t":1305113716.00792},{"y":5,"d":[[4,31,"r"]],"x":33,"t":1305113716.15972},{"y":5,"d":[[4,32,"a"]],"x":34,"t":1305113716.28911},{"y":5,"d":[[4,33,"p"]],"x":35,"t":1305113716.4397},{"y":5,"d":[[4,34,"h"]],"x":36,"t":1305113716.55987},{"y":5,"x":37,"t":1305113716.75186},{"y":5,"d":[[4,36,"-"]],"x":38,"t":1305113716.90395},{"y":5,"d":[[4,37,"-"]],"x":39,"t":1305113717.07982},{"y":5,"d":[[4,38,"d"]],"x":40,"t":1305113717.15987},{"y":5,"d":[[4,39,"e"]],"x":41,"t":1305113717.35962},{"y":5,"d":[[4,40,"c"]],"x":42,"t":1305113717.48778},{"y":5,"d":[[4,41,"o"]],"x":43,"t":1305113717.55974},{"y":5,"d":[[4,42,"r"]],"x":44,"t":1305113717.73574},{"y":5,"d":[[4,43,"a"]],"x":45,"t":1305113717.91174},{"y":5,"d":[[4,44,"t"]],"x":46,"t":1305113718.07191},{"y":5,"d":[[4,45,"e"]],"x":47,"t":1305113718.20777},{"y":6,"x":1,"t":1305113718.27965},{"y":14,"d":[[5,0,67,"* 1086811 (HEAD, tag: old_practice, master) Merge commit '6630c7c'"],[6,0,1,"|\\"],[7,0,40,"| * 6630c7c commit in detached HEAD mode."],[8,0,46,"* | 6af1352 does master follow this new commit?"],[9,0,1,"|/"],[10,0,34,"* 0e3a4c9 which version checked in?"],[11,0,25,"* 61b1516 who does commit?"],[12,0,20,"* 3869015 intialized."],[13,0,8,"bash-3.2$"]],"x":11,"f":[[5,4,44,"33333333366663333333333333333333332222223"],[6,0,1,"12"],[7,0,10,"17773333333"],[8,2,10,"273333333"],[9,0,1,["a","2"]],[10,2,8,["a","3"]],["cp",10,11],["cp",10,12]],"B":[[5,13,43,"1111001111111111111111100111111"]],"t":1305113718.29337},{"y":14,"d":[[13,10,"g"]],"x":12,"t":1305113719.63975},{"y":14,"d":[[13,11,"i"]],"x":13,"t":1305113719.73556},{"y":14,"d":[[13,12,"t"]],"x":14,"t":1305113719.82357},{"y":14,"x":15,"t":1305113719.91168},{"y":14,"d":[[13,14,"s"]],"x":16,"t":1305113720.07187},{"y":14,"d":[[13,15,"t"]],"x":17,"t":1305113720.19975},{"y":14,"d":[[13,16,"a"]],"x":18,"t":1305113720.35173},{"y":14,"d":[[13,17,"t"]],"x":19,"t":1305113720.43159},{"y":14,"d":[[13,18,"u"]],"x":20,"t":1305113720.54361},{"y":14,"d":[[13,19,"s"]],"x":21,"t":1305113720.63963},{"y":14,"x":22,"t":1305113720.83955},{"y":14,"d":[[13,21,"-"]],"x":23,"t":1305113720.9275},{"y":14,"d":[[13,22,"s"]],"x":24,"t":1305113721.00761},{"y":15,"x":1,"t":1305113721.19146},{"y":17,"d":[[14,0,12,"A hack-1.txt"],[15,1,13,"M welcome.txt"],[16,0,8,"bash-3.2$"]],"x":11,"f":[[14,0,"2"],[15,1,"1"]],"t":1305113721.19997},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305113726.54333},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305113726.63165},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305113726.71145},{"y":17,"x":15,"t":1305113726.79121},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305113726.9914},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305113727.14327},{"y":17,"d":[[16,16,"a"]],"x":18,"t":1305113727.34328},{"y":17,"d":[[16,17,"s"]],"x":19,"t":1305113727.49571},{"y":17,"d":[[16,18,"h"]],"x":20,"t":1305113727.64738},{"y":18,"x":1,"t":1305113729.13512},{"y":20,"d":[[17,0,79,"Saved working directory and index state WIP on master: 1086811 Merge commit '663"],[18,0,4,"0c7c'"]],"x":1,"t":1305113729.54773},{"y":21,"d":[[19,0,44,"HEAD is now at 1086811 Merge commit '6630c7c'"],[20,0,8,"bash-3.2$"]],"x":11,"t":1305113729.55742},{"y":21,"d":[[20,10,"g"]],"x":12,"t":1305113730.25526},{"y":21,"d":[[20,11,"i"]],"x":13,"t":1305113730.32738},{"y":21,"d":[[20,12,"t"]],"x":14,"t":1305113730.42303},{"y":21,"x":15,"t":1305113730.51122},{"y":21,"d":[[20,14,"s"]],"x":16,"t":1305113731.07104},{"y":21,"d":[[20,15,"t"]],"x":17,"t":1305113731.20704},{"y":21,"d":[[20,16,"a"]],"x":18,"t":1305113731.36704},{"y":21,"d":[[20,17,"s"]],"x":19,"t":1305113731.52713},{"y":21,"d":[["cp",16,20]],"x":20,"t":1305113731.6231},{"y":21,"x":21,"t":1305113731.74295},{"y":21,"d":[[20,20,"a"]],"x":22,"t":1305113732.247},{"y":21,"d":[[20,21,"p"]],"x":23,"t":1305113732.43118},{"y":21,"d":[[20,22,"p"]],"x":24,"t":1305113732.58385},{"y":21,"d":[[20,23,"l"]],"x":25,"t":1305113732.74299},{"y":21,"d":[[20,24,"y"]],"x":26,"t":1305113732.95899},{"y":22,"x":1,"t":1305113733.18323},{"y":22,"d":[[21,0,"g"]],"x":2,"t":1305113733.55884},{"y":25,"d":[["cp",9,0],["cp",10,1],["cp",11,2],["cp",12,3],["cp",13,4],["cp",14,5],["cp",15,6],["cp",16,7],["cp",17,8],["cp",18,9],["cp",19,10],["cp",20,11],[12,0,20,"g# On branch master "],[13,0,25,"# Changes to be committed:"],[14,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[15,0,13,"# "],[16,0,29,"# new file: hack-1.txt"],["cp",15,17],[18,0,31,"# Changes not staged for commit:"],[19,0,61,"# (use \"git add ...\" to update what will be committed)"],[20,0,9,"# (use \""],[20,14,76,"checkout -- ...\" to discard changes in working directory)"],["cp",15,21],[22,0,"#"],[22,8,30,"modified: welcome.txt"],["cp",15,23],[24,0,10,"bash-3.2$ g"]],"x":12,"f":[["cp",9,0],["cp",10,1],["cp",1,2],["cp",1,3],["cp",14,5],["cp",15,6],["cp",4,7],["cp",4,8],["cp",4,9],["cp",4,10],["cp",4,11],["cp",4,12],["cp",4,14],["cp",4,15],[16,8,29,["a","2"]],[22,8,30,["a","1"]]],"B":[["cp",0,5]],"t":1305113733.5848},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113733.66301},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113733.72691},{"y":25,"x":15,"t":1305113733.8631},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305113734.09491},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305113734.25488},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305113734.42289},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305113734.52494},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305113734.68708},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305113734.86318},{"y":25,"x":22,"t":1305113735.0071},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305113735.16682},{"y":25,"d":[["cp",4,24]],"x":24,"t":1305113735.32689},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",14,20],["cp",22,21],["cp",14,22],["cp",3,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",16,15],["cp",3,16],["cp",22,21],["cp",3,22]],"t":1305113735.44801},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",17,15],["cp",18,16],["cp",19,17],["cp",12,18],["cp",21,19],["cp",1,21],["cp",2,22],["cp",3,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,1],["cp",4,2],["cp",5,3],["cp",1,4],["cp",1,5],["cp",15,13],["cp",1,15],["cp",21,19],["cp",1,21],["cp",2,22],["cp",3,23]],"t":1305113735.46006},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",11,19],["cp",0,20],["cp",1,21],["cp",2,22],[23,0,12,"bash-3.2$ exi"],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",13,12],["cp",0,13],["cp",19,18],["cp",0,19],["cp",1,21],["cp",2,22],["cp",0,23]],"t":1305113736.23107}]} \ No newline at end of file diff --git a/html/part2/ch10-02-rm1.html b/html/part2/ch10-02-rm1.html deleted file mode 100644 index 165f7681f..000000000 --- a/html/part2/ch10-02-rm1.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-02-rm1 -json_file: ch10-02-rm1.json ---- diff --git a/html/part2/ch10-02-rm1.json b/html/part2/ch10-02-rm1.json deleted file mode 100644 index d78623e95..000000000 --- a/html/part2/ch10-02-rm1.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305113956.73137,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305113957.2207},{"y":2,"x":1,"t":1305113957.66853},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305113957.66876},{"y":2,"d":[[1,10,"l"]],"x":12,"t":1305113958.25264},{"y":2,"d":[[1,11,"s"]],"x":13,"t":1305113958.32597},{"y":3,"x":1,"t":1305113958.78243},{"y":4,"d":[[2,0,59,"detached-commit.txt hack-1.txt new-commit.txt welcome.txt"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305113958.78619},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305113959.31663},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305113959.40436},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305113959.5003},{"y":4,"x":15,"t":1305113959.55665},{"y":4,"d":[[3,14,"s"]],"x":16,"t":1305113959.67657},{"y":4,"d":[[3,15,"t"]],"x":17,"t":1305113959.82124},{"y":4,"d":[[3,16,"a"]],"x":18,"t":1305113959.98864},{"y":4,"d":[[3,17,"t"]],"x":19,"t":1305113960.24444},{"y":4,"d":[[3,18,"u"]],"x":20,"t":1305113960.3484},{"y":4,"d":[[3,19,"s"]],"x":21,"t":1305113960.43661},{"y":4,"x":22,"t":1305113960.62041},{"y":4,"d":[[3,21,"-"]],"x":23,"t":1305113960.73238},{"y":4,"d":[[3,22,"s"]],"x":24,"t":1305113960.81246},{"y":5,"x":1,"t":1305113960.94855},{"y":7,"d":[[4,0,12,"A hack-1.txt"],[5,1,13,"M welcome.txt"],[6,0,8,"bash-3.2$"]],"x":11,"f":[[4,0,"2"],[5,1,"1"]],"t":1305113960.95829},{"y":7,"d":[[6,10,"r"]],"x":12,"t":1305113962.88482},{"y":7,"d":[[6,11,"m"]],"x":13,"t":1305113962.98846},{"y":7,"x":14,"t":1305113963.08449},{"y":7,"d":[[6,13,"*"]],"x":15,"t":1305113963.3086},{"y":7,"d":[[6,14,"t"]],"x":16,"t":1305113963.6924},{"y":7,"d":[[6,15,"x"]],"x":17,"t":1305113963.83646},{"y":7,"d":[[6,15," "]],"x":16,"t":1305113964.12422},{"y":7,"d":[[6,14," "]],"x":15,"t":1305113964.3004},{"y":7,"d":[[6,14,"."]],"x":16,"t":1305113964.4845},{"y":7,"d":[[6,15,"t"]],"x":17,"t":1305113964.54822},{"y":7,"d":[[6,16,"x"]],"x":18,"t":1305113964.69224},{"y":7,"d":[[6,17,"t"]],"x":19,"t":1305113964.8042},{"y":8,"x":1,"t":1305113964.92438},{"y":8,"d":[[7,0,8,"bash-3.2$"]],"x":11,"t":1305113964.92834},{"y":8,"d":[[7,10,"g"]],"x":12,"t":1305113965.33254},{"y":8,"d":[[7,11,"i"]],"x":13,"t":1305113965.40429},{"y":8,"d":[[7,12,"t"]],"x":14,"t":1305113965.51616},{"y":8,"x":15,"t":1305113965.58818},{"y":8,"d":[[7,14,"s"]],"x":16,"t":1305113965.78827},{"y":8,"d":[[7,15,"t"]],"x":17,"t":1305113965.89218},{"y":8,"d":[[7,16,"a"]],"x":18,"t":1305113966.06011},{"y":8,"d":[[7,17,"t"]],"x":19,"t":1305113966.15623},{"y":8,"d":[[7,18,"u"]],"x":20,"t":1305113966.26808},{"y":8,"d":[[7,19,"s"]],"x":21,"t":1305113966.33223},{"y":8,"x":22,"t":1305113966.47604},{"y":8,"d":[[7,21,"-"]],"x":23,"t":1305113966.54816},{"y":8,"d":[["cp",3,7]],"x":24,"t":1305113966.65209},{"y":9,"x":1,"t":1305113966.76417},{"y":13,"d":[[8,1,21,"D detached-commit.txt"],[9,0,12,"AD hack-1.txt"],[10,1,16,"D new-commit.txt"],[11,1,13,"D welcome.txt"],[12,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,8],[9,0,1,"21"],["cp",5,10],["cp",5,11]],"t":1305113966.77196},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305113967.51627},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305113967.60424},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305113967.71627},{"y":13,"x":15,"t":1305113967.78002},{"y":13,"d":[[12,14,"s"]],"x":16,"t":1305113967.94812},{"y":13,"d":[[12,15,"t"]],"x":17,"t":1305113968.0602},{"y":13,"d":[[12,16,"a"]],"x":18,"t":1305113968.22031},{"y":13,"d":[[12,17,"t"]],"x":19,"t":1305113968.33227},{"y":13,"d":[[12,18,"u"]],"x":20,"t":1305113968.47603},{"y":13,"d":[[12,19,"s"]],"x":21,"t":1305113968.54017},{"y":14,"x":1,"t":1305113969.13192},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],[9,0,17,"# On branch master"],[10,0,25,"# Changes to be committed:"],[11,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[12,0,19,"# "],[13,0,"#"],[13,8,29,"new file: hack-1.txt"],["cp",12,14],[15,0,31,"# Changes not staged for commit:"],[16,0,64,"# (use \"git add/rm ...\" to update what will be committed)"],[17,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],["cp",12,18],[19,0,"#"],[19,8,15,"deleted:"],[19,20,38,"detached-commit.txt"],[20,0,"#"],[20,8,15,"deleted:"],[20,20,29,"hack-1.txt"],[21,0,"#"],[21,8,15,"deleted:"],[21,20,33,"new-commit.txt"],[22,0,"#"],[22,8,15,"deleted:"],[22,20,30,"welcome.txt"],["cp",12,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,0],["cp",5,1],["cp",1,4],["cp",9,5],["cp",1,6],["cp",1,7],["cp",2,8],["cp",2,9],["cp",2,10],["cp",2,11],[13,8,29,["a","2"]],[19,8,38,["a","1"]],[20,8,29,["a","1"]],[21,8,33,["a","1"]],[22,8,30,["a","1"]]],"t":1305113969.14736},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113970.23607},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113970.32408},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113970.43617},{"y":25,"x":15,"t":1305113970.49197},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305113970.74791},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305113970.8761},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305113971.09989},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305113971.25205},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305113971.34808},{"y":25,"d":[[24,19,"l"]],"x":21,"t":1305113971.42795},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305113971.48459},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305113971.62004},{"y":25,"x":24,"t":1305113971.77992},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305113971.93197},{"y":25,"d":[[24,24,"s"]],"x":26,"t":1305113972.11613},{"y":25,"x":27,"t":1305113973.86781},{"y":25,"d":[[24,26,"-"]],"x":28,"t":1305113974.13968},{"y":25,"d":[[24,27,"v"]],"x":29,"t":1305113974.24377},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",11,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,3],["cp",5,4],["cp",0,5],["cp",1,7],["cp",13,12],["cp",1,13],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",1,22]],"t":1305113974.44381},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",7,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",7,18],["cp",23,19],[20,0,50,"H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0"],[20,56,74,"detached-commit.txt"],[21,0,50,"H 100644 25735f595470e0e6894159694a4238a3ee8a3df0 0"],[21,56,65,"hack-1.txt"],[22,0,50,"H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0"],[22,56,69,"new-commit.txt"],[23,0,50,"H 100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0"],[23,56,66,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,0],["cp",3,1],["cp",1,2],["cp",7,3],["cp",3,4],["cp",3,5],["cp",3,6],["cp",12,8],["cp",3,12],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",3,18],["cp",3,19],["cp",3,20],["cp",3,21]],"t":1305113974.45129},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305113986.66735},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305113986.80313},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305113986.87519},{"y":25,"x":15,"t":1305113986.97918},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305113987.43512},{"y":25,"d":[[24,15,"m"]],"x":17,"t":1305113987.66713},{"y":25,"x":18,"t":1305113987.86823},{"y":25,"d":[[24,17,"d"]],"x":19,"t":1305113988.64319},{"y":25,"d":[[24,18,"e"]],"x":20,"t":1305113988.82731},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305113989.05109},{"y":25,"x":21,"t":1305113989.71655},{"y":25,"d":[[24,20,"a"]],"x":22,"t":1305113991.36324},{"y":25,"d":[[24,21,"c"]],"x":23,"t":1305113991.60294},{"y":25,"x":23,"t":1305113991.89244},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305113992.30695},{"y":25,"d":[[24,23,"e"]],"x":25,"t":1305113992.59502},{"d":[["r","AD hack-1.txt "],["r"," D new-commit.txt "],["r"," D welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# new file: hack-1.txt "],["r","# "],["r","# Changes not staged for commit: "],["r","# (use \"git add/rm ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# deleted: detached-commit.txt "],["r","# deleted: hack-1.txt "],["r","# deleted: new-commit.txt "],["r","# deleted: welcome.txt "],["r","# "],["r","bash-3.2$ git ls-files -s -v "],["r","H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 detached-commit.txt "],["r","H 100644 25735f595470e0e6894159694a4238a3ee8a3df0 0 hack-1.txt "],["r","H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 new-commit.txt "],["r","H 100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0 welcome.txt "],["r","bash-3.2$ git rm detached "]],"x":26,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","21777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d","d","d","d",["r","77777777222222222222222222222277777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777111111111111111111111111111111177777777777777777777777777777777777777777"],["r","77777777111111111111111111111177777777777777777777777777777777777777777777777777"],["r","77777777111111111111111111111111117777777777777777777777777777777777777777777777"],["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305113992.77079,"i":1},{"y":25,"d":[[24,25,"-"]],"x":27,"t":1305113992.97884},{"y":25,"d":[[24,26,"c"]],"x":28,"t":1305113993.21887},{"y":25,"d":[[24,27,"o"]],"x":29,"t":1305113993.30698},{"y":25,"d":[[24,28,"m"]],"x":30,"t":1305113993.47502},{"y":25,"d":[[24,29,"m"]],"x":31,"t":1305113993.651},{"y":25,"d":[[24,30,"i"]],"x":32,"t":1305113993.79493},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305113993.85907},{"y":25,"d":[[24,32,"."]],"x":34,"t":1305113994.01902},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305113994.16303},{"y":25,"d":[[24,34,"x"]],"x":36,"t":1305113994.31478},{"y":25,"d":[[24,35,"t"]],"x":37,"t":1305113994.40304},{"y":25,"x":38,"t":1305113994.54714},{"y":25,"d":[[24,37,"h"]],"x":39,"t":1305113996.65894},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305113996.73094},{"y":25,"d":[[24,39,"c"]],"x":41,"t":1305113996.88305},{"y":25,"d":[[24,40,"k"]],"x":42,"t":1305113996.97073},{"y":25,"d":[[24,41,"-"]],"x":43,"t":1305113997.30691},{"y":25,"d":[[24,42,"1"]],"x":44,"t":1305113997.49067},{"y":25,"d":[[24,43,"."]],"x":45,"t":1305113997.71457},{"y":25,"d":[[24,44,"t"]],"x":46,"t":1305113997.85877},{"y":25,"d":[[24,45,"x"]],"x":47,"t":1305113998.02792},{"y":25,"d":[[24,46,"t"]],"x":48,"t":1305113998.13067},{"y":25,"x":49,"t":1305113998.31511},{"y":25,"d":[[24,48,"n"]],"x":50,"t":1305113999.30689},{"y":25,"d":[[24,49,"e"]],"x":51,"t":1305113999.37872},{"y":25,"d":[[24,50,"w"]],"x":52,"t":1305113999.50666},{"y":25,"d":[[24,51,"-"]],"x":53,"t":1305113999.74796},{"y":25,"d":[[24,52,"c"]],"x":54,"t":1305113999.97867},{"y":25,"d":[[24,53,"o"]],"x":55,"t":1305114000.03464},{"y":25,"d":[[24,54,"m"]],"x":56,"t":1305114000.20275},{"y":25,"d":[[24,55,"m"]],"x":57,"t":1305114000.3706},{"y":25,"d":[[24,56,"i"]],"x":58,"t":1305114000.53049},{"y":25,"d":[[24,57,"t"]],"x":59,"t":1305114000.62648},{"y":25,"d":[[24,58,"."]],"x":60,"t":1305114001.13052},{"y":25,"d":[[24,59,"t"]],"x":61,"t":1305114001.27459},{"y":25,"d":[[24,60,"x"]],"x":62,"t":1305114001.40253},{"y":25,"d":[[24,61,"t"]],"x":63,"t":1305114001.50639},{"y":25,"x":64,"t":1305114001.61843},{"y":25,"d":[[24,63,"w"]],"x":65,"t":1305114001.85046},{"y":25,"d":[[24,64,"e"]],"x":66,"t":1305114001.98666},{"y":25,"d":[[24,65,"l"]],"x":67,"t":1305114002.09856},{"y":25,"d":[[24,66,"c"]],"x":68,"t":1305114002.23463},{"y":25,"d":[[24,67,"o"]],"x":69,"t":1305114002.30644},{"y":25,"d":[[24,68,"m"]],"x":70,"t":1305114002.47467},{"y":25,"d":[[24,69,"e"]],"x":71,"t":1305114002.57066},{"y":25,"d":[[24,70,"."]],"x":72,"t":1305114002.72248},{"y":25,"d":[[24,71,"t"]],"x":73,"t":1305114002.82649},{"y":25,"d":[[24,72,"x"]],"x":74,"t":1305114002.96266},{"y":25,"d":[[24,73,"t"]],"x":75,"t":1305114003.06654},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",6,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",6,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",8,7],["cp",2,8],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",2,17]],"t":1305114003.18641},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",2,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",2,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,50,"rm 'detached-commit.txt' "],[20,56,65,["a"," "]],[21,0,50,"rm 'hack-1.txt' "],[21,56,69,["a"," "]],[22,0,50,"rm 'new-commit.txt' "],[22,56,66,["a"," "]],[23,0,73,"rm 'welcome.txt' "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",7,3],["cp",0,7],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16]],"t":1305114003.19556},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114004.21048},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114004.29866},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114004.3798},{"y":25,"x":15,"t":1305114004.44237},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114004.59432},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114004.71462},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114004.85835},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114004.96349},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114005.02622},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114005.11439},{"y":25,"x":22,"t":1305114005.40244},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12]],"t":1305114006.69862},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",7,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,50,"# On branch master "],[16,56,69,["a"," "]],[17,0,50,"# Changes to be committed: "],[17,56,66,["a"," "]],[18,0,9,"# (use \""],[18,15,73,"eset HEAD ...\" to unstage) "],["cp",4,19],["cp",0,20],["cp",2,21],["cp",3,22],["cp",4,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",4,8],["cp",4,9],["cp",4,10],["cp",4,11],[20,8,38,["a","2"]],[21,8,33,["a","2"]],[22,8,30,["a","2"]]],"t":1305114006.70654},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114010.45023},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114010.59438},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114010.67415},{"y":25,"x":15,"t":1305114010.7706},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305114010.91407},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305114010.97827},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305114011.13014},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305114011.29849},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305114011.4501},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305114011.48207},{"y":25,"x":22,"t":1305114011.58605},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114011.72998},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305114011.9542},{"y":25,"x":25,"t":1305114012.05809},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305114012.37816},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305114012.56214},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305114012.72201},{"y":25,"d":[[24,27,"l"]],"x":29,"t":1305114012.88208},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305114012.96989},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305114013.13794},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305114013.30598},{"y":25,"x":33,"t":1305114013.76208},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305114014.20994},{"y":25,"d":[[24,33,"r"]],"x":35,"t":1305114014.74587},{"y":25,"d":[[24,34,"a"]],"x":36,"t":1305114014.90609},{"y":25,"d":[[24,35,"s"]],"x":37,"t":1305114015.10598},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305114015.18587},{"y":25,"x":39,"t":1305114015.34587},{"y":25,"d":[[24,38,"f"]],"x":40,"t":1305114015.50638},{"y":25,"d":[[24,39,"i"]],"x":41,"t":1305114015.56977},{"y":25,"d":[[24,40,"l"]],"x":42,"t":1305114015.6819},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305114015.78596},{"y":25,"d":[[24,42,"s"]],"x":44,"t":1305114015.92992},{"y":25,"d":[[24,43,"."]],"x":45,"t":1305114016.3619},{"y":25,"x":46,"t":1305114017.13878},{"d":[["r","# deleted: detached-commit.txt "],["r","# deleted: hack-1.txt "],["r","# deleted: new-commit.txt "],["r","# deleted: welcome.txt "],["r","# "],["r","bash-3.2$ git ls-files -s -v "],["r","H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 detached-commit.txt "],["r","H 100644 25735f595470e0e6894159694a4238a3ee8a3df0 0 hack-1.txt "],["r","H 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 new-commit.txt "],["r","H 100644 fd3c069c1de4f4bc9b15940f490aeb48852f3c42 0 welcome.txt "],["r","bash-3.2$ git rm detached-commit.txt hack-1.txt new-commit.txt welcome.txt "],["r","rm 'detached-commit.txt' "],["r","rm 'hack-1.txt' "],["r","rm 'new-commit.txt' "],["r","rm 'welcome.txt' "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# deleted: detached-commit.txt "],["r","# deleted: new-commit.txt "],["r","# deleted: welcome.txt "],["r","# "],["r","bash-3.2$ git commit -m \"delete trash files. ( "]],"x":47,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","77777777111111111111111111111111111111177777777777777777777777777777777777777777"],["r","77777777111111111111111111111177777777777777777777777777777777777777777777777777"],["r","77777777111111111111111111111111117777777777777777777777777777777777777777777777"],["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","77777777222222222222222222222222222222277777777777777777777777777777777777777777"],["r","77777777222222222222222222222222227777777777777777777777777777777777777777777777"],["r","77777777222222222222222222222227777777777777777777777777777777777777777777777777"],["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114017.38585,"i":1},{"y":25,"d":[[24,46,"u"]],"x":48,"t":1305114017.906},{"y":25,"d":[[24,47,"s"]],"x":49,"t":1305114018.02598},{"y":25,"d":[[24,48,"i"]],"x":50,"t":1305114018.08977},{"y":25,"d":[[24,49,"n"]],"x":51,"t":1305114018.22572},{"y":25,"d":[[24,50,"g"]],"x":52,"t":1305114018.32982},{"y":25,"x":53,"t":1305114018.54564},{"y":25,"d":[[24,52,"g"]],"x":54,"t":1305114019.24168},{"y":25,"d":[[24,53,"i"]],"x":55,"t":1305114019.30572},{"y":25,"d":[[24,54,"t"]],"x":56,"t":1305114019.44169},{"y":25,"x":57,"t":1305114019.50599},{"y":25,"d":[[24,56,"r"]],"x":58,"t":1305114019.68179},{"y":25,"d":[[24,57,"m"]],"x":59,"t":1305114019.8179},{"y":25,"d":[[24,58,")"]],"x":60,"t":1305114020.54577},{"y":25,"d":[[24,59,"\""]],"x":61,"t":1305114021.37774},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",3,18],["cp",20,19],["cp",1,20],["cp",2,21],["cp",3,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",20,19],["cp",21,20],["cp",22,21],["cp",3,22]],"t":1305114022.59367},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",2,17],["cp",19,18],["cp",0,19],["cp",1,20],["cp",2,21],["cp",23,22],[23,0,59,"[master 0518edb] delete trash files. (using git rm) "]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",19,18],["cp",20,19],["cp",21,20],["cp",2,21]],"t":1305114022.89546},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",22,18],["cp",23,19],[20,0,48," 1 files changed, 0 insertions(+), 2 deletions(-)"],[21,0,38," delete mode 100644 detached-commit.txt"],[22,0,59," delete mode 100644 new-commit.txt "],[23,0,50," delete mode 100644 welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",18,14],["cp",19,15],["cp",20,16],["cp",0,18],["cp",0,19],["cp",0,20]],"t":1305114022.8968},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114024.21764},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114024.2814},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114024.42546},{"y":25,"x":15,"t":1305114024.48146},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305114025.39343},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305114025.45768},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305114025.68944},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305114025.87343},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305114025.96142},{"y":25,"d":[[24,19,"l"]],"x":21,"t":1305114026.0572},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305114026.09754},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305114026.21752},{"y":25,"x":24,"t":1305114027.08926},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305114027.34582},{"y":25,"d":[[24,24,"s"]],"x":26,"t":1305114027.4413},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16]],"t":1305114027.59328},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114027.59924},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114028.39342},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114028.4736},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114028.60143},{"y":25,"x":15,"t":1305114028.66555},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305114029.05755},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305114029.19328},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305114030.09741},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114030.24109},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305114030.40932},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305114030.56132},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305114030.76922},{"y":25,"x":23,"t":1305114031.28916},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305114031.86619},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305114032.07326},{"y":25,"x":26,"t":1305114032.18513},{"y":25,"d":[[24,25,"H"]],"x":27,"t":1305114032.68919},{"y":25,"d":[[24,26,"E"]],"x":28,"t":1305114032.77714},{"y":25,"d":[[24,27,"A"]],"x":29,"t":1305114032.92926},{"y":25,"d":[[24,28,"D"]],"x":30,"t":1305114033.00117},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15]],"t":1305114033.26485},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114033.27228},{"y":25,"d":[["cp",23,24]],"x":30,"t":1305114033.94505},{"y":25,"d":[[24,29,"^"]],"x":31,"t":1305114034.74518},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,14]],"t":1305114034.97702},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,51,"100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"],[20,59,"0"],[20,64,79,"detached-commit."],[21,0,24,"txt "],[22,0,51,"100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"],[22,59,"0"],[22,64,77,"new-commit.txt"],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,58,59,"25"],[23,64,74,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",11,7],["cp",12,8],["cp",13,9],["cp",0,11],["cp",0,12],["cp",0,13]],"t":1305114034.98609},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114041.04069},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114041.11278},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114041.19293},{"y":25,"x":15,"t":1305114041.28093},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305114041.46463},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305114041.59261},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305114041.66485},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305114041.86528},{"y":25,"d":[[24,18,"f"]],"x":20,"t":1305114041.99257},{"y":25,"d":[[24,19,"l"]],"x":21,"t":1305114042.15274},{"y":25,"d":[[24,19," "]],"x":20,"t":1305114042.8247},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305114043.0248},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305114043.16884},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305114043.29653},{"y":25,"x":24,"t":1305114043.41688},{"y":25,"d":[[24,23,"-"]],"x":25,"t":1305114043.72881},{"y":25,"d":[[24,24,"p"]],"x":26,"t":1305114044.04855},{"y":25,"x":27,"t":1305114044.23249},{"y":25,"d":[[24,26,"H"]],"x":28,"t":1305114044.63275},{"y":25,"d":[[24,27,"E"]],"x":29,"t":1305114044.71257},{"y":25,"d":[[24,28,"A"]],"x":30,"t":1305114044.84866},{"y":25,"d":[[24,29,"D"]],"x":31,"t":1305114044.95277},{"y":25,"d":[[24,30,"^"]],"x":32,"t":1305114045.79291},{"y":25,"d":[[24,31,":"]],"x":33,"t":1305114046.28059},{"y":25,"d":[[24,32,"w"]],"x":34,"t":1305114047.36842},{"y":25,"d":[[24,33,"e"]],"x":35,"t":1305114047.50444},{"y":25,"d":[[24,34,"l"]],"x":36,"t":1305114047.64082},{"y":25,"d":[[24,35,"c"]],"x":37,"t":1305114047.76042},{"y":25,"d":[[24,36,"o"]],"x":38,"t":1305114047.84834},{"y":25,"d":[[24,37,"m"]],"x":39,"t":1305114048.00039},{"y":25,"d":[[24,38,"e"]],"x":40,"t":1305114048.10452},{"y":25,"d":[[24,39,"."]],"x":41,"t":1305114048.23252},{"y":25,"d":[[24,40,"t"]],"x":42,"t":1305114048.32839},{"y":25,"d":[[24,41,"x"]],"x":43,"t":1305114048.48839},{"y":25,"d":[[24,42,"t"]],"x":44,"t":1305114048.58446},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9]],"t":1305114048.68041},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",3,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51,"Hello. "],[22,58,59,["a"," "]],[22,64,74,["a"," "]],[23,0,42,"Nice to meet you. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,4],["cp",7,5],["cp",8,6],["cp",0,7],["cp",0,8]],"t":1305114048.68792},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,16,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6]],"t":1305114052.72888}]} \ No newline at end of file diff --git a/html/part2/ch10-03-rm2.html b/html/part2/ch10-03-rm2.html deleted file mode 100644 index 113a26b17..000000000 --- a/html/part2/ch10-03-rm2.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-03-rm2 -json_file: ch10-03-rm2.json ---- diff --git a/html/part2/ch10-03-rm2.json b/html/part2/ch10-03-rm2.json deleted file mode 100644 index af356a1a7..000000000 --- a/html/part2/ch10-03-rm2.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114128.59503,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305114129.0128},{"y":2,"x":1,"t":1305114129.26057},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305114129.26083},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305114131.16478},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305114131.26055},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305114131.39648},{"y":2,"x":15,"t":1305114131.45255},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305114132.94839},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305114133.13274},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305114133.21256},{"y":2,"x":19,"t":1305114133.76451},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305114133.93271},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305114134.1083},{"y":2,"d":[[1,20,"o"]],"x":22,"t":1305114134.28434},{"y":2,"d":[[1,21,"n"]],"x":23,"t":1305114134.4126},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305114134.49219},{"y":2,"d":[[1,23,"l"]],"x":25,"t":1305114134.60434},{"y":2,"d":[[1,24,"i"]],"x":26,"t":1305114134.78039},{"y":2,"d":[[1,25,"n"]],"x":27,"t":1305114134.9006},{"y":2,"d":[[1,26,"e"]],"x":28,"t":1305114134.94044},{"y":2,"x":29,"t":1305114135.02831},{"y":2,"d":[[1,28,"-"]],"x":30,"t":1305114135.1404},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305114135.30034},{"y":2,"d":[[1,30,"g"]],"x":32,"t":1305114135.34047},{"y":2,"d":[[1,31,"r"]],"x":33,"t":1305114135.50019},{"y":2,"d":[[1,32,"a"]],"x":34,"t":1305114135.64443},{"y":2,"d":[[1,33,"p"]],"x":35,"t":1305114135.79612},{"y":2,"d":[[1,34,"h"]],"x":36,"t":1305114135.93223},{"y":3,"x":1,"t":1305114136.50126},{"y":12,"d":[[2,0,43,"* 0518edb delete trash files. (using git rm)"],[3,0,33,"* 1086811 Merge commit '6630c7c'"],[4,0,1,"|\\"],[5,0,40,"| * 6630c7c commit in detached HEAD mode."],[6,0,46,"* | 6af1352 does master follow this new commit?"],[7,0,1,"|/"],[8,0,34,"* 0e3a4c9 which version checked in?"],[9,0,25,"* 61b1516 who does commit?"],[10,0,20,"* 3869015 intialized."],[11,0,8,"bash-3.2$"]],"x":11,"f":[[2,2,8,["a","3"]],[3,4,10,["a","3"]],[4,0,1,"23"],[5,0,10,"27773333333"],[6,2,10,"373333333"],[7,0,1,["a","3"]],["cp",2,8],["cp",2,9],["cp",2,10]],"t":1305114136.51381},{"y":12,"d":[[11,10,"g"]],"x":12,"t":1305114138.1082},{"y":12,"d":[[11,11,"i"]],"x":13,"t":1305114138.20422},{"y":12,"d":[[11,12,"t"]],"x":14,"t":1305114138.30841},{"y":12,"x":15,"t":1305114138.36426},{"y":12,"d":[[11,14,"r"]],"x":16,"t":1305114138.56448},{"y":12,"d":[[11,15,"e"]],"x":17,"t":1305114138.70036},{"y":12,"d":[[11,16,"s"]],"x":18,"t":1305114138.86826},{"y":12,"d":[[11,17,"e"]],"x":19,"t":1305114138.91651},{"y":12,"d":[[11,18,"t"]],"x":20,"t":1305114139.21245},{"y":12,"x":21,"t":1305114139.46803},{"y":12,"d":[[11,20,"-"]],"x":22,"t":1305114139.70795},{"y":12,"d":[[11,21,"-"]],"x":23,"t":1305114139.89202},{"y":12,"d":[[11,22,"h"]],"x":24,"t":1305114140.14843},{"y":12,"d":[[11,23,"a"]],"x":25,"t":1305114140.21344},{"y":12,"d":[[11,24,"r"]],"x":26,"t":1305114140.33233},{"y":12,"d":[[11,25,"d"]],"x":27,"t":1305114140.50007},{"y":12,"x":28,"t":1305114140.64417},{"y":12,"d":[[11,27,"H"]],"x":29,"t":1305114140.88411},{"y":12,"d":[[11,28,"E"]],"x":30,"t":1305114140.95608},{"y":12,"d":[[11,29,"A"]],"x":31,"t":1305114141.11604},{"y":12,"d":[[11,30,"D"]],"x":32,"t":1305114141.196},{"y":12,"d":[[11,31,"^"]],"x":33,"t":1305114141.92409},{"y":13,"x":1,"t":1305114142.14823},{"y":14,"d":[[12,0,44,"HEAD is now at 1086811 Merge commit '6630c7c'"],[13,0,8,"bash-3.2$"]],"x":11,"t":1305114142.16126},{"y":14,"d":[["cp",11,13]],"x":11,"t":1305114143.65207},{"y":14,"d":[["cp",1,13]],"x":11,"t":1305114143.80433},{"y":15,"x":1,"t":1305114144.25202},{"y":23,"d":[["cp",3,14],["cp",4,15],["cp",5,16],["cp",6,17],["cp",7,18],["cp",8,19],["cp",9,20],["cp",10,21],[22,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,14],[15,0,1,"12"],[16,0,10,"17773333333"],[17,2,10,"273333333"],[18,0,1,["a","2"]],["cp",2,19],["cp",2,20],["cp",2,21]],"t":1305114144.2656},{"y":23,"d":[[22,10,"g"]],"x":12,"t":1305114145.49183},{"y":23,"d":[[22,11,"i"]],"x":13,"t":1305114145.59588},{"y":23,"d":[[22,12,"t"]],"x":14,"t":1305114145.69187},{"y":23,"x":15,"t":1305114145.75571},{"y":23,"d":[[22,14,"s"]],"x":16,"t":1305114145.89181},{"y":23,"d":[[22,15,"t"]],"x":17,"t":1305114146.02799},{"y":23,"d":[[22,16,"a"]],"x":18,"t":1305114146.19571},{"y":23,"d":[[22,17,"s"]],"x":19,"t":1305114146.32396},{"y":23,"d":[[22,18,"h"]],"x":20,"t":1305114146.42792},{"y":23,"x":21,"t":1305114146.65189},{"y":23,"d":[[22,20,"a"]],"x":22,"t":1305114147.18789},{"y":23,"d":[[22,21,"p"]],"x":23,"t":1305114147.31594},{"y":23,"d":[[22,22,"p"]],"x":24,"t":1305114147.46003},{"y":23,"d":[[22,23,"l"]],"x":25,"t":1305114147.6199},{"y":23,"d":[[22,24,"y"]],"x":26,"t":1305114147.83564},{"y":23,"x":27,"t":1305114149.19563},{"y":24,"x":1,"t":1305114149.34767},{"y":25,"d":[[23,0,17,"# On branch master"]],"x":1,"t":1305114149.75185},{"y":25,"d":[["cp",11,0],["cp",12,1],["cp",13,2],["cp",22,11],["cp",23,12],[13,0,34,"# Changes to be committed: "],[14,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[15,0,1,"# "],[16,0,40,"# new file: hack-1.txt "],["cp",15,17],[18,0,31,"# Changes not staged for commit:"],[19,0,61,"# (use \"git add ...\" to update what will be committed)"],[20,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],["cp",15,21],[22,0,30,"# modified: welcome.txt"],["cp",15,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,2],["cp",15,4],["cp",16,5],["cp",17,6],["cp",18,7],["cp",0,14],["cp",0,15],[16,0,29,"777777772222222222222222222222"],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],[22,8,30,["a","1"]]],"t":1305114149.75652},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114150.38},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114150.48357},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114150.58769},{"y":25,"x":15,"t":1305114150.6437},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114150.76368},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114150.88372},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114151.03568},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114151.1397},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114151.27587},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114151.33959},{"y":25,"x":22,"t":1305114151.5077},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114151.58741},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305114151.69958},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",14,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",14,20],["cp",22,21],["cp",14,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,10],["cp",16,15],["cp",0,16],["cp",22,21],["cp",0,22]],"t":1305114151.81946},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",17,15],["cp",18,16],["cp",19,17],["cp",12,18],["cp",21,19],["cp",23,21],[22,0,12,"A hack-1.txt"],[23,0,22," M welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",5,6],["cp",10,8],["cp",8,9],["cp",15,13],["cp",8,15],["cp",21,19],["cp",8,21],[22,0,"2"],[23,1,"1"]],"t":1305114151.83128},{"y":25,"d":[[24,10,"r"]],"x":12,"t":1305114154.74779},{"y":25,"d":[[24,11,"m"]],"x":13,"t":1305114154.87538},{"y":25,"x":14,"t":1305114154.92346},{"y":25,"d":[[24,13,"*"]],"x":15,"t":1305114155.17953},{"y":25,"d":[[24,14,"."]],"x":16,"t":1305114155.53941},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114155.67552},{"y":25,"d":[[24,16,"x"]],"x":18,"t":1305114155.82748},{"d":[["r","* 1086811 Merge commit '6630c7c' "],["r","|\\ "],["r","| * 6630c7c commit in detached HEAD mode. "],["r","* | 6af1352 does master follow this new commit? "],["r","|/ "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ git stash apply "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# new file: hack-1.txt "],["r","# "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: welcome.txt "],["r","# "],["r","bash-3.2$ git status -s "],["r","A hack-1.txt "],["r"," M welcome.txt "],["r","bash-3.2$ rm *.txt "]],"x":19,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","77773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","12777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","17773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","77273333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","22777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d",["r","77777777222222222222222222222277777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","77777777111111111111111111111117777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114155.93944,"i":1},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",11,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",8,7],["cp",13,12],["cp",7,13],["cp",19,18],["cp",7,19],["cp",22,21],["cp",23,22],["cp",7,23]],"t":1305114156.97132},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114156.97505},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114157.37129},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114157.44352},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114157.55543},{"y":25,"x":15,"t":1305114157.60322},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114157.73922},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114157.85123},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114158.0035},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114158.09125},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114158.24318},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114158.33127},{"y":25,"x":22,"t":1305114158.5474},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114158.64334},{"y":25,"d":[["cp",20,24]],"x":24,"t":1305114158.74718},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",10,16],["cp",18,17],["cp",10,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",7,6],["cp",12,11],["cp",6,12],["cp",18,17],["cp",6,18],["cp",21,20],["cp",22,21],["cp",6,22]],"t":1305114158.88325},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",6,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",17,13],["cp",6,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],[20,0,21," D detached-commit.txt"],[21,0,13,"AD hack-1.txt "],[22,0,17," D new-commit.txt "],[23,0,22," D welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",0,1],["cp",6,2],["cp",2,3],["cp",2,4],["cp",2,5],["cp",11,7],["cp",2,11],["cp",17,13],["cp",20,16],["cp",21,17],["cp",17,20],[21,0,"2"],["cp",17,22],["cp",17,23]],"t":1305114158.89186},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114160.63542},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114160.71549},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114160.82711},{"y":25,"x":15,"t":1305114160.89111},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305114161.01926},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305114161.19501},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305114161.34714},{"y":25,"x":19,"t":1305114161.43503},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305114161.52305},{"y":25,"d":[[24,19,"u"]],"x":21,"t":1305114161.77926},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",5,11],["cp",13,12],["cp",5,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",14,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",7,6],["cp",1,7],["cp",13,12],["cp",1,13],["cp",16,15],["cp",17,16],["cp",1,17],["cp",16,19],["cp",21,20],["cp",16,21],["cp",1,23]],"t":1305114162.64298},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114162.64959},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114163.23498},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114163.31496},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114163.42689},{"y":25,"x":15,"t":1305114163.48291},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114163.6191},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114163.75515},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114163.92317},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114164.01116},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114164.12287},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114164.19508},{"y":25,"x":22,"t":1305114164.35491},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114164.45898},{"y":25,"d":[["cp",14,24]],"x":24,"t":1305114164.56297},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",13,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",13,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",6,5],["cp",0,6],["cp",12,11],["cp",0,12],["cp",15,14],["cp",16,15],["cp",0,16],["cp",15,18],["cp",20,19],["cp",15,20],["cp",0,22]],"t":1305114164.71507},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",1,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",1,7],["cp",11,8],["cp",1,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",16,13],["cp",10,14],["cp",18,15],["cp",19,16],["cp",20,17],["cp",21,18],["cp",22,19],["cp",10,20],[21,0,21,"D detached-commit.txt"],[22,0,19,"D new-commit.txt "],[23,0,22,"D welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,2],["cp",0,5],["cp",11,8],["cp",14,11],["cp",15,12],["cp",0,14],["cp",19,16],["cp",12,17],["cp",0,19],["cp",0,20],["cp",11,21],["cp",11,22],["cp",11,23]],"t":1305114164.72344},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114167.35501},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114167.43484},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114167.55496},{"y":25,"x":15,"t":1305114167.61104},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114168.21873},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114168.37069},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114168.53092},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114168.61893},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114168.73078},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114168.7867},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",9,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",8,7],["cp",0,8],["cp",11,10],["cp",12,11],["cp",0,12],["cp",11,14],["cp",16,15],["cp",11,16],["cp",0,18],["cp",10,20],["cp",0,23]],"t":1305114168.93884},{"y":25,"d":[["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",1,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",1,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,17,"# On branch master"],[17,0,25,"# Changes to be committed:"],[18,0,9,"# (use \""],[18,14,46,"reset HEAD ...\" to unstage)"],["cp",0,19],[20,0,38,"# deleted: detached-commit.txt"],[21,0,33,"# deleted: new-commit.txt"],[22,0,15,"# deleted:"],[22,20,30,"welcome.txt"],["cp",0,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",10,2],["cp",11,3],["cp",3,6],["cp",15,7],["cp",3,8],["cp",3,9],["cp",0,10],["cp",0,11],["cp",2,12],["cp",2,13],["cp",2,14],["cp",0,15],["cp",0,16],["cp",0,17],[20,0,"7"],[20,8,38,["a","2"]],[21,0,"7"],[21,8,33,["a","2"]],[22,0,"7"],[22,8,30,["a","2"]]],"t":1305114168.94782},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114169.49086},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114169.56278},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114169.6668},{"y":25,"x":15,"t":1305114169.73072},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305114169.87478},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305114169.96278},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305114170.13079},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305114170.29872},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305114170.45884},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305114170.57083},{"y":25,"x":22,"t":1305114170.67481},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114171.29067},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305114171.6189},{"y":25,"x":25,"t":1305114171.77861},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305114172.0828},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305114172.25072},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305114172.41044},{"y":25,"d":[[24,27,"l"]],"x":29,"t":1305114172.57052},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305114172.71472},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305114172.90685},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305114173.07472},{"y":25,"x":33,"t":1305114173.18669},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305114173.42679},{"y":25,"d":[[24,33,"r"]],"x":35,"t":1305114173.435},{"y":25,"d":[[24,34,"a"]],"x":36,"t":1305114174.54653},{"y":25,"d":[[24,35,"c"]],"x":37,"t":1305114174.77049},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305114174.87454},{"y":25,"d":[[24,36," "]],"x":37,"t":1305114175.21863},{"y":25,"d":[[24,35," "]],"x":36,"t":1305114175.44248},{"y":25,"d":[[24,35,"s"]],"x":37,"t":1305114175.58644},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305114175.68247},{"y":25,"x":39,"t":1305114175.81033},{"y":25,"d":[[24,38,"f"]],"x":40,"t":1305114176.00254},{"y":25,"d":[[24,39,"i"]],"x":41,"t":1305114176.09853},{"y":25,"d":[[24,40,"l"]],"x":42,"t":1305114176.18652},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305114176.22679},{"y":25,"d":[[24,42,"s"]],"x":44,"t":1305114176.3783},{"y":25,"x":45,"t":1305114177.22637},{"y":25,"d":[[24,44,"("]],"x":46,"t":1305114177.9385},{"y":25,"d":[[24,45,"s"]],"x":47,"t":1305114178.13835},{"y":25,"d":[[24,46,"i"]],"x":48,"t":1305114178.19435},{"y":25,"d":[[24,46," "]],"x":47,"t":1305114178.60238},{"y":25,"d":[[24,45," "]],"x":46,"t":1305114178.75422},{"d":[["r","# "],["r","bash-3.2$ git status -s "],["r","A hack-1.txt "],["r"," M welcome.txt "],["r","bash-3.2$ rm *.txt "],["r","bash-3.2$ git status -s "],["r"," D detached-commit.txt "],["r","AD hack-1.txt "],["r"," D new-commit.txt "],["r"," D welcome.txt "],["r","bash-3.2$ git add -u "],["r","bash-3.2$ git status -s "],["r","D detached-commit.txt "],["r","D new-commit.txt "],["r","D welcome.txt "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# deleted: detached-commit.txt "],["r","# deleted: new-commit.txt "],["r","# deleted: welcome.txt "],["r","# "],["r","bash-3.2$ git commit -m \"delete trash files (u "]],"x":47,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","21777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d",["r","77777777222222222222222222222222222222277777777777777777777777777777777777777777"],["r","77777777222222222222222222222222227777777777777777777777777777777777777777777777"],["r","77777777222222222222222222222227777777777777777777777777777777777777777777777777"],["a","7"],"d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114178.97832,"i":1},{"y":25,"d":[[24,46,"s"]],"x":48,"t":1305114179.13855},{"y":25,"d":[[24,47,"i"]],"x":49,"t":1305114179.57026},{"y":25,"d":[[24,48,"n"]],"x":50,"t":1305114179.73017},{"y":25,"d":[[24,49,"g"]],"x":51,"t":1305114179.81023},{"y":25,"x":52,"t":1305114179.91429},{"y":25,"d":[[24,51,"g"]],"x":53,"t":1305114180.62015},{"y":25,"d":[[24,52,"i"]],"x":54,"t":1305114180.68215},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305114180.79407},{"y":25,"x":56,"t":1305114180.85816},{"y":25,"d":[[24,55,"a"]],"x":57,"t":1305114181.04226},{"y":25,"d":[[24,56,"d"]],"x":58,"t":1305114181.20228},{"y":25,"d":[[24,57,"d"]],"x":59,"t":1305114181.37007},{"y":25,"x":60,"t":1305114181.43434},{"y":25,"d":[[24,59,"-"]],"x":61,"t":1305114181.57009},{"y":25,"d":[[24,60,"u"]],"x":62,"t":1305114181.79419},{"y":25,"d":[[24,61,")"]],"x":63,"t":1305114182.73037},{"y":25,"d":[[24,62,"\""]],"x":64,"t":1305114183.2264},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",0,3],["cp",2,5],["cp",7,6],["cp",2,7],["cp",0,9],["cp",1,11],["cp",0,14],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305114183.44206},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",17,21],["cp",23,22],[23,0,62,"[master 8ad2496] delete trash files (using git add -u) "]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,4],["cp",6,5],["cp",1,6],["cp",2,8],["cp",0,10],["cp",2,13],["cp",19,18],["cp",20,19],["cp",21,20],["cp",2,21]],"t":1305114183.73447},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",22,18],["cp",23,19],[20,0,48," 1 files changed, 0 insertions(+), 2 deletions(-)"],[21,0,38," delete mode 100644 detached-commit.txt"],[22,0,62," delete mode 100644 new-commit.txt "],[23,0,53," delete mode 100644 welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",5,1],["cp",0,2],["cp",0,3],["cp",8,4],["cp",4,5],["cp",10,6],["cp",6,7],["cp",6,8],["cp",4,10],["cp",4,11],["cp",4,12],["cp",18,14],["cp",19,15],["cp",20,16],["cp",4,18],["cp",4,19],["cp",4,20]],"t":1305114183.7358},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114187.92995},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114188.00189},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114188.10609},{"y":25,"x":15,"t":1305114188.23394},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114188.91405},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114189.05782},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114189.20198},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114189.46573},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114189.61806},{"y":25,"d":[["cp",9,24]],"x":21,"t":1305114189.70615},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",8,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",6,5],["cp",3,8],["cp",14,13],["cp",15,14],["cp",16,15],["cp",3,16]],"t":1305114190.01},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",10,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",6,21],["cp",7,22],[23,0,42,"nothing to commit (working directory clean)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",3,1],["cp",1,2],["cp",5,3],["cp",3,4],["cp",1,6],["cp",1,7],["cp",13,11],["cp",14,12],["cp",15,13],["cp",1,14],["cp",1,15]],"t":1305114190.01801},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305114190.65768},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305114190.77913},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",5,20],["cp",6,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",0,5],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13]],"t":1305114190.88208},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114190.88916},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114191.42588},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114191.5137},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114191.6098},{"y":25,"x":15,"t":1305114191.64972},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305114192.12952},{"y":25,"d":[[24,15,"s"]],"x":17,"t":1305114192.20983},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305114192.68972},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114192.86561},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305114193.04968},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305114193.20956},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305114193.38569},{"y":25,"x":23,"t":1305114193.64951},{"y":25,"d":[[24,22,"H"]],"x":24,"t":1305114193.95373},{"y":25,"d":[[24,23,"E"]],"x":25,"t":1305114194.03363},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305114194.21775},{"y":25,"d":[[24,25,"D"]],"x":27,"t":1305114194.32159},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",4,19],["cp",5,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,4],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12]],"t":1305114194.60158},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114194.60798},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305114195.38569},{"y":25,"x":15,"t":1305114196.1297},{"y":25,"x":26,"t":1305114196.67362},{"y":25,"x":27,"t":1305114197.0976},{"y":25,"d":[[24,26,"^"]],"x":28,"t":1305114197.87345},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",3,18],["cp",4,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",9,8],["cp",10,9],["cp",11,10],["cp",3,11]],"t":1305114198.13733},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",4,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",16,13],["cp",17,14],["cp",0,15],["cp",1,16],["cp",20,17],["cp",21,18],["cp",22,19],["cp",23,20],[21,0,51,"100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"],[21,56,74,"detached-commit.txt"],[22,0,51,"100644 blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"],[22,56,69,"new-commit.txt"],[23,0,51,"100644 blob fd3c069c1de4f4bc9b15940f490aeb48852f3c42"],[23,56,66,"welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",0,1],["cp",0,2],["cp",8,5],["cp",9,6],["cp",10,7],["cp",0,8],["cp",0,9],["cp",0,10]],"t":1305114198.14605},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,51,"bash-3.2$ exit "],[23,56,66,["a"," "]],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7]],"t":1305114199.74539}]} \ No newline at end of file diff --git a/html/part2/ch10-04-undelete.html b/html/part2/ch10-04-undelete.html deleted file mode 100644 index d5ec16908..000000000 --- a/html/part2/ch10-04-undelete.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-04-undelete -json_file: ch10-04-undelete.json ---- diff --git a/html/part2/ch10-04-undelete.json b/html/part2/ch10-04-undelete.json deleted file mode 100644 index 3cdbfa6ce..000000000 --- a/html/part2/ch10-04-undelete.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114368.07614,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305114368.53761},{"y":2,"x":1,"t":1305114369.40154},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305114369.40177},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305114370.08959},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305114370.20138},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305114370.2973},{"y":2,"x":15,"t":1305114370.45743},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305114371.11313},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305114371.31321},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305114371.41728},{"y":2,"x":19,"t":1305114371.52925},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305114371.68137},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305114371.90523},{"y":2,"d":[[1,20,"o"]],"x":22,"t":1305114372.0576},{"y":2,"d":[[1,21,"n"]],"x":23,"t":1305114372.23355},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305114372.37748},{"y":2,"d":[[1,23,"l"]],"x":25,"t":1305114372.44932},{"y":2,"d":[[1,24,"i"]],"x":26,"t":1305114372.58524},{"y":2,"d":[[1,25,"n"]],"x":27,"t":1305114372.72139},{"y":2,"d":[[1,26,"e"]],"x":28,"t":1305114372.80937},{"y":2,"x":29,"t":1305114372.92131},{"y":2,"d":[[1,28,"-"]],"x":30,"t":1305114373.10512},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305114373.56139},{"y":2,"d":[[1,30,"p"]],"x":32,"t":1305114373.81716},{"y":2,"d":[[1,31,"r"]],"x":33,"t":1305114374.21719},{"y":2,"d":[[1,32,"e"]],"x":34,"t":1305114374.37746},{"y":2,"d":[[1,33,"t"]],"x":35,"t":1305114374.53743},{"y":2,"d":[[1,34,"t"]],"x":36,"t":1305114374.71331},{"y":2,"d":[[1,35,"y"]],"x":37,"t":1305114374.8971},{"y":2,"d":[[1,35," "]],"x":36,"t":1305114375.83336},{"y":2,"d":[[1,34," "]],"x":35,"t":1305114376.00888},{"y":2,"d":[[1,33," "]],"x":34,"t":1305114376.16897},{"y":2,"d":[[1,32," "]],"x":33,"t":1305114376.32109},{"y":2,"d":[[1,31," "]],"x":32,"t":1305114376.48152},{"y":2,"d":[[1,30," "]],"x":31,"t":1305114376.64926},{"y":2,"d":[[1,30,"g"]],"x":32,"t":1305114376.80122},{"y":2,"d":[[1,31,"a"]],"x":33,"t":1305114377.40134},{"y":2,"d":[[1,31," "]],"x":32,"t":1305114377.78496},{"y":2,"d":[[1,31,"r"]],"x":33,"t":1305114377.84124},{"y":2,"d":[[1,32,"a"]],"x":34,"t":1305114377.99289},{"y":2,"d":[[1,33,"p"]],"x":35,"t":1305114378.14491},{"y":2,"d":[[1,34,"h"]],"x":36,"t":1305114378.27297},{"y":3,"x":1,"t":1305114378.74506},{"y":12,"d":[[2,0,46,"* 8ad2496 delete trash files (using git add -u)"],[3,0,33,"* 1086811 Merge commit '6630c7c'"],[4,0,1,"|\\"],[5,0,40,"| * 6630c7c commit in detached HEAD mode."],[6,0,46,"* | 6af1352 does master follow this new commit?"],[7,0,1,"|/"],[8,0,34,"* 0e3a4c9 which version checked in?"],[9,0,25,"* 61b1516 who does commit?"],[10,0,20,"* 3869015 intialized."],[11,0,8,"bash-3.2$"]],"x":11,"f":[[2,2,8,["a","3"]],[3,4,10,["a","3"]],[4,0,1,"23"],[5,0,10,"27773333333"],[6,2,10,"373333333"],[7,0,1,["a","3"]],["cp",2,8],["cp",2,9],["cp",2,10]],"t":1305114378.75803},{"y":12,"d":[[11,10,"l"]],"x":12,"t":1305114380.20896},{"y":12,"d":[[11,11,"s"]],"x":13,"t":1305114380.33703},{"y":13,"x":1,"t":1305114380.45699},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305114380.46208},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305114381.74504},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305114381.83291},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305114381.94515},{"y":13,"x":15,"t":1305114382.01685},{"y":13,"d":[[12,14,"c"]],"x":16,"t":1305114382.24934},{"y":13,"d":[[12,15,"a"]],"x":17,"t":1305114382.35279},{"y":13,"d":[[12,16,"t"]],"x":18,"t":1305114382.74482},{"y":13,"d":[[12,17,"-"]],"x":19,"t":1305114383.02495},{"y":13,"d":[[12,18,"f"]],"x":20,"t":1305114383.17698},{"y":13,"d":[[12,19,"i"]],"x":21,"t":1305114383.28074},{"y":13,"d":[[12,20,"l"]],"x":22,"t":1305114383.36894},{"y":13,"d":[[12,21,"e"]],"x":23,"t":1305114383.46596},{"y":13,"x":24,"t":1305114383.59269},{"y":13,"d":[[12,23,"-"]],"x":25,"t":1305114383.7769},{"y":13,"d":[[12,24,"p"]],"x":26,"t":1305114384.017},{"y":13,"x":27,"t":1305114384.20087},{"y":13,"d":[[12,26,"H"]],"x":28,"t":1305114385.48864},{"y":13,"d":[[12,27,"E"]],"x":29,"t":1305114385.54482},{"y":13,"d":[[12,28,"A"]],"x":30,"t":1305114385.68069},{"y":13,"d":[[12,29,"D"]],"x":31,"t":1305114385.78451},{"y":13,"d":[[12,30,"~"]],"x":32,"t":1305114386.25687},{"y":13,"d":[[12,31,"`"]],"x":33,"t":1305114386.56081},{"y":13,"d":[[12,31," "]],"x":32,"t":1305114387.00877},{"y":13,"d":[[12,31,"1"]],"x":33,"t":1305114387.08889},{"y":13,"d":[[12,32,":"]],"x":34,"t":1305114387.96873},{"y":13,"d":[[12,33,"w"]],"x":35,"t":1305114388.29808},{"y":13,"d":[[12,34,"e"]],"x":36,"t":1305114388.43261},{"y":13,"d":[[12,35,"l"]],"x":37,"t":1305114388.57662},{"y":13,"d":[[12,36,"c"]],"x":38,"t":1305114388.68871},{"y":13,"d":[[12,37,"o"]],"x":39,"t":1305114388.76864},{"y":13,"d":[[12,38,"m"]],"x":40,"t":1305114388.92089},{"y":13,"d":[[12,39,"e"]],"x":41,"t":1305114389.04884},{"y":13,"d":[[12,40,"."]],"x":42,"t":1305114389.36057},{"y":13,"d":[[12,41,"t"]],"x":43,"t":1305114389.44072},{"y":13,"d":[[12,42,"x"]],"x":44,"t":1305114389.60866},{"y":13,"d":[[12,43,"t"]],"x":45,"t":1305114390.20066},{"y":14,"x":1,"t":1305114390.31257},{"y":16,"d":[[13,0,5,"Hello."],[14,0,16,"Nice to meet you."],[15,0,8,"bash-3.2$"]],"x":11,"t":1305114390.32104},{"y":16,"d":[["cp",12,15]],"x":45,"t":1305114391.1047},{"y":16,"x":46,"t":1305114391.40076},{"y":16,"d":[[15,45,">"]],"x":47,"t":1305114391.69683},{"y":16,"x":48,"t":1305114391.8324},{"y":16,"d":[[15,47,"w"]],"x":49,"t":1305114392.01654},{"y":16,"d":[[15,48,"e"]],"x":50,"t":1305114392.1763},{"y":16,"d":[[15,49,"l"]],"x":51,"t":1305114392.32055},{"y":16,"d":[[15,50,"c"]],"x":52,"t":1305114392.44049},{"y":16,"d":[[15,51,"o"]],"x":53,"t":1305114392.53626},{"y":16,"d":[[15,52,"m"]],"x":54,"t":1305114392.68037},{"y":16,"d":[[15,53,"e"]],"x":55,"t":1305114392.81643},{"y":16,"d":[[15,54,"."]],"x":56,"t":1305114392.98435},{"y":16,"d":[[15,55,"t"]],"x":57,"t":1305114393.08045},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git log --oneline --graph "],["r","* 8ad2496 delete trash files (using git add -u) "],["r","* 1086811 Merge commit '6630c7c' "],["r","|\\ "],["r","| * 6630c7c commit in detached HEAD mode. "],["r","* | 6af1352 does master follow this new commit? "],["r","|/ "],["r","* 0e3a4c9 which version checked in? "],["r","* 61b1516 who does commit? "],["r","* 3869015 intialized. "],["r","bash-3.2$ ls "],["r","bash-3.2$ git cat-file -p HEAD~1:welcome.txt "],["r","Hello. "],["r","Nice to meet you. "],["r","bash-3.2$ git cat-file -p HEAD~1:welcome.txt > welcome.tx "],["a"," "],"d","d","d","d","d","d","d","d"],"x":58,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":16,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],["r","77773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","23777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27773333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","77373333333777777777777777777777777777777777777777777777777777777777777777777777"],["r","33777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","77333333377777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114393.21656,"i":1},{"y":16,"d":[[15,57,"t"]],"x":59,"t":1305114393.32829},{"y":17,"x":1,"t":1305114393.43254},{"y":17,"d":[[16,0,8,"bash-3.2$"]],"x":11,"t":1305114393.44082},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305114393.80027},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305114393.88022},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305114393.97759},{"y":17,"x":15,"t":1305114394.03246},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305114394.15241},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305114394.31255},{"y":17,"d":[[16,16,"a"]],"x":18,"t":1305114394.4802},{"y":17,"d":[[16,17,"t"]],"x":19,"t":1305114394.68838},{"y":17,"d":[[16,18,"u"]],"x":20,"t":1305114394.80817},{"y":17,"d":[[16,19,"s"]],"x":21,"t":1305114394.88095},{"y":17,"x":22,"t":1305114395.13622},{"y":17,"d":[[16,21,"-"]],"x":23,"t":1305114395.41661},{"y":17,"d":[[16,21," "]],"x":22,"t":1305114396.01617},{"y":17,"d":[[16,21,"-"]],"x":23,"t":1305114396.61608},{"y":17,"d":[[16,22,"s"]],"x":24,"t":1305114396.71213},{"y":18,"x":1,"t":1305114396.99228},{"y":19,"d":[[17,0,13,"?? welcome.txt"],[18,0,8,"bash-3.2$"]],"x":11,"f":[[17,0,1,["a","1"]]],"t":1305114396.99972},{"y":19,"d":[[18,10,"g"]],"x":12,"t":1305114397.75226},{"y":19,"d":[[18,11,"i"]],"x":13,"t":1305114397.84025},{"y":19,"d":[[18,12,"t"]],"x":14,"t":1305114397.93621},{"y":19,"x":15,"t":1305114398.01609},{"y":19,"d":[[18,14,"a"]],"x":16,"t":1305114398.16803},{"y":19,"d":[[18,15,"d"]],"x":17,"t":1305114398.34425},{"y":19,"d":[[18,16,"d"]],"x":18,"t":1305114398.49743},{"y":19,"x":19,"t":1305114398.53622},{"y":19,"d":[[18,18,"-"]],"x":20,"t":1305114398.65625},{"y":19,"d":[[18,19,"A"]],"x":21,"t":1305114398.95207},{"y":20,"x":1,"t":1305114399.12001},{"y":20,"d":[[19,0,8,"bash-3.2$"]],"x":11,"t":1305114399.14116},{"y":20,"d":[[19,10,"g"]],"x":12,"t":1305114399.69605},{"y":20,"d":[[19,11,"i"]],"x":13,"t":1305114399.7679},{"y":20,"x":12,"t":1305114400.28007},{"y":20,"d":[["cp",18,19]],"x":11,"t":1305114400.33622},{"y":20,"d":[["cp",16,19]],"x":11,"t":1305114400.93597},{"y":21,"x":1,"t":1305114401.2961},{"y":22,"d":[[20,0,13,"A welcome.txt"],[21,0,8,"bash-3.2$"]],"x":11,"f":[[20,0,"2"]],"t":1305114401.30502},{"y":22,"d":[[21,10,"g"]],"x":12,"t":1305114403.55187},{"y":22,"d":[[21,11,"i"]],"x":13,"t":1305114403.64778},{"y":22,"d":[[21,12,"t"]],"x":14,"t":1305114403.76777},{"y":22,"x":15,"t":1305114403.83188},{"y":22,"d":[[21,14,"c"]],"x":16,"t":1305114403.99181},{"y":22,"d":[[21,15,"o"]],"x":17,"t":1305114404.07184},{"y":22,"d":[[21,16,"m"]],"x":18,"t":1305114404.21606},{"y":22,"d":[[21,17,"m"]],"x":19,"t":1305114404.77636},{"y":22,"d":[[21,18,"i"]],"x":20,"t":1305114404.96955},{"y":22,"d":[[21,19,"t"]],"x":21,"t":1305114405.04779},{"y":22,"x":22,"t":1305114405.16782},{"y":22,"d":[[21,21,"-"]],"x":23,"t":1305114405.32906},{"y":22,"d":[[21,22,"m"]],"x":24,"t":1305114405.54383},{"y":22,"x":25,"t":1305114405.67199},{"y":22,"d":[[21,24,"\""]],"x":26,"t":1305114406.00786},{"y":22,"d":[[21,25,"r"]],"x":27,"t":1305114406.67169},{"y":22,"d":[[21,26,"e"]],"x":28,"t":1305114406.81557},{"y":22,"d":[[21,27,"s"]],"x":29,"t":1305114406.9677},{"y":22,"d":[[21,28,"t"]],"x":30,"t":1305114407.07978},{"y":22,"d":[[21,29,"o"]],"x":31,"t":1305114407.23959},{"y":22,"d":[[21,30,"r"]],"x":32,"t":1305114407.3518},{"y":22,"d":[[21,31,"e"]],"x":33,"t":1305114407.95179},{"y":22,"x":34,"t":1305114408.2318},{"y":22,"d":[[21,33,"f"]],"x":35,"t":1305114408.51958},{"y":22,"d":[[21,34,"i"]],"x":36,"t":1305114408.58388},{"y":22,"d":[[21,35,"l"]],"x":37,"t":1305114408.6875},{"y":22,"d":[[21,36,"e"]],"x":38,"t":1305114408.76766},{"y":22,"d":[[21,37,":"]],"x":39,"t":1305114409.12775},{"y":22,"x":40,"t":1305114409.27169},{"y":22,"d":[[21,39,"w"]],"x":41,"t":1305114409.43966},{"y":22,"d":[[21,40,"e"]],"x":42,"t":1305114409.57584},{"y":22,"d":[[21,41,"l"]],"x":43,"t":1305114409.71957},{"y":22,"d":[[21,42,"c"]],"x":44,"t":1305114409.86365},{"y":22,"d":[[21,43,"o"]],"x":45,"t":1305114409.92793},{"y":22,"d":[[21,44,"m"]],"x":46,"t":1305114410.07149},{"y":22,"d":[[21,45,"e"]],"x":47,"t":1305114410.17576},{"y":22,"d":[[21,46,"."]],"x":48,"t":1305114410.29565},{"y":22,"d":[[21,47,"t"]],"x":49,"t":1305114410.38335},{"y":22,"d":[[21,48,"x"]],"x":50,"t":1305114410.52764},{"y":22,"d":[[21,49,"t"]],"x":51,"t":1305114410.63143},{"y":22,"d":[[21,50,"\""]],"x":52,"t":1305114410.85598},{"y":23,"x":1,"t":1305114411.0638},{"y":24,"d":[[22,0,41,"[master cb5775e] restore file: welcome.txt"]],"x":1,"t":1305114411.35472},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",15,18],["cp",20,19],["cp",21,20],["cp",22,21],[22,0,48," 1 files changed, 2 insertions(+), 0 deletions(-)"],[23,1,30,"create mode 100644 welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",0,10],["cp",17,16],["cp",0,17],["cp",20,19],["cp",0,20]],"t":1305114411.35603},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114413.71129},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114413.79945},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114413.89544},{"y":25,"x":15,"t":1305114413.95948},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305114414.06435},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305114414.2313},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305114414.32736},{"y":25,"x":19,"t":1305114414.43937},{"y":25,"d":[[24,18,"w"]],"x":20,"t":1305114414.67947},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305114414.83143},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305114414.96837},{"y":25,"d":[[24,21,"c"]],"x":23,"t":1305114415.11122},{"y":25,"d":[[24,22,"o"]],"x":24,"t":1305114415.1993},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305114415.38334},{"y":25,"d":[[24,24,28,"e.txt"]],"x":30,"t":1305114415.5404},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",14,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",10,9],["cp",16,15],["cp",9,16],["cp",19,18],["cp",9,19]],"t":1305114416.09519},{"d":[["r"," create mode 100644 welcome.txt "],["r","bash-3.2$ git log welcome.txt "],["r","commit cb5775e1599111662b4a1b1539606960ef68fe30 "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 19:46:51 2011 +0800 "],["a"," "],["r"," restore file: welcome.txt "],["a"," "],["r","commit 8ad249649e58d6d7a48a74f00b98d19f2be6c847 "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 19:43:03 2011 +0800 "],["a"," "],["r"," delete trash files (using git add -u) "],["a"," "],["r","commit 0e3a4c98cf736cf3e98e2a64e6bd98dd935bdb6a "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 13:35:15 2011 +0800 "],["a"," "],["r"," which version checked in? "],["a"," "],["r","commit 38690158d57ea02061e42ab88101ed3517a4292f "],["r","Author: Jiang Xin "],["r","Date: Wed May 11 11:03:28 2011 +0800 "],["a"," "],["r",": "]],"x":2,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114416.10703,"i":1},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",2,14],["cp",16,15],["cp",4,16],["cp",18,17],["cp",4,18],["cp",20,19],["cp",2,20],["cp",22,21],["cp",4,22],[23,4,14,"intialized."],[24,0,4,"(END)"]],"x":7,"f":[["cp",2,1],["cp",0,2],["cp",1,7],["cp",0,8],["cp",1,13],["cp",0,14],["cp",1,19],["cp",0,20],[24,0,5,["a","0"]]],"t":1305114417.57541},{"y":25,"b":[["cp",0,24]],"d":[["cp",4,24]],"x":1,"f":[["cp",0,24]],"t":1305114418.31113},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114418.31273},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",1,13],["cp",15,14],["cp",3,15],["cp",17,16],["cp",3,17],["cp",19,18],["cp",1,19],["cp",21,20],["cp",3,21],["cp",23,22],[23,0,14,"bash-3.2$ exit "],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,6],["cp",1,7],["cp",0,12],["cp",1,13],["cp",0,18],["cp",1,19]],"t":1305114421.73539}]} \ No newline at end of file diff --git a/html/part2/ch10-05-mv.html b/html/part2/ch10-05-mv.html deleted file mode 100644 index 7a062f8a9..000000000 --- a/html/part2/ch10-05-mv.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-05-mv -json_file: ch10-05-mv.json ---- diff --git a/html/part2/ch10-05-mv.json b/html/part2/ch10-05-mv.json deleted file mode 100644 index 0711a0ab5..000000000 --- a/html/part2/ch10-05-mv.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114492.0062,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305114492.43587},{"y":2,"x":1,"t":1305114492.68364},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305114492.68389},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305114493.17179},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305114493.23559},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305114493.35559},{"y":2,"x":15,"t":1305114493.41174},{"y":2,"d":[[1,14,"s"]],"x":16,"t":1305114493.53152},{"y":2,"d":[[1,15,"t"]],"x":17,"t":1305114493.70751},{"y":2,"d":[[1,16,"a"]],"x":18,"t":1305114493.88377},{"y":2,"d":[[1,17,"t"]],"x":19,"t":1305114494.09945},{"y":2,"d":[[1,18,"u"]],"x":20,"t":1305114494.24382},{"y":2,"d":[[1,19,"s"]],"x":21,"t":1305114494.30788},{"y":2,"x":22,"t":1305114494.62754},{"y":2,"d":[[1,21,"-"]],"x":23,"t":1305114494.77148},{"y":2,"d":[[1,22,"s"]],"x":24,"t":1305114494.83565},{"y":3,"x":1,"t":1305114495.00366},{"y":3,"d":[[2,0,8,"bash-3.2$"]],"x":11,"t":1305114495.01344},{"y":3,"d":[[2,10,"l"]],"x":12,"t":1305114496.62756},{"y":3,"d":[[2,11,"s"]],"x":13,"t":1305114496.71562},{"y":4,"x":1,"t":1305114496.84368},{"y":5,"d":[[3,0,10,"welcome.txt"],[4,0,8,"bash-3.2$"]],"x":11,"t":1305114496.85034},{"y":5,"d":[[4,10,"g"]],"x":12,"t":1305114497.41144},{"y":5,"d":[[4,11,"i"]],"x":13,"t":1305114497.49128},{"y":5,"d":[[4,12,"t"]],"x":14,"t":1305114497.59558},{"y":5,"x":15,"t":1305114497.65162},{"y":5,"d":[[4,14,"m"]],"x":16,"t":1305114497.86762},{"y":5,"d":[[4,15,"v"]],"x":17,"t":1305114497.93947},{"y":5,"x":18,"t":1305114498.08348},{"y":5,"d":[[4,17,"w"]],"x":19,"t":1305114498.27558},{"y":5,"d":[[4,18,"e"]],"x":20,"t":1305114498.43554},{"y":5,"d":[[4,19,27,"lcome.txt"]],"x":29,"t":1305114498.64985},{"y":5,"x":30,"t":1305114499.6835},{"y":5,"d":[[4,29,"R"]],"x":31,"t":1305114500.56323},{"y":5,"d":[[4,30,"E"]],"x":32,"t":1305114500.96319},{"y":5,"d":[[4,31,"A"]],"x":33,"t":1305114501.14723},{"y":5,"d":[[4,32,"D"]],"x":34,"t":1305114501.31516},{"y":5,"d":[[4,33,"M"]],"x":35,"t":1305114501.5314},{"y":5,"d":[[4,34,"E"]],"x":36,"t":1305114501.61119},{"y":6,"x":1,"t":1305114502.0112},{"y":6,"d":[[5,0,8,"bash-3.2$"]],"x":11,"t":1305114502.01827},{"y":6,"d":[[5,10,"g"]],"x":12,"t":1305114502.85966},{"y":6,"d":[[5,11,"i"]],"x":13,"t":1305114502.94717},{"y":6,"d":[[5,12,"t"]],"x":14,"t":1305114503.04317},{"y":6,"x":15,"t":1305114503.09114},{"y":6,"d":[[5,14,"s"]],"x":16,"t":1305114503.27551},{"y":6,"d":[[5,15,"t"]],"x":17,"t":1305114503.37932},{"y":6,"d":[[5,16,"a"]],"x":18,"t":1305114503.5232},{"y":6,"d":[[5,17,"t"]],"x":19,"t":1305114503.65117},{"y":6,"d":[[5,18,"u"]],"x":20,"t":1305114503.79535},{"y":6,"d":[[5,19,"s"]],"x":21,"t":1305114503.85132},{"y":7,"x":1,"t":1305114504.00317},{"y":13,"d":[[6,0,17,"# On branch master"],[7,0,25,"# Changes to be committed:"],[8,0,46,"# (use \"git reset HEAD ...\" to unstage)"],[9,0,"#"],[10,0,"#"],[10,8,15,"renamed:"],[10,20,40,"welcome.txt -> README"],["cp",9,11],[12,0,8,"bash-3.2$"]],"x":11,"f":[[10,8,40,["a","2"]]],"t":1305114504.01442},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305114505.84327},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305114505.92299},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305114506.01923},{"y":13,"x":15,"t":1305114506.13108},{"y":13,"d":[[12,14,"c"]],"x":16,"t":1305114506.2441},{"y":13,"d":[[12,15,"o"]],"x":17,"t":1305114506.2989},{"y":13,"d":[[12,16,"m"]],"x":18,"t":1305114506.46708},{"y":13,"d":[[12,17,"m"]],"x":19,"t":1305114506.62693},{"y":13,"d":[[12,18,"i"]],"x":20,"t":1305114506.81914},{"y":13,"d":[[12,19,"t"]],"x":21,"t":1305114506.92347},{"y":13,"x":22,"t":1305114507.01903},{"y":13,"d":[[12,21,"-"]],"x":23,"t":1305114507.25913},{"y":13,"d":[[12,22,"m"]],"x":24,"t":1305114507.49232},{"y":13,"x":25,"t":1305114507.61917},{"y":13,"d":[[12,24,"\""]],"x":26,"t":1305114507.9233},{"y":13,"d":[[12,25,"r"]],"x":27,"t":1305114508.43486},{"y":13,"d":[[12,26,"e"]],"x":28,"t":1305114508.60295},{"y":13,"d":[[12,27,"n"]],"x":29,"t":1305114508.73885},{"y":13,"d":[[12,28,"a"]],"x":30,"t":1305114508.85114},{"y":13,"d":[[12,29,"m"]],"x":31,"t":1305114509.12279},{"y":13,"d":[[12,30,"e"]],"x":32,"t":1305114509.25876},{"y":13,"x":33,"t":1305114509.41887},{"y":13,"d":[[12,32,"t"]],"x":34,"t":1305114509.72434},{"y":13,"d":[[12,33,"e"]],"x":35,"t":1305114509.88296},{"y":13,"d":[[12,34,"s"]],"x":36,"t":1305114509.97094},{"y":13,"d":[[12,35,"t"]],"x":37,"t":1305114510.123},{"y":13,"d":[[12,36,"."]],"x":38,"t":1305114510.36286},{"y":13,"d":[[12,37,"\""]],"x":39,"t":1305114510.76301},{"y":14,"x":1,"t":1305114510.92268},{"y":15,"d":[[13,0,28,"[master ad8fdb1] rename test."]],"x":1,"t":1305114511.22687},{"y":17,"d":[[14,1,48,"1 files changed, 0 insertions(+), 0 deletions(-)"],[15,1,35,"rename welcome.txt => README (100%)"],[16,0,8,"bash-3.2$"]],"x":11,"t":1305114511.22832},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305114513.38705},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305114513.49067},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305114513.60279},{"y":17,"x":15,"t":1305114513.65083},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305114515.0905},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305114515.23453},{"y":17,"d":[[16,16,"a"]],"x":18,"t":1305114515.36272},{"y":17,"d":[[16,17,"t"]],"x":19,"t":1305114515.52264},{"y":17,"d":[[16,18,"u"]],"x":20,"t":1305114515.65876},{"y":17,"d":[["cp",5,16]],"x":21,"t":1305114515.75466},{"y":18,"x":1,"t":1305114515.97836},{"y":20,"d":[["cp",6,17],[18,0,42,"nothing to commit (working directory clean)"],[19,0,8,"bash-3.2$"]],"x":11,"t":1305114515.9875},{"y":20,"d":[[19,10,"l"]],"x":12,"t":1305114516.37052},{"y":20,"d":[["cp",2,19]],"x":13,"t":1305114516.43465},{"y":21,"x":1,"t":1305114516.59438},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls "],["r","welcome.txt "],["r","bash-3.2$ git mv welcome.txt README "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes to be committed: "],["r","# (use \"git reset HEAD ...\" to unstage) "],["r","# "],["r","# renamed: welcome.txt -> README "],["r","# "],["r","bash-3.2$ git commit -m \"rename test.\" "],["r","[master ad8fdb1] rename test. "],["r"," 1 files changed, 0 insertions(+), 0 deletions(-) "],["r"," rename welcome.txt => README (100%) "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ ls "],["r","README "],["r","bash-3.2$ "],["a"," "],"d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":22,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d",["r","77777777222222222222222222222222222222222777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114516.59948,"i":1},{"y":22,"d":[[21,10,"g"]],"x":12,"t":1305114518.65844},{"y":22,"d":[[21,11,"i"]],"x":13,"t":1305114518.75441},{"y":22,"d":[[21,12,"t"]],"x":14,"t":1305114518.83463},{"y":22,"x":15,"t":1305114518.89046},{"y":22,"d":[[21,14,"s"]],"x":16,"t":1305114519.60249},{"y":22,"d":[[21,15,"h"]],"x":17,"t":1305114519.69028},{"y":22,"d":[[21,16,"o"]],"x":18,"t":1305114519.78639},{"y":22,"d":[[21,17,"w"]],"x":19,"t":1305114519.84248},{"y":22,"x":20,"t":1305114519.97052},{"y":22,"d":[[21,19,"H"]],"x":21,"t":1305114520.21398},{"y":22,"d":[[21,20,"E"]],"x":22,"t":1305114520.30663},{"y":22,"d":[[21,21,"A"]],"x":23,"t":1305114520.49047},{"y":22,"d":[[21,22,"D"]],"x":24,"t":1305114520.54652},{"y":23,"x":1,"t":1305114520.86628},{"y":25,"d":[["cp",20,0],["cp",21,1],[2,0,46,"commit ad8fdb133f9006c197b37d9e434451bbd6ee0284"],[3,0,37,"Author: Jiang Xin "],[4,0,37,"Date: Wed May 11 19:48:30 2011 +0800"],["cp",22,5],[6,0,17," rename test. "],["cp",5,7],[8,0,46,"diff --git a/README b/README "],[9,0,19,"new file mode 100644"],[10,0,40,"index 0000000..fd3c069 "],[11,0,12,"--- /dev/null"],[12,0,37,"+++ b/README "],[13,0,28,"@@ -0,0 +1,2 @@ "],[14,0,48,"+Hello. "],[15,0,35,"+Nice to meet you. "],[16,0,37,"diff --git a/welcome.txt b/welcome.txt"],[17,0,23,"deleted file mode 100644"],[18,0,42,"index fd3c069..0000000 "],[19,0,16,"--- a/welcome.txt"],[20,0,12,"+++ /dev/null"],[21,0,22,"@@ -1,2 +0,0 @@ "],[22,0,6,"-Hello."],[23,0,17,"-Nice to meet you."],[24,0,":"]],"x":2,"f":[[2,0,46,["a","3"]],["cp",0,10],[13,0,14,["a","6"]],[14,0,6,["a","2"]],[15,0,17,["a","2"]],["cp",13,21],[22,0,6,["a","1"]],[23,0,17,["a","1"]]],"B":[[8,0,27,["a","1"]],[9,0,19,["a","1"]],[10,0,21,["a","1"]],[11,0,12,["a","1"]],[12,0,11,["a","1"]],[16,0,37,["a","1"]],[17,0,23,["a","1"]],["cp",10,18],[19,0,16,["a","1"]],["cp",11,20]],"t":1305114520.87898},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[[24,0,4,"(END)"]],"x":7,"f":[[24,0,5,["a","0"]]],"t":1305114522.98646},{"y":25,"b":[["cp",0,24]],"d":[["cp",5,24]],"x":1,"f":[["cp",0,24]],"t":1305114523.63415},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114523.63594},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114526.89835},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114526.9942},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114527.10603},{"y":25,"x":15,"t":1305114527.15405},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305114528.40212},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305114528.51396},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305114528.67414},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305114528.73001},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305114528.82609},{"y":25,"x":21,"t":1305114528.9139},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305114529.10576},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114529.28212},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305114529.48331},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305114529.54609},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305114529.64191},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305114529.79397},{"y":25,"x":28,"t":1305114529.97001},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305114530.242},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305114530.32192},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305114530.49799},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305114530.57001},{"y":25,"d":[[24,31,"^"]],"x":33,"t":1305114531.394},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15],["cp",12,20],["cp",22,21],["cp",23,22],["cp",0,23]],"B":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",16,15],["cp",17,16],["cp",9,17],["cp",19,18],["cp",10,19],["cp",0,20]],"t":1305114532.85781},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,47,"HEAD is now at cb5775e restore file: welcome.txt"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",11,19],["cp",21,20],["cp",22,21],["cp",1,22]],"B":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,11],["cp",15,14],["cp",16,15],["cp",8,16],["cp",18,17],["cp",9,18],["cp",0,19]],"t":1305114532.86771},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114534.69773},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114534.78574},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114534.88978},{"y":25,"x":15,"t":1305114534.94564},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114535.07393},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114535.18565},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114535.34561},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114535.49769},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114535.71482},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114535.79368},{"y":25,"x":22,"t":1305114535.95386},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114536.04976},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305114536.17765},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",1,0],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",10,18],["cp",20,19],["cp",21,20],["cp",0,21]],"B":[["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",14,13],["cp",15,14],["cp",7,15],["cp",17,16],["cp",8,17],["cp",0,18]],"t":1305114536.2977},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114536.3078},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305114536.67378},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305114536.76157},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",9,17],["cp",19,18],["cp",20,19],["cp",0,20]],"B":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",13,12],["cp",14,13],["cp",6,14],["cp",16,15],["cp",7,16],["cp",0,17]],"t":1305114536.8818},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,11,"welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,11],["cp",8,16],["cp",18,17],["cp",19,18],["cp",0,19]],"B":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",12,11],["cp",13,12],["cp",5,13],["cp",15,14],["cp",6,15],["cp",0,16]],"t":1305114536.88957},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305114544.47334},{"y":25,"d":[[24,11,"v"]],"x":13,"t":1305114544.48958},{"y":25,"x":14,"t":1305114544.64932},{"y":25,"d":[[24,13,"w"]],"x":15,"t":1305114544.88922},{"y":25,"d":[[24,14,"e"]],"x":16,"t":1305114545.0492},{"y":25,"d":[[24,15,23,"lcome.txt"]],"x":26,"t":1305114545.28166},{"y":25,"d":[[24,25,"R"]],"x":27,"t":1305114546.38519},{"y":25,"d":[[24,26,"E"]],"x":28,"t":1305114546.57707},{"y":25,"d":[[24,27,"A"]],"x":29,"t":1305114546.73716},{"y":25,"d":[[24,28,"D"]],"x":30,"t":1305114546.87334},{"y":25,"d":[[24,29,"M"]],"x":31,"t":1305114547.02533},{"y":25,"d":[[24,30,"E"]],"x":32,"t":1305114547.11309},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",7,15],["cp",17,16],["cp",18,17],["cp",0,18]],"B":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",11,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",5,14],["cp",0,15]],"t":1305114548.48997},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114548.49337},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114549.13707},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114549.20088},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114549.31306},{"y":25,"x":15,"t":1305114549.39304},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114549.56101},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114549.72126},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114549.84111},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114550.02496},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114550.16898},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114550.2172},{"y":25,"x":22,"t":1305114550.37699},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114550.47297},{"y":25,"d":[["cp",20,24]],"x":24,"t":1305114550.60104},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],["cp",0,24]],"x":1,"f":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",6,14],["cp",16,15],["cp",17,16],["cp",0,17]],"B":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",10,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",4,13],["cp",0,14]],"t":1305114550.72084},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",17,21],[22,0,30," D welcome.txt "],[23,0,22,"?? README "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,4],["cp",7,5],["cp",8,6],["cp",0,7],["cp",0,8],["cp",4,12],["cp",15,13],["cp",16,14],["cp",0,15],["cp",0,16],[22,1,"1"],[23,0,1,["a","1"]]],"B":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",4,5],["cp",9,7],["cp",10,8],["cp",1,9],["cp",12,10],["cp",2,11],["cp",4,12],["cp",4,13]],"t":1305114550.73078},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305114553.45679},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305114553.65684},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305114553.75289},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305114553.85694},{"y":25,"x":16,"t":1305114553.94517},{"y":25,"d":[[24,15,"B"]],"x":17,"t":1305114554.35305},{"y":25,"d":[[24,16,"y"]],"x":18,"t":1305114554.53685},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305114554.63291},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305114555.97677},{"d":[["r","new file mode 100644 "],["r","index 0000000..fd3c069 "],["r","--- /dev/null "],["r","+++ b/README "],["r","@@ -0,0 +1,2 @@ "],["r","+Hello. "],["r","+Nice to meet you. "],["r","diff --git a/welcome.txt b/welcome.txt "],["r","deleted file mode 100644 "],["r","index fd3c069..0000000 "],["r","--- a/welcome.txt "],["r","+++ /dev/null "],["r","@@ -1,2 +0,0 @@ "],["r","-Hello. "],["r","-Nice to meet you. "],["r","bash-3.2$ git reset --hard HEAD^ "],["r","HEAD is now at cb5775e restore file: welcome.txt "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ ls "],["r","welcome.txt "],["r","bash-3.2$ mv welcome.txt README "],["r","bash-3.2$ git status -s "],["r"," D welcome.txt "],["r","?? README "],["r","bash-3.2$ echo Bye-B "]],"x":21,"B":[["r","11111111111111111111000000000000000000000000000000000000000000000000000000000000"],["r","11111111111111111111110000000000000000000000000000000000000000000000000000000000"],["r","11111111111110000000000000000000000000000000000000000000000000000000000000000000"],["r","11111111111100000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111100000000000000000000000000000000000000000000000000000000"],["r","11111111111111111111110000000000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],["r","11111111111110000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["r","22222227777777777777777777777777777777777777777777777777777777777777777777777777"],["r","22222222222222222277777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","66666666666666677777777777777777777777777777777777777777777777777777777777777777"],["r","11111117777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11111111111111111177777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","71777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114556.24891,"i":1},{"y":25,"d":[[24,20,"y"]],"x":22,"t":1305114556.441},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305114556.5686},{"y":25,"d":[[24,22,"."]],"x":24,"t":1305114556.94466},{"y":25,"x":25,"t":1305114557.16884},{"y":25,"d":[[24,24,">"]],"x":26,"t":1305114557.50496},{"y":25,"d":[[24,25,">"]],"x":27,"t":1305114557.69664},{"y":25,"x":28,"t":1305114557.92061},{"y":25,"d":[[24,27,"w"]],"x":29,"t":1305114558.44061},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305114558.59306},{"y":25,"x":30,"t":1305114558.82469},{"y":25,"d":[[24,28," "]],"x":29,"t":1305114559.46435},{"y":25,"d":[[24,27," "]],"x":28,"t":1305114559.61658},{"y":25,"d":[[24,27,"r"]],"x":29,"t":1305114559.86474},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305114560.02447},{"y":25,"d":[[24,27,32,"README"]],"x":35,"t":1305114560.22483},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",16,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",3,11],["cp",13,12],["cp",14,13],["cp",0,14],["cp",22,21],["cp",23,22],["cp",0,23]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",7,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",1,10],["cp",3,11]],"t":1305114560.96036},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114560.96075},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114562.99254},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114563.08832},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114563.19251},{"y":25,"x":15,"t":1305114563.32038},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305114563.52837},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305114563.70451},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305114563.8645},{"y":25,"x":19,"t":1305114563.92841},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305114564.02449},{"y":25,"d":[[24,19,"A"]],"x":21,"t":1305114564.32872},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",0,5],["cp",2,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",21,20],["cp",22,21],["cp",0,22]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",2,10]],"t":1305114564.49629},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305114564.63459},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114564.90417},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114565.0006},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114565.09623},{"y":25,"x":15,"t":1305114565.15228},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305114565.27234},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305114565.42431},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305114565.56042},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305114565.6885},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305114565.80023},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305114565.88011},{"y":25,"x":22,"t":1305114566.02429},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114566.09625},{"y":25,"d":[["cp",15,24]],"x":24,"t":1305114566.25625},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",14,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",14,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",1,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",20,19],["cp",21,20],["cp",0,21]],"B":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",1,9]],"t":1305114566.39227},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",13,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",13,22],[23,0,23,"R welcome.txt -> README"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,8],["cp",10,9],["cp",11,10],["cp",3,11],["cp",19,18],["cp",20,19],["cp",3,20],[23,0,"2"]],"B":[["cp",1,0],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8]],"t":1305114566.40204},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305114571.69598},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305114571.80019},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305114571.90431},{"y":25,"x":15,"t":1305114572.00017},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305114572.20816},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305114572.30409},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305114572.46398},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305114572.97594},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305114573.18392},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305114573.26404},{"y":25,"x":22,"t":1305114573.36787},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305114573.60792},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305114573.92774},{"y":25,"x":25,"t":1305114574.1278},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305114574.56798},{"y":25,"d":[[24,25,"R"]],"x":27,"t":1305114575.76117},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305114575.93587},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305114576.11172},{"y":25,"d":[[24,28,"d"]],"x":30,"t":1305114576.25569},{"y":25,"d":[[24,28," "]],"x":29,"t":1305114576.74362},{"y":25,"d":[[24,27," "]],"x":28,"t":1305114576.90358},{"y":25,"d":[[24,26," "]],"x":27,"t":1305114577.07963},{"y":25,"d":[[24,26,"E"]],"x":28,"t":1305114577.38387},{"y":25,"d":[[24,27,"A"]],"x":29,"t":1305114577.56781},{"y":25,"d":[[24,28,"D"]],"x":30,"t":1305114577.71164},{"y":25,"d":[[24,29,"M"]],"x":31,"t":1305114577.88794},{"y":25,"d":[[24,30,"E"]],"x":32,"t":1305114577.99166},{"y":25,"x":33,"t":1305114578.35981},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305114578.50379},{"y":25,"d":[[24,33,"s"]],"x":35,"t":1305114578.62361},{"y":25,"x":36,"t":1305114578.75177},{"y":25,"d":[[24,35,"f"]],"x":37,"t":1305114578.93561},{"y":25,"d":[[24,36,"r"]],"x":38,"t":1305114579.11155},{"y":25,"d":[[24,37,"o"]],"x":39,"t":1305114579.18376},{"y":25,"d":[[24,38,"m"]],"x":40,"t":1305114579.31162},{"y":25,"x":41,"t":1305114579.41582},{"y":25,"d":[[24,40,"w"]],"x":42,"t":1305114579.57562},{"y":25,"d":[[24,41,"l"]],"x":43,"t":1305114579.88775},{"y":25,"d":[[24,41," "]],"x":42,"t":1305114580.33553},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305114580.42368},{"y":25,"d":[[24,42,"l"]],"x":44,"t":1305114580.55949},{"y":25,"d":[[24,43,"c"]],"x":45,"t":1305114580.71937},{"y":25,"d":[[24,44,"o"]],"x":46,"t":1305114580.84758},{"y":25,"d":[[24,45,"m"]],"x":47,"t":1305114581.00747},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305114581.30359},{"y":25,"d":[[24,47,"."]],"x":49,"t":1305114581.45545},{"y":25,"d":[[24,48,"t"]],"x":50,"t":1305114581.5754},{"y":25,"d":[[24,49,"x"]],"x":51,"t":1305114581.72758},{"y":25,"d":[[24,50,"t"]],"x":52,"t":1305114581.83144},{"y":25,"d":[[24,51,"\""]],"x":53,"t":1305114582.2877},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",8,7],["cp",9,8],["cp",10,9],["cp",2,10],["cp",18,17],["cp",19,18],["cp",2,19],["cp",23,22],["cp",2,23]],"B":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7]],"t":1305114583.94348},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],[23,0,51,"[master 8be895d] README is from welcome.txt "]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",7,6],["cp",8,7],["cp",9,8],["cp",1,9],["cp",17,16],["cp",18,17],["cp",1,18],["cp",22,21],["cp",1,22]],"B":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6]],"t":1305114584.25338},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",9,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",9,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51," 1 files changed, 1 insertions(+), 0 deletions(-) "],[23,0,42," rename welcome.txt => README (73%) "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",6,4],["cp",7,5],["cp",8,6],["cp",0,7],["cp",0,8],["cp",16,14],["cp",17,15],["cp",0,16],["cp",0,17],["cp",21,19],["cp",0,21]],"B":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",4,5]],"t":1305114584.25463},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",8,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,34,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",14,13],["cp",15,14],["cp",0,15],["cp",19,18],["cp",0,19]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3]],"t":1305114587.19962}]} \ No newline at end of file diff --git a/html/part2/ch10-06-hello-world.html b/html/part2/ch10-06-hello-world.html deleted file mode 100644 index 9b44464b3..000000000 --- a/html/part2/ch10-06-hello-world.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-06-hello-world -json_file: ch10-06-hello-world.json ---- diff --git a/html/part2/ch10-06-hello-world.json b/html/part2/ch10-06-hello-world.json deleted file mode 100644 index e13333e5a..000000000 --- a/html/part2/ch10-06-hello-world.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114828.28894,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305114828.76382},{"y":2,"x":1,"t":1305114829.17981},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305114829.18004},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305114830.76377},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305114830.86015},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305114830.94014},{"y":2,"x":15,"t":1305114831.02782},{"y":2,"d":[[1,14,"d"]],"x":16,"t":1305114831.19581},{"y":2,"d":[[1,15,"e"]],"x":17,"t":1305114831.37339},{"y":2,"d":[[1,16,"s"]],"x":18,"t":1305114831.57228},{"y":2,"d":[[1,17,"c"]],"x":19,"t":1305114831.80418},{"y":2,"d":[[1,18,"r"]],"x":20,"t":1305114832.08394},{"y":2,"d":[[1,19,"i"]],"x":21,"t":1305114832.21191},{"y":2,"d":[[1,20,"b"]],"x":22,"t":1305114832.34803},{"y":2,"d":[[1,21,"e"]],"x":23,"t":1305114832.49976},{"y":3,"x":1,"t":1305114832.72379},{"y":4,"d":[[2,0,22,"old_practice-3-g8be895d"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305114832.73228},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305114834.21175},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305114834.29178},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305114834.39584},{"y":4,"x":15,"t":1305114834.46016},{"y":4,"d":[[3,14,"l"]],"x":16,"t":1305114834.56377},{"y":4,"d":[[3,15,"o"]],"x":17,"t":1305114834.73165},{"y":4,"d":[[3,16,"g"]],"x":18,"t":1305114834.8117},{"y":4,"x":19,"t":1305114834.87585},{"y":4,"d":[[3,18,"-"]],"x":20,"t":1305114835.04391},{"y":4,"d":[[3,19,"-"]],"x":21,"t":1305114835.21992},{"y":4,"d":[[3,20,"o"]],"x":22,"t":1305114835.41958},{"y":4,"d":[[3,21,"n"]],"x":23,"t":1305114835.53164},{"y":4,"d":[[3,22,"e"]],"x":24,"t":1305114835.58781},{"y":4,"d":[[3,23,"l"]],"x":25,"t":1305114835.70759},{"y":4,"d":[[3,24,"i"]],"x":26,"t":1305114835.83567},{"y":4,"d":[[3,25,"n"]],"x":27,"t":1305114835.97161},{"y":4,"d":[[3,26,"e"]],"x":28,"t":1305114836.07588},{"y":4,"x":29,"t":1305114836.16515},{"y":4,"d":[[3,28,"-"]],"x":30,"t":1305114836.50769},{"y":4,"d":[[3,29,"-"]],"x":31,"t":1305114836.69153},{"y":4,"d":[[3,30,"d"]],"x":32,"t":1305114836.83557},{"y":4,"d":[[3,31,"e"]],"x":33,"t":1305114836.99561},{"y":4,"d":[[3,32,"c"]],"x":34,"t":1305114837.16357},{"y":4,"d":[[3,33,"o"]],"x":35,"t":1305114837.23571},{"y":4,"d":[[3,34,"r"]],"x":36,"t":1305114837.34772},{"y":4,"d":[[3,35,"a"]],"x":37,"t":1305114837.5476},{"y":4,"d":[[3,36,"t"]],"x":38,"t":1305114837.65971},{"y":4,"d":[[3,37,"e"]],"x":39,"t":1305114837.77172},{"y":4,"x":40,"t":1305114837.89142},{"y":4,"d":[[3,39,"-"]],"x":41,"t":1305114837.97944},{"y":4,"d":[[3,40,"4"]],"x":42,"t":1305114838.58772},{"y":5,"x":1,"t":1305114838.69132},{"y":9,"d":[[4,0,48,"8be895d (HEAD, master) README is from welcome.txt"],[5,0,32,"cb5775e restore file: welcome.txt"],[6,0,44,"8ad2496 delete trash files (using git add -u)"],[7,0,49,"1086811 (tag: old_practice) Merge commit '6630c7c'"],[8,0,8,"bash-3.2$"]],"x":11,"f":[[4,0,21,"3333333336666332222223"],[5,0,6,["a","3"]],["cp",5,6],[7,0,26,["a","3"]]],"B":[[4,9,20,"111100111111"],[7,9,25,["a","1"]]],"t":1305114838.70469},{"y":9,"d":[[8,10,"v"]],"x":12,"t":1305114842.1155},{"y":9,"d":[[8,11,"i"]],"x":13,"t":1305114842.20359},{"y":9,"x":14,"t":1305114842.29944},{"y":9,"d":[[8,13,"s"]],"x":15,"t":1305114842.53133},{"y":9,"d":[[8,14,"r"]],"x":16,"t":1305114842.68325},{"y":9,"d":[[8,15,"c"]],"x":17,"t":1305114842.88342},{"y":9,"d":[[8,16,"/"]],"x":18,"t":1305114842.98733},{"y":9,"d":[[8,17,"m"]],"x":19,"t":1305114843.22716},{"y":9,"d":[[8,18,"a"]],"x":20,"t":1305114843.35515},{"y":9,"d":[[8,19,"i"]],"x":21,"t":1305114843.45938},{"y":9,"d":[[8,20,"n"]],"x":22,"t":1305114843.60337},{"y":9,"d":[[8,21,"."]],"x":23,"t":1305114844.1793},{"y":9,"d":[[8,22,"c"]],"x":24,"t":1305114844.25924},{"y":10,"x":1,"t":1305114844.48331},{"y":23,"d":[["cp",9,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],[22,0,21,"\"src/main.c\" 10L, 145C"]],"x":23,"f":[["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7]],"B":[["cp",0,4],["cp",0,7]],"t":1305114844.53173},{"y":1,"d":[[0,0,19,"#include \"version.h\""],[1,0,17,"#include "],[3,0,2,"int"],[4,0,5,"main()"],[5,0,"{"],[6,4,31,"printf( \"Hello, world.\\n\" );"],[7,4,40,"printf( \"version: %s.\\n\", _VERSION );"],[8,4,12,"return 0;"],[9,0,"}"],[10,0,"~"],["cp",10,11],["cp",10,12],["cp",10,13],["cp",10,14],["cp",10,15],["cp",10,16],["cp",10,17],["cp",10,18],["cp",10,19],["cp",10,20],["cp",10,21],[22,22,"c"]],"x":1,"f":[[0,0,19,"55555555511111111111"],[1,0,17,"555555555111111111"],[3,0,2,["a","2"]],[6,12,28,"11111111111111551"],[7,12,27,"1111111111551551"],[8,4,11,"33333371"],[10,0,77,["a","4"]],["cp",10,11],["cp",10,12],["cp",10,13],["cp",10,14],["cp",10,15],["cp",10,16],["cp",10,17],["cp",10,18],["cp",10,19],["cp",10,20],["cp",10,21]],"B":[[10,0,77,["a","1"]],["cp",10,11],["cp",10,12],["cp",10,13],["cp",10,14],["cp",10,15],["cp",10,16],["cp",10,17],["cp",10,18],["cp",10,19],["cp",10,20],["cp",10,21]],"t":1305114844.53755},{"y":2,"x":1,"t":1305114845.54757},{"y":3,"x":1,"t":1305114846.04752},{"y":4,"x":1,"t":1305114846.13101},{"y":5,"x":1,"t":1305114846.21433},{"y":6,"b":[[5,0,"6"],["cp",5,9]],"x":1,"t":1305114846.29877},{"y":7,"b":[["cp",0,5],["cp",0,9]],"x":1,"t":1305114846.38176},{"y":8,"x":1,"t":1305114846.46505},{"y":9,"x":1,"t":1305114846.5484},{"y":10,"b":[[5,0,"6"],["cp",5,9]],"x":1,"t":1305114846.63286},{"y":10,"x":1,"t":1305114846.71515},{"y":10,"x":1,"t":1305114846.79852},{"y":10,"x":1,"t":1305114846.882},{"y":10,"x":1,"t":1305114846.96561},{"y":10,"x":1,"t":1305114847.04895},{"y":23,"d":[[22,0,22,": "]],"x":2,"t":1305114848.5554},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305114849.57906},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305114849.76303},{"y":23,"x":1,"t":1305114849.97115},{"y":23,"d":[[22,0,11,"\"src/main.c\""]],"x":13,"t":1305114849.97136},{"y":10,"b":[["cp",0,5],["cp",0,9]],"d":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"x":1,"f":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305114850.24944},{"y":10,"d":[[9,0,8,"bash-3.2$"]],"x":11,"t":1305114850.25187},{"y":10,"d":[[9,10,"v"]],"x":12,"t":1305114851.09105},{"y":10,"d":[[9,11,"i"]],"x":13,"t":1305114851.18684},{"y":10,"x":14,"t":1305114851.29103},{"y":10,"d":[[9,13,"s"]],"x":15,"t":1305114852.45105},{"y":10,"d":[[9,14,"r"]],"x":16,"t":1305114852.59482},{"y":10,"d":[[9,15,"c"]],"x":17,"t":1305114852.78685},{"y":10,"d":[[9,16,"/"]],"x":18,"t":1305114852.89086},{"y":10,"d":[[9,17,"v"]],"x":19,"t":1305114853.07482},{"y":10,"d":[[9,18,28,"ersion.h.in"]],"x":31,"t":1305114853.35293},{"y":11,"x":1,"t":1305114854.74652},{"y":23,"d":[["cp",0,9],[22,0,25,"\"src/version.h.in\" 6L, 98C"]],"x":27,"t":1305114854.79213},{"y":1,"d":[[0,0,28,"#ifndef HELLO_WORLD_VERSION_H"],[1,0,28,"#define HELLO_WORLD_VERSION_H"],[3,0,27,"#define _VERSION \"\""],[5,0,5,"#endif"],[6,0,"~"],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21],[22,26,"c"]],"x":1,"f":[[0,0,28,["a","5"]],["cp",0,1],[3,0,27,"5555555555555555511111111111"],[5,0,5,["a","5"]],[6,0,77,["a","4"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21]],"B":[[6,0,77,["a","1"]],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11],["cp",6,12],["cp",6,13],["cp",6,14],["cp",6,15],["cp",6,16],["cp",6,17],["cp",6,18],["cp",6,19],["cp",6,20],["cp",6,21]],"t":1305114854.79924},{"d":[["r","#ifndef HELLO_WORLD_VERSION_H "],["r","#define HELLO_WORLD_VERSION_H "],["a"," "],["r","#define _VERSION \"\" "],["a"," "],["r","#endif "],["r","~ "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","\"src/version.h.in\" 6L, 98Cc "],["a"," "],"d"],"x":1,"B":[["a","0"],"d","d","d","d","d",["r","11111111111111111111111111111111111111111111111111111111111111111111111111111100"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["a","0"],"d","d"],"y":2,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","55555555555555555555555555555777777777777777777777777777777777777777777777777777"],"d",["a","7"],["r","55555555555555555111111111117777777777777777777777777777777777777777777777777777"],["a","7"],["r","55555577777777777777777777777777777777777777777777777777777777777777777777777777"],["r","44444444444444444444444444444444444444444444444444444444444444444444444444444477"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["a","7"],"d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305114855.48288,"i":1},{"y":3,"x":1,"t":1305114855.66676},{"y":4,"x":1,"t":1305114856.16721},{"y":5,"x":1,"t":1305114856.25042},{"y":6,"x":1,"t":1305114856.33369},{"y":6,"x":1,"t":1305114856.417},{"y":6,"x":1,"t":1305114856.50052},{"y":6,"x":1,"t":1305114856.584},{"y":23,"d":[[22,0,26,": "]],"x":2,"t":1305114857.17099},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305114857.57066},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305114857.89076},{"y":23,"x":1,"t":1305114859.45867},{"y":23,"d":[[22,0,17,"\"src/version.h.in\""]],"x":19,"t":1305114859.45889},{"y":23,"d":[[22,19,33,"6L, 98C written"]],"x":35,"t":1305114859.73876},{"y":11,"d":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],[9,0,28,"bash-3.2$ vi src/version.h.in"],[10,0,8,"bash-3.2$"],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305114859.74144},{"y":11,"d":[[10,10,"v"]],"x":12,"t":1305114863.13825},{"y":11,"d":[[10,11,"i"]],"x":13,"t":1305114863.21042},{"y":11,"x":14,"t":1305114863.32246},{"y":11,"d":[[10,13,"s"]],"x":15,"t":1305114863.7623},{"y":11,"d":[[10,14,"r"]],"x":16,"t":1305114863.91428},{"y":11,"d":[[10,15,16,"c/"]],"x":18,"t":1305114864.39136},{"y":11,"d":[[10,17,"M"]],"x":19,"t":1305114865.17847},{"y":11,"d":[[10,18,"a"]],"x":20,"t":1305114865.33025},{"y":11,"d":[[10,19,"k"]],"x":21,"t":1305114865.47492},{"y":11,"d":[[10,20,"e"]],"x":22,"t":1305114865.67413},{"y":11,"d":[[10,21,"f"]],"x":23,"t":1305114865.89866},{"y":11,"d":[[10,22,"i"]],"x":24,"t":1305114865.97028},{"y":11,"d":[[10,23,24,"le"]],"x":27,"t":1305114866.17586},{"y":12,"x":1,"t":1305114866.8263},{"y":1,"d":[[0,0,15,"OBJECTS = main.o"],[1,0,13,"TARGET = hello"],[3,0,13,"all: $(TARGET)"],[5,0,20,"$(TARGET): $(OBJECTS)"],[6,2,15,"$(CC) -o $@ $^"],[8,0,16,"main.o: version.h"],["cp",2,9],[10,0,24,"version.h: new_header "],[12,0,10,"new_header:"],[13,2,72,"@sed -e \"s//$$(git describe)/g\" < version.h.in > version.h.tmp"],[14,2,60,"@if diff -q version.h.tmp version.h >/dev/null 2>&1; then \\"],[15,4,22,"rm version.h.tmp; \\"],[16,2,7,"else \\"],[17,4,39,"echo \"version.h.in => version.h\" ; \\"],[18,4,32,"mv version.h.tmp version.h; \\"],[19,2,3,"fi"],[21,0,5,"clean:"],[22,0,24,"\"src/Makefile\" 27L, 459Cc"]],"x":1,"f":[[0,0,7,["a","6"]],[1,0,6,["a","6"]],[3,0,13,"66667666666666"],[5,0,20,"666666666676666666666"],[6,0,15,"1166666111166166"],["cp",1,8],[10,0,9,["a","6"]],[12,0,10,["a","6"]],[13,0,72,"5551111111111111111111166111111111111111111111111111111111111111111111111"],[14,0,60,"5551111111111111111111111111111111111111111111111111111111115"],[15,0,22,"11111111111111111111115"],[16,0,7,"11111115"],[17,0,39,"1111111111111111111111111111111111111115"],[18,0,32,"111111111111111111111111111111115"],[19,0,3,["a","1"]],[21,0,5,["a","6"]]],"t":1305114866.87567},{"y":2,"x":1,"t":1305114867.93844},{"y":3,"x":1,"t":1305114868.39439},{"y":4,"x":1,"t":1305114868.89453},{"y":5,"x":1,"t":1305114868.97797},{"y":6,"x":1,"t":1305114869.06134},{"y":7,"x":2,"t":1305114869.14478},{"y":8,"x":1,"t":1305114869.22796},{"y":9,"x":1,"t":1305114869.31159},{"y":10,"x":1,"t":1305114869.39522},{"y":11,"x":1,"t":1305114869.47866},{"y":12,"x":1,"t":1305114869.56182},{"y":13,"x":1,"t":1305114869.64532},{"y":14,"x":2,"t":1305114869.72854},{"y":15,"x":2,"t":1305114869.81205},{"y":16,"x":2,"t":1305114869.89552},{"y":17,"x":2,"t":1305114869.97898},{"y":18,"x":2,"t":1305114870.06233},{"y":19,"x":2,"t":1305114870.1459},{"y":20,"x":2,"t":1305114870.22931},{"y":21,"x":1,"t":1305114870.31259},{"y":22,"x":1,"t":1305114870.39628},{"y":22,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",1,19],["cp",21,20],[21,0,37," rm -f $(TARGET) $(OBJECTS) version.h"],["cp",1,22]],"x":2,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",5,4],["cp",6,5],["cp",1,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",1,19],["cp",21,20],[21,0,37,"11111111666666666166666666661111111111"]],"t":1305114870.47976},{"y":22,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",0,21]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305114870.5631},{"y":22,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",1,17],["cp",19,18],["cp",20,19],["cp",1,20],[21,0,16,".PHONY: all clean"]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",1,17],["cp",19,18],["cp",20,19],["cp",1,20],[21,0,6,["a","3"]]],"t":1305114870.90643},{"y":22,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",21,20],["cp",0,21]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",21,20],["cp",0,21]],"t":1305114871.40657},{"y":22,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",2,18],["cp",20,19],["cp",2,20],[21,0,10,"# vim: noet"]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",2,18],["cp",20,19],["cp",2,20],[21,0,10,["a","4"]]],"t":1305114871.48997},{"y":22,"x":1,"t":1305114871.57328},{"y":22,"x":1,"t":1305114871.65675},{"y":22,"x":1,"t":1305114871.74018},{"y":22,"x":1,"t":1305114871.82361},{"y":22,"x":1,"t":1305114871.90725},{"y":22,"x":1,"t":1305114871.99072},{"y":23,"d":[[22,0,":"]],"x":2,"t":1305114873.39395},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305114873.50608},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305114873.72996},{"y":23,"x":1,"t":1305114874.00182},{"y":12,"d":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,5],["cp",0,7],["cp",0,8],[9,0,60,"bash-3.2$ vi src/version.h.in "],[10,0,24,"bash-3.2$ vi src/Makefile"],[11,0,8,"bash-3.2$"],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,16],["cp",0,17],["cp",0,19],["cp",0,21],["cp",0,22]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,5],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,16],["cp",0,17],["cp",0,19],["cp",0,21]],"t":1305114874.00664},{"y":12,"d":[[11,10,"c"]],"x":12,"t":1305114878.44964},{"y":12,"d":[[11,11,"d"]],"x":13,"t":1305114878.62563},{"y":12,"x":14,"t":1305114878.68973},{"y":12,"d":[[11,13,"s"]],"x":15,"t":1305114878.88962},{"y":12,"d":[[11,14,"r"]],"x":16,"t":1305114879.00964},{"y":12,"d":[[11,15,"c"]],"x":17,"t":1305114879.23372},{"y":13,"x":1,"t":1305114879.74573},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305114879.74594},{"y":13,"d":[[12,10,"l"]],"x":12,"t":1305114880.16155},{"y":13,"d":[[12,11,"s"]],"x":13,"t":1305114880.24951},{"y":14,"x":1,"t":1305114880.38544},{"y":15,"d":[[13,0,29,"Makefile main.c version.h.in"],[14,0,8,"bash-3.2$"]],"x":11,"t":1305114880.39088},{"y":15,"d":[[14,10,"m"]],"x":12,"t":1305114882.4896},{"y":15,"d":[[14,11,"a"]],"x":13,"t":1305114882.56176},{"y":15,"d":[[14,12,"k"]],"x":14,"t":1305114882.65747},{"y":15,"d":[[14,13,"e"]],"x":15,"t":1305114882.72956},{"y":16,"x":1,"t":1305114883.38548},{"y":18,"d":[[15,0,24,"version.h.in => version.h"],[16,0,1,["a","c"]],[16,6,24,"-c -o main.o main.c"]],"x":1,"t":1305114883.41632},{"y":19,"d":[[17,0,17,"cc -o hello main.o"]],"x":1,"t":1305114883.70679},{"y":19,"d":[[18,0,8,"bash-3.2$"]],"x":11,"t":1305114883.72235},{"y":19,"d":[[18,10,"."]],"x":12,"t":1305114884.52935},{"y":19,"d":[[18,11,"/"]],"x":13,"t":1305114884.70546},{"y":19,"d":[[18,12,"h"]],"x":14,"t":1305114884.96936},{"y":19,"d":[[18,13,"e"]],"x":15,"t":1305114885.06525},{"y":19,"d":[[18,14,"l"]],"x":16,"t":1305114885.17736},{"y":19,"d":[[18,15,"l"]],"x":17,"t":1305114885.35331},{"y":19,"d":[[18,16,"o"]],"x":18,"t":1305114885.5533},{"y":20,"x":1,"t":1305114885.99339},{"y":22,"d":[[19,0,12,"Hello, world."],[20,0,32,"version: old_practice-3-g8be895d."],[21,0,8,"bash-3.2$"]],"x":11,"t":1305114885.99891},{"y":23,"d":[[21,10,13,"exit"]],"x":1,"t":1305114890.85736}]} \ No newline at end of file diff --git a/html/part2/ch10-07-add-i.html b/html/part2/ch10-07-add-i.html deleted file mode 100644 index d074dc92d..000000000 --- a/html/part2/ch10-07-add-i.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-07-add-i -json_file: ch10-07-add-i.json ---- diff --git a/html/part2/ch10-07-add-i.json b/html/part2/ch10-07-add-i.json deleted file mode 100644 index 9cf099a3f..000000000 --- a/html/part2/ch10-07-add-i.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305115299.76219,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305115300.3259},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305115300.74992},{"y":2,"d":[[1,10,"l"]],"x":12,"t":1305115302.3739},{"y":2,"d":[[1,11,"s"]],"x":13,"t":1305115302.51085},{"y":2,"x":14,"t":1305115302.76681},{"y":2,"d":[[1,13,"s"]],"x":15,"t":1305115302.94167},{"y":2,"d":[[1,14,"r"]],"x":16,"t":1305115303.03766},{"y":2,"d":[[1,15,"c"]],"x":17,"t":1305115303.23764},{"y":3,"x":1,"t":1305115303.31759},{"y":4,"d":[[2,0,55,"Makefile hello main.c main.o version.h version.h.in"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305115303.32365},{"y":4,"d":[[3,10,"c"]],"x":12,"t":1305115304.80568},{"y":4,"d":[[3,11,"d"]],"x":13,"t":1305115304.98158},{"y":4,"x":14,"t":1305115305.05349},{"y":4,"x":13,"t":1305115305.69371},{"y":4,"d":[[3,11," "]],"x":12,"t":1305115305.86941},{"y":4,"d":[[3,10," "]],"x":11,"t":1305115306.02165},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305115306.18179},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305115306.28558},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305115306.36559},{"y":4,"x":15,"t":1305115306.42162},{"y":4,"d":[[3,14,"a"]],"x":16,"t":1305115306.83085},{"y":4,"d":[[3,15,"d"]],"x":17,"t":1305115306.98202},{"y":4,"d":[[3,16,"d"]],"x":18,"t":1305115307.14964},{"y":4,"x":19,"t":1305115307.22168},{"y":4,"d":[[3,18,"-"]],"x":20,"t":1305115307.35797},{"y":4,"d":[[3,19,"i"]],"x":21,"t":1305115307.59758},{"y":5,"x":1,"t":1305115307.91744},{"y":7,"d":[[4,11,16,"staged"],[4,22,34,"unstaged path"]],"x":1,"B":[[4,5,34,["a","1"]]],"t":1305115308.07783},{"y":11,"d":[[7,0,15,"*** Commands ***"],[8,2,10,"1: status"],[8,18,26,"2: update"],[8,34,42,"3: revert"],[8,50,65,"4: add untracked"],[9,2,9,"5: patch"],[9,18,24,"6: diff"],[9,34,40,"7: quit"],[9,50,56,"8: help"],[10,0,8,"What now>"]],"x":11,"f":[[8,5,"4"],[8,21,"4"],[8,37,"4"],[8,53,"4"],["cp",8,9],[10,0,7,["a","4"]]],"B":[[7,0,15,["a","1"]],[8,5,"1"],[8,21,"1"],[8,37,"1"],[8,53,"1"],["cp",8,9],[10,0,7,["a","1"]]],"t":1305115308.07852},{"y":11,"d":[[10,10,"1"]],"x":12,"t":1305115310.56557},{"y":12,"x":1,"t":1305115311.01426},{"y":18,"d":[["cp",4,11],["cp",7,14],["cp",8,15],["cp",9,16],[17,0,8,"What now>"]],"x":11,"f":[["cp",8,15],["cp",8,16],["cp",10,17]],"B":[["cp",4,11],["cp",7,14],["cp",8,15],["cp",8,16],["cp",10,17]],"t":1305115311.02659},{"y":18,"d":[[17,10,"4"]],"x":12,"t":1305115312.73595},{"y":19,"x":1,"t":1305115313.27729},{"y":25,"d":[[18,2,16,"1: src/Makefile"],[19,2,13,"2: src/hello"],[20,2,14,"3: src/main.c"],[21,2,14,"4: src/main.o"],[22,2,17,"5: src/version.h"],[23,2,20,"6: src/version.h.in"],[24,0,14,"Add untracked>>"]],"x":17,"f":[[24,0,12,["a","4"]]],"B":[[24,0,12,["a","1"]]],"t":1305115313.28471},{"y":25,"d":[[24,16,"1"]],"x":18,"t":1305115314.66132},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",4,11],["cp",6,13],["cp",7,14],["cp",8,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"f":[["cp",8,7],["cp",10,9],["cp",0,10],["cp",7,14],["cp",9,16],["cp",0,17],["cp",24,23],["cp",0,24]],"B":[["cp",4,3],["cp",0,4],["cp",7,6],["cp",8,7],["cp",10,9],["cp",3,10],["cp",0,11],["cp",6,13],["cp",7,14],["cp",9,16],["cp",0,17],["cp",24,23],["cp",0,24]],"t":1305115314.82918},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",5,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,2,"* 1"],[18,9,16,"Makefile"],["cp",12,19],["cp",13,20],["cp",14,21],["cp",15,22],["cp",16,23],[24,0,14,"Add untracked>>"]],"x":17,"f":[["cp",7,1],["cp",1,2],["cp",9,3],["cp",0,7],["cp",1,9],["cp",3,10],["cp",0,14],["cp",0,15],["cp",0,16],["cp",23,17],["cp",0,23],["cp",17,24]],"B":[["cp",6,0],["cp",7,1],["cp",1,2],["cp",9,3],["cp",10,4],["cp",5,6],["cp",0,7],["cp",1,9],["cp",3,10],["cp",5,13],["cp",5,14],["cp",5,15],["cp",5,16],["cp",23,17],["cp",5,23],["cp",17,24]],"t":1305115314.82968},{"y":25,"d":[[24,16,"3"]],"x":18,"t":1305115316.72526},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",7,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",12,19],["cp",13,20],["cp",14,21],["cp",15,22],["cp",24,23],["cp",4,24]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",0,7],["cp",2,9],["cp",3,10],["cp",17,16],["cp",3,17],["cp",16,23],["cp",3,24]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",5,4],["cp",7,6],["cp",0,7],["cp",2,9],["cp",4,10],["cp",17,16],["cp",4,17],["cp",16,23],["cp",4,24]],"t":1305115316.9331},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",5,12],["cp",6,13],["cp",7,14],["cp",8,15],["cp",9,16],["cp",23,17],["cp",11,18],["cp",5,19],[20,0,2,"* 3"],[20,14,"c"],["cp",7,21],["cp",8,22],["cp",9,23],[24,0,14,"Add untracked>>"]],"x":17,"f":[["cp",3,0],["cp",1,2],["cp",9,3],["cp",0,7],["cp",0,8],["cp",0,9],["cp",16,10],["cp",0,16],["cp",10,17],["cp",0,23],["cp",10,24]],"B":[["cp",6,0],["cp",1,2],["cp",9,3],["cp",4,6],["cp",4,7],["cp",4,8],["cp",4,9],["cp",16,10],["cp",4,16],["cp",10,17],["cp",4,23],["cp",10,24]],"t":1305115316.9334},{"y":25,"d":[[24,16,"6"]],"x":18,"t":1305115318.39711},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",4,11],["cp",5,12],["cp",6,13],["cp",7,14],["cp",8,15],["cp",17,16],["cp",10,17],["cp",4,18],["cp",20,19],["cp",6,20],["cp",7,21],["cp",8,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",10,9],["cp",3,10],["cp",9,16],["cp",3,17],["cp",9,23],["cp",3,24]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",10,9],["cp",3,10],["cp",9,16],["cp",3,17],["cp",9,23],["cp",3,24]],"t":1305115318.74919},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",16,10],["cp",4,11],["cp",5,12],["cp",19,13],["cp",0,14],["cp",1,15],["cp",2,16],["cp",23,17],["cp",4,18],["cp",5,19],["cp",13,20],["cp",0,21],["cp",1,22],[23,0,20,"* 6: src/version.h.in"],[24,0,14,"Add untracked>>"]],"x":17,"f":[["cp",3,0],["cp",0,1],["cp",0,2],["cp",9,3],["cp",0,9],["cp",3,10],["cp",0,16],["cp",3,17],["cp",0,23],["cp",3,24]],"B":[["cp",3,0],["cp",0,1],["cp",0,2],["cp",9,3],["cp",0,9],["cp",3,10],["cp",0,16],["cp",3,17],["cp",0,23],["cp",3,24]],"t":1305115318.74959},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",10,9],["cp",3,10],["cp",4,11],["cp",13,12],["cp",6,13],["cp",0,14],["cp",1,15],["cp",17,16],["cp",3,17],["cp",4,18],["cp",12,19],["cp",6,20],["cp",0,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",2,9],["cp",0,10],["cp",2,16],["cp",0,17],["cp",2,23],["cp",0,24]],"B":[["cp",3,2],["cp",0,3],["cp",2,9],["cp",0,10],["cp",2,16],["cp",0,17],["cp",2,23],["cp",0,24]],"t":1305115319.96491},{"y":25,"d":[["cp",5,0],["cp",6,1],["cp",7,2],["cp",8,3],["cp",9,4],["cp",10,5],["cp",11,6],["cp",12,7],["cp",1,8],["cp",2,9],["cp",3,10],["cp",16,11],["cp",5,12],["cp",6,13],["cp",7,14],["cp",1,15],["cp",2,16],["cp",22,17],["cp",23,18],[19,0,14,"added 3 paths "],["cp",24,20],[21,0,17,"*** Commands *** "],[22,0,26," 1: status 2: update"],[22,34,42,"3: revert"],[22,50,65,"4: add untracked"],[23,0,24," 5: patch 6: diff"],[23,34,40,"7: quit"],[23,50,56,"8: help"],[24,0,8,"What now>"]],"x":11,"f":[["cp",0,2],["cp",9,4],["cp",0,9],["cp",4,11],["cp",0,16],["cp",4,18],[22,5,"4"],[22,21,"4"],[22,37,"4"],[22,53,"4"],["cp",22,23],[24,0,7,["a","4"]]],"B":[["cp",0,2],["cp",9,4],["cp",0,9],["cp",4,11],["cp",0,16],["cp",4,18],[21,0,15,["a","1"]],[22,5,"1"],[22,21,"1"],[22,37,"1"],[22,53,"1"],["cp",22,23],[24,0,7,["a","1"]]],"t":1305115319.97469},{"y":25,"d":[[24,10,"s"]],"x":12,"t":1305115321.95686},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",11,10],["cp",4,11],["cp",5,12],["cp",6,13],["cp",0,14],["cp",1,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",19,24]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",3,10],["cp",0,11],["cp",3,17],["cp",0,18],["cp",22,21],["cp",24,23],["cp",0,24]],"B":[["cp",4,3],["cp",0,4],["cp",3,10],["cp",0,11],["cp",3,17],["cp",0,18],["cp",21,20],["cp",22,21],["cp",24,23],["cp",0,24]],"t":1305115322.14089},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",10,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,34," staged unstaged path"],[17,0,16," 1: +27/-0"],[17,23,42,"nothing src/Makefile"],[18,0,16," 2: +10/-0"],[18,23,40,"nothing src/main.c"],[19,2,3,"3:"],[19,12,16,"+6/-0"],[19,23,46,"nothing src/version.h.in"],["cp",11,20],["cp",12,21],["cp",13,22],["cp",14,23],[24,0,8,"What now>"]],"x":11,"f":[["cp",3,2],["cp",0,3],["cp",2,9],["cp",0,10],["cp",21,13],["cp",13,14],["cp",23,15],["cp",0,17],["cp",0,21],["cp",13,23],["cp",15,24]],"B":[["cp",3,2],["cp",0,3],["cp",2,9],["cp",0,10],["cp",20,12],["cp",21,13],["cp",13,14],["cp",23,15],[16,5,34,["a","1"]],["cp",0,17],["cp",0,20],["cp",12,21],["cp",13,23],["cp",15,24]],"t":1305115322.15487},{"y":25,"d":[[24,10,"q"]],"x":12,"t":1305115325.06078},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",9,18],["cp",10,19],["cp",11,20],["cp",12,21],["cp",24,22],[23,0,9,"Bye. "],[23,18,24,["a"," "]],[23,34,40,["a"," "]],[23,50,56,["a"," "]],["cp",9,24]],"x":1,"f":[["cp",2,0],["cp",1,2],["cp",0,7],["cp",1,9],["cp",13,11],["cp",11,12],["cp",15,13],["cp",1,14],["cp",1,15],["cp",11,20],["cp",11,21],["cp",13,22],["cp",1,23],["cp",1,24]],"B":[["cp",2,0],["cp",1,2],["cp",0,7],["cp",1,9],["cp",12,10],["cp",13,11],["cp",11,12],["cp",15,13],["cp",16,14],["cp",1,15],["cp",1,16],["cp",10,19],["cp",11,20],["cp",11,21],["cp",13,22],["cp",1,23],["cp",1,24]],"t":1305115326.74124},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305115326.74413},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115327.25252},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115327.3168},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115327.42863},{"y":25,"x":15,"t":1305115327.50857},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305115327.75671},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305115327.88488},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305115328.01286},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305115328.11661},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305115328.22058},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305115328.29294},{"y":25,"x":22,"t":1305115328.45344},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305115328.56449},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305115328.65257},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",8,17],["cp",9,18],["cp",10,19],["cp",11,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",8,24]],"x":1,"f":[["cp",1,0],["cp",7,6],["cp",0,7],["cp",11,10],["cp",13,12],["cp",0,13],["cp",10,19],["cp",12,21],["cp",0,22]],"B":[["cp",1,0],["cp",7,6],["cp",0,7],["cp",10,9],["cp",11,10],["cp",13,12],["cp",14,13],["cp",0,14],["cp",9,18],["cp",10,19],["cp",12,21],["cp",0,22]],"t":1305115328.79738},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",2,11],["cp",3,12],["cp",4,13],["cp",5,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,15,"A src/Makefile "],[19,0,12,"A src/main.c"],[19,18,26,["a"," "]],[19,34,42,["a"," "]],[19,50,65,["a"," "]],[20,0,24,"A src/version.h.in "],[20,34,40,["a"," "]],[20,50,56,["a"," "]],[21,0,11,"?? src/hello"],[22,0,12,"?? src/main.o"],[23,0,22,"?? src/version.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,0],["cp",10,4],["cp",4,5],["cp",12,6],["cp",1,10],["cp",1,11],["cp",1,12],["cp",4,13],["cp",4,14],["cp",6,15],[18,0,"2"],["cp",18,19],["cp",18,20],[21,0,7,"11777777"],["cp",21,22],["cp",21,23]],"B":[["cp",6,0],["cp",9,3],["cp",10,4],["cp",4,5],["cp",12,6],["cp",13,7],["cp",1,9],["cp",1,10],["cp",1,11],["cp",3,12],["cp",4,13],["cp",4,14],["cp",6,15],["cp",1,18],["cp",1,19],["cp",1,20],["cp",1,21]],"t":1305115328.80637},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115329.97274},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115330.08441},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115330.1727},{"y":25,"x":15,"t":1305115330.23659},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305115330.6604},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305115330.71673},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305115330.9006},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305115331.05239},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305115331.21239},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305115331.30041},{"y":25,"x":22,"t":1305115331.37233},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305115331.60435},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305115331.93232},{"y":25,"x":25,"t":1305115332.14037},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305115332.7005},{"y":25,"d":[[24,25,"H"]],"x":27,"t":1305115336.14049},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305115336.3002},{"y":25,"d":[[24,27,"l"]],"x":29,"t":1305115336.46011},{"y":25,"d":[[24,28,"l"]],"x":30,"t":1305115336.63643},{"y":25,"d":[[24,29,"o"]],"x":31,"t":1305115336.77211},{"y":25,"x":32,"t":1305115336.89243},{"y":25,"d":[[24,31,"w"]],"x":33,"t":1305115337.53319},{"y":25,"d":[[24,32,"o"]],"x":34,"t":1305115337.66036},{"y":25,"d":[[24,33,"r"]],"x":35,"t":1305115337.78815},{"y":25,"d":[[24,34,"l"]],"x":36,"t":1305115337.86832},{"y":25,"d":[[24,35,"d"]],"x":37,"t":1305115338.04403},{"y":25,"x":38,"t":1305115338.27631},{"y":25,"d":[[24,37,"i"]],"x":39,"t":1305115338.49206},{"y":25,"d":[[24,38,"n"]],"x":40,"t":1305115338.62817},{"y":25,"d":[[24,39,"i"]],"x":41,"t":1305115338.75626},{"y":25,"d":[[24,40,"t"]],"x":42,"t":1305115338.8122},{"y":25,"d":[[24,41,"i"]],"x":43,"t":1305115338.94812},{"d":[["r","Add untracked>> "],["r","added 3 paths "],["a"," "],["r","*** Commands *** "],["r"," 1: status 2: update 3: revert 4: add untracked "],["r"," 5: patch 6: diff 7: quit 8: help "],["r","What now> s "],["r"," staged unstaged path "],["r"," 1: +27/-0 nothing src/Makefile "],["r"," 2: +10/-0 nothing src/main.c "],["r"," 3: +6/-0 nothing src/version.h.in "],["a"," "],["r","*** Commands *** "],["r"," 1: status 2: update 3: revert 4: add untracked "],["r"," 5: patch 6: diff 7: quit 8: help "],["r","What now> q "],["r","Bye. "],["r","bash-3.2$ git status -s "],["r","A src/Makefile "],["r","A src/main.c "],["r","A src/version.h.in "],["r","?? src/hello "],["r","?? src/main.o "],["r","?? src/version.h "],["r","bash-3.2$ git commit -m \"Hello world initia "]],"x":44,"B":[["r","11111111111110000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","11111111111111110000000000000000000000000000000000000000000000000000000000000000"],["r","00000100000000000000010000000000000001000000000000000100000000000000000000000000"],"d",["r","11111111000000000000000000000000000000000000000000000000000000000000000000000000"],["r","00000111111111111111111111111111111000000000000000000000000000000000000000000000"],["a","0"],"d","d","d",["r","11111111111111110000000000000000000000000000000000000000000000000000000000000000"],["r","00000100000000000000010000000000000001000000000000000100000000000000000000000000"],"d",["r","11111111000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","44444444444447777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d",["r","77777477777777777777747777777777777774777777777777777477777777777777777777777777"],"d",["r","44444444777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d",["r","77777477777777777777747777777777777774777777777777777477777777777777777777777777"],"d",["r","44444444777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305115339.00388,"i":1},{"y":25,"d":[[24,43,"l"]],"x":45,"t":1305115339.12403},{"y":25,"d":[[24,44,"i"]],"x":46,"t":1305115339.30817},{"y":25,"d":[[24,45,"z"]],"x":47,"t":1305115339.42825},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305115339.57207},{"y":25,"d":[[24,47,"d"]],"x":49,"t":1305115339.73216},{"y":25,"d":[[24,48,"."]],"x":50,"t":1305115339.81215},{"y":25,"d":[[24,49,"\""]],"x":51,"t":1305115340.20395},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",1,10],["cp",2,11],["cp",3,12],["cp",4,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",6,5],["cp",0,6],["cp",3,12],["cp",5,14],["cp",0,15],["cp",18,17],["cp",21,20],["cp",0,23]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",6,5],["cp",7,6],["cp",0,7],["cp",2,11],["cp",3,12],["cp",5,14],["cp",0,15]],"t":1305115340.39637},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",1,10],["cp",2,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,49,"[master 15f507b] Hello world initialized. "]],"x":1,"f":[["cp",3,2],["cp",5,4],["cp",0,5],["cp",2,11],["cp",4,13],["cp",0,14],["cp",17,16],["cp",20,19],["cp",0,22]],"B":[["cp",2,1],["cp",3,2],["cp",5,4],["cp",6,5],["cp",0,6],["cp",1,10],["cp",2,11],["cp",4,13],["cp",0,14]],"t":1305115340.67798},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,49," 3 files changed, 43 insertions(+), 0 deletions(-)"],[21,0,31," create mode 100644 src/Makefile"],[22,0,49," create mode 100644 src/main.c "],[23,0,40," create mode 100644 src/version.h.in "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,0],["cp",1,2],["cp",1,3],["cp",1,4],["cp",11,7],["cp",7,8],["cp",0,9],["cp",1,11],["cp",16,12],["cp",12,13],["cp",12,14],["cp",19,15],["cp",15,16],["cp",15,17],["cp",1,18],["cp",1,19],["cp",1,20],["cp",1,21]],"B":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",2,3],["cp",2,4],["cp",2,5],["cp",10,6],["cp",11,7],["cp",7,8],["cp",0,9],["cp",2,10],["cp",2,11],["cp",2,12],["cp",2,13]],"t":1305115340.67936},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115345.3719},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115345.46001},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115345.59583},{"y":25,"x":15,"t":1305115345.6998},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305115346.03575},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305115346.17961},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305115346.3237},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305115346.41171},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305115346.49964},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305115346.58781},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"f":[["cp",1,0],["cp",7,6],["cp",9,8],["cp",0,9],["cp",12,11],["cp",15,14],["cp",0,17]],"B":[["cp",1,0],["cp",2,1],["cp",6,5],["cp",7,6],["cp",9,8],["cp",1,9]],"t":1305115346.84368},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,17,"# On branch master"],[17,0,49,"# Untracked files: "],[18,0,65,"# (use \"git add ...\" to include in what will be committed)"],[19,0,49,"# "],[20,0,31,"# src/hello "],[21,0,29,"# src/main.o "],[22,0,35,"# src/version.h "],[23,0,75,"nothing added to commit but untracked files present (use \"git add\" to track)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,0],["cp",11,3],["cp",3,4],["cp",3,5],["cp",14,6],["cp",6,7],["cp",6,8],["cp",1,11],["cp",1,12],["cp",1,13],["cp",1,14],["cp",1,15],["cp",1,16],[20,8,16,["a","1"]],[21,8,17,["a","1"]],[22,8,20,["a","1"]]],"B":[["cp",8,0],["cp",1,5],["cp",1,6],["cp",1,7],["cp",1,8]],"t":1305115346.85266},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305115347.68366},{"y":25,"d":[[24,11,"d"]],"x":13,"t":1305115347.8599},{"y":25,"x":14,"t":1305115347.92347},{"y":25,"d":[[24,13,"s"]],"x":15,"t":1305115348.05169},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305115348.16361},{"y":25,"d":[[24,15,"c"]],"x":17,"t":1305115348.33954},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,10,15,["a"," "]]],"x":11,"f":[["cp",1,0],["cp",3,2],["cp",6,5],["cp",0,8],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22]],"B":[["cp",1,0]],"t":1305115348.50823},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305115348.79575},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305115348.92359},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",5,4],["cp",0,7],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305115349.02732},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,55,"Makefile hello main.c main.o version.h version.h.in"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",4,3],["cp",7,6],["cp",18,17],["cp",19,18],["cp",20,19],["cp",6,20]],"t":1305115349.03413},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305115350.09964},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305115350.21133},{"y":25,"d":[[24,12,"k"]],"x":14,"t":1305115350.2755},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115350.33956},{"y":25,"x":16,"t":1305115350.42753},{"y":25,"d":[[24,15,"l"]],"x":17,"t":1305115350.62763},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305115350.71546},{"y":25,"d":[[24,17,"a"]],"x":19,"t":1305115350.85142},{"y":25,"d":[[24,18,"n"]],"x":20,"t":1305115350.96364},{"y":25,"d":[[24,18," "]],"x":19,"t":1305115351.4675},{"y":25,"d":[[24,17," "]],"x":18,"t":1305115351.63561},{"y":25,"d":[[24,16," "]],"x":17,"t":1305115351.81153},{"y":25,"d":[[24,15," "]],"x":16,"t":1305115351.97947},{"y":25,"d":[[24,15,"c"]],"x":17,"t":1305115352.03525},{"y":25,"d":[[24,16,"l"]],"x":18,"t":1305115352.19554},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305115352.41935},{"y":25,"d":[[24,18,"a"]],"x":20,"t":1305115352.54743},{"y":25,"d":[[24,19,"n"]],"x":21,"t":1305115352.62847},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",6,5],["cp",17,16],["cp",18,17],["cp",19,18],["cp",5,19]],"t":1305115352.82843},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,27,"rm -f hello main.o version.h"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,1],["cp",5,4],["cp",16,15],["cp",17,16],["cp",18,17],["cp",4,18]],"t":1305115352.8351},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305115353.07557},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305115353.16348},{"y":25,"d":[[24,12,"k"]],"x":14,"t":1305115353.2513},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115353.30743},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",15,14],["cp",16,15],["cp",17,16],["cp",3,17]],"t":1305115353.49132},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,27,"version.h.in => version.h "],[23,0,24,"cc -c -o main.o main.c"]],"x":1,"f":[["cp",3,1],["cp",1,2],["cp",14,12],["cp",15,13],["cp",16,14],["cp",1,15],["cp",1,16]],"t":1305115353.51534},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,3,9,"-o hell"],[23,19,24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,14]],"t":1305115353.79946},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305115353.81507},{"y":25,"d":[[24,10,"."]],"x":12,"t":1305115354.27546},{"y":25,"d":[[24,11,"/"]],"x":13,"t":1305115354.45948},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305115354.68332},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115354.77129},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305115354.88343},{"y":25,"d":[[24,15,"l"]],"x":17,"t":1305115355.04332},{"y":25,"d":[[24,16,"o"]],"x":18,"t":1305115355.2192},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13]],"t":1305115355.42725},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,17,"Hello, world. "],[23,0,32,"version: old_practice-4-g15f507b."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",10,8],["cp",11,9],["cp",12,10],["cp",0,11],["cp",0,12]],"t":1305115355.43217},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115359.31509},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115359.37908},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115359.46725},{"y":25,"x":15,"t":1305115359.55508},{"y":25,"d":[[24,14,"t"]],"x":16,"t":1305115359.77933},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305115359.96308},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305115360.08298},{"y":25,"x":19,"t":1305115360.35537},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305115361.01907},{"y":25,"d":[[24,19,"m"]],"x":21,"t":1305115361.35501},{"y":25,"x":22,"t":1305115361.50719},{"y":25,"d":[[24,21,"\""]],"x":23,"t":1305115361.77928},{"y":25,"d":[[24,22,"S"]],"x":24,"t":1305115362.33927},{"y":25,"d":[[24,23,"e"]],"x":25,"t":1305115362.499},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305115362.63491},{"y":25,"x":27,"t":1305115362.78699},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305115362.93889},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305115363.09146},{"y":25,"d":[[24,28,"g"]],"x":30,"t":1305115363.25112},{"y":25,"x":31,"t":1305115363.75488},{"y":25,"d":[[24,30,"h"]],"x":32,"t":1305115364.48402},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305115364.5549},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305115364.67469},{"y":25,"d":[[24,33,"l"]],"x":35,"t":1305115364.84298},{"y":25,"d":[[24,34,"o"]],"x":36,"t":1305115365.0269},{"y":25,"d":[[24,35,"_"]],"x":37,"t":1305115365.32304},{"y":25,"d":[[24,36,"1"]],"x":38,"t":1305115365.65998},{"y":25,"d":[[24,37,"."]],"x":39,"t":1305115365.77859},{"y":25,"d":[[24,38,"9"]],"x":40,"t":1305115366.00293},{"d":[["r"," create mode 100644 src/Makefile "],["r"," create mode 100644 src/main.c "],["r"," create mode 100644 src/version.h.in "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Untracked files: "],["r","# (use \"git add ...\" to include in what will be committed) "],["r","# "],["r","# src/hello "],["r","# src/main.o "],["r","# src/version.h "],["r","nothing added to commit but untracked files present (use \"git add\" to track) "],["r","bash-3.2$ cd src "],["r","bash-3.2$ ls "],["r","Makefile hello main.c main.o version.h version.h.in "],["r","bash-3.2$ make clean "],["r","rm -f hello main.o version.h "],["r","bash-3.2$ make "],["r","version.h.in => version.h "],["r","cc -c -o main.o main.c "],["r","cc -o hello main.o "],["r","bash-3.2$ ./hello "],["r","Hello, world. "],["r","version: old_practice-4-g15f507b. "],["r","bash-3.2$ git tag -m \"Set tag hello_1. "]],"x":39,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d",["r","77777777111111111777777777777777777777777777777777777777777777777777777777777777"],["r","77777777111111111177777777777777777777777777777777777777777777777777777777777777"],["r","77777777111111111111177777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305115366.59514,"i":1},{"y":25,"d":[[24,38,"0"]],"x":40,"t":1305115367.13089},{"y":25,"d":[[24,39,"\""]],"x":41,"t":1305115367.53881},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10]],"t":1305115368.03463},{"y":25,"d":[["cp",21,0],["cp",22,1],["cp",23,2],[3,0,78,"usage: git tag [-a|-s|-u ] [-f] [-m |-F ] []"],[4,0,29," or: git tag -d ..."],[5,0,65," or: git tag -l [-n[]] [] "],[6,0,29," or: git tag -v ..."],["cp",24,7],[8,0,17," -l "],[8,26,39,"list tag names"],[9,0,20," -n[] "],[9,26,60,"print lines of each tag message"],[10,0,75," -d delete tags "],[11,0,15," -v "],[11,26,36,"verify tags"],["cp",7,12],[13,0,55,"Tag creation options "],[14,0,19," -a "],[14,26,55,"annotated tag, needs a message"],[15,0,36," -m tag message"],[16,0,13," -F "],[16,26,47,"read message from file"],[17,0,53," -s annotated and GPG-signed tag"],[18,0,56," -u use another key to sign the tag"],[19,0,17," -f, --force "],[19,26,50,"replace the tag if exists"],["cp",7,20],[21,0,18,"Tag listing options"],[22,0,64," --contains print only tags that contain the commit"],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,7],["cp",0,8],["cp",0,9]],"t":1305115368.0416},{"y":25,"d":[["cp",2,24]],"x":41,"t":1305115369.2667},{"y":25,"x":42,"t":1305115369.64252},{"y":25,"d":[[24,41,"h"]],"x":43,"t":1305115369.8666},{"y":25,"d":[[24,42,"e"]],"x":44,"t":1305115369.9626},{"y":25,"d":[[24,43,"l"]],"x":45,"t":1305115370.05844},{"y":25,"d":[[24,44,"l"]],"x":46,"t":1305115370.22645},{"y":25,"d":[[24,45,"o"]],"x":47,"t":1305115370.41037},{"y":25,"d":[[24,46,"_"]],"x":48,"t":1305115370.79466},{"y":25,"d":[[24,47,"1"]],"x":49,"t":1305115371.13066},{"y":25,"d":[[24,48,"."]],"x":50,"t":1305115371.25065},{"y":25,"d":[[24,49,"0"]],"x":51,"t":1305115371.6188},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",6,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",6,19],["cp",21,20],["cp",22,21],["cp",6,22],["cp",24,23],["cp",6,24]],"x":1,"t":1305115372.85844},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305115373.14629},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115374.61082},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115374.70657},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115374.84261},{"y":25,"x":15,"t":1305115374.88258},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305115375.40229},{"y":25,"d":[[24,15,"l"]],"x":17,"t":1305115375.49028},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305115375.57868},{"y":25,"d":[[24,17,"a"]],"x":19,"t":1305115375.72221},{"y":25,"d":[[24,17," "]],"x":18,"t":1305115376.05015},{"y":25,"d":[[24,16," "]],"x":17,"t":1305115376.5505},{"y":25,"d":[[24,15," "]],"x":16,"t":1305115376.63362},{"y":25,"d":[[24,14," "]],"x":15,"t":1305115376.71708},{"y":25,"x":14,"t":1305115376.80062},{"y":25,"d":[[24,12," "]],"x":13,"t":1305115376.88396},{"y":25,"d":[[24,11," "]],"x":12,"t":1305115376.96763},{"y":25,"d":[[24,10," "]],"x":11,"t":1305115377.05101},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305115377.45842},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305115377.57047},{"y":25,"d":[[24,12,"k"]],"x":14,"t":1305115377.65813},{"y":25,"d":[[24,13,"i"]],"x":15,"t":1305115377.66656},{"y":25,"d":[[24,14,"e"]],"x":16,"t":1305115377.71421},{"y":25,"x":17,"t":1305115377.81013},{"y":25,"d":[[24,16,"c"]],"x":18,"t":1305115377.98624},{"y":25,"d":[[24,16," "]],"x":17,"t":1305115378.28228},{"y":25,"x":16,"t":1305115378.45811},{"y":25,"d":[[24,14," "]],"x":15,"t":1305115378.61826},{"y":25,"d":[[24,13," "]],"x":14,"t":1305115378.79438},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115378.92233},{"y":25,"x":16,"t":1305115379.01018},{"y":25,"d":[[24,15,"c"]],"x":17,"t":1305115379.21051},{"y":25,"d":[[24,16,"l"]],"x":18,"t":1305115379.33028},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305115379.41025},{"y":25,"d":[[24,18,"a"]],"x":20,"t":1305115379.54628},{"y":25,"d":[[24,19,"n"]],"x":21,"t":1305115379.78624},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",5,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",5,18],["cp",20,19],["cp",21,20],["cp",5,21],["cp",23,22],["cp",24,23],["cp",5,24]],"x":1,"t":1305115380.11421},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",4,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",4,17],["cp",19,18],["cp",20,19],["cp",4,20],["cp",22,21],["cp",23,22],[23,0,27,"rm -f hello main.o version.h"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305115380.12204},{"y":25,"d":[[24,10,"m"]],"x":12,"t":1305115381.04209},{"y":25,"d":[[24,11,"a"]],"x":13,"t":1305115381.09003},{"y":25,"d":[[24,12,"k"]],"x":14,"t":1305115381.20991},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115381.24202},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",3,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",3,16],["cp",18,17],["cp",19,18],["cp",3,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"t":1305115381.39397},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",1,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",1,14],["cp",17,15],["cp",18,16],["cp",1,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,27,"version.h.in => version.h "],[23,0,24,"cc -c -o main.o main.c"]],"x":1,"t":1305115381.41807},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",0,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,3,9,"-o hell"],[23,19,24,["a"," "]]],"x":1,"t":1305115381.70081},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305115381.71629},{"y":25,"d":[[24,10,"."]],"x":12,"t":1305115382.20195},{"y":25,"d":[[24,11,"/"]],"x":13,"t":1305115382.39398},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305115382.60983},{"y":25,"d":[[24,13,"e"]],"x":15,"t":1305115382.74589},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305115382.85818},{"y":25,"d":[[24,15,16,"lo"]],"x":19,"t":1305115383.11433},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",4,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"t":1305115383.52992},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",2,10],["cp",13,11],["cp",14,12],["cp",2,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,17,"Hello, world. "],[23,0,18,"version: hello_1.0."],[24,0,8,"bash-3.2$"]],"x":11,"t":1305115383.53445},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305115385.72202},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305115385.81003},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305115385.88999},{"y":25,"x":15,"t":1305115385.97005},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305115386.13791},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305115386.28177},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305115386.40997},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305115386.56983},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305115386.68985},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305115386.76981},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",1,24]],"x":1,"t":1305115386.92974},{"y":25,"d":[["cp",8,0],["cp",10,2],["cp",11,3],["cp",1,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],["cp",23,15],[16,0,17,"# On branch master"],[17,0,24,"# Untracked files: "],[18,0,65,"# (use \"git add ...\" to include in what will be committed)"],[19,0,17,"# "],[20,0,16,"# hello "],[21,0,13,"# main.o"],[22,0,18,"# version.h "],[23,0,75,"nothing added to commit but untracked files present (use \"git add\" to track)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[[20,8,12,["a","1"]],[21,8,13,["a","1"]],[22,8,16,["a","1"]]],"t":1305115386.93817},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,75,"bash-3.2$ exit "],["cp",0,24]],"x":1,"f":[["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305115390.72347}]} \ No newline at end of file diff --git a/html/part2/ch10-08-ignore.html b/html/part2/ch10-08-ignore.html deleted file mode 100644 index 40262637a..000000000 --- a/html/part2/ch10-08-ignore.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch10-08-ignore -json_file: ch10-08-ignore.json ---- diff --git a/html/part2/ch10-08-ignore.json b/html/part2/ch10-08-ignore.json deleted file mode 100644 index e6a03052a..000000000 --- a/html/part2/ch10-08-ignore.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116148.03797,"i":1},{"y":1,"d":[[0,10,39,"cd /path/to/my/workspace/demo/"]],"x":11,"t":1305116148.4776},{"y":2,"x":1,"t":1305116148.94122},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305116148.94148},{"y":2,"d":[[1,10,"l"]],"x":12,"t":1305116149.51054},{"y":2,"d":[[1,11,"s"]],"x":13,"t":1305116149.58134},{"y":2,"x":14,"t":1305116149.67746},{"y":2,"d":[[1,13,"-"]],"x":15,"t":1305116149.8613},{"y":2,"d":[[1,14,"F"]],"x":16,"t":1305116150.33336},{"y":3,"x":1,"t":1305116150.49324},{"y":4,"d":[[2,0,11,"README src/"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305116150.4993},{"y":4,"d":[[3,10,"g"]],"x":12,"t":1305116152.65303},{"y":4,"d":[[3,11,"i"]],"x":13,"t":1305116152.7413},{"y":4,"d":[[3,12,"t"]],"x":14,"t":1305116152.84525},{"y":4,"x":15,"t":1305116152.91722},{"y":4,"d":[[3,14,"s"]],"x":16,"t":1305116153.03735},{"y":4,"d":[[3,15,"t"]],"x":17,"t":1305116153.29322},{"y":4,"d":[[3,16,"a"]],"x":18,"t":1305116153.78914},{"y":4,"d":[[3,17,"t"]],"x":19,"t":1305116153.9652},{"y":4,"d":[[3,18,"u"]],"x":20,"t":1305116154.04502},{"y":4,"d":[[3,19,"s"]],"x":21,"t":1305116154.13373},{"y":4,"x":22,"t":1305116154.26923},{"y":4,"d":[[3,21,"-"]],"x":23,"t":1305116154.35719},{"y":4,"d":[[3,22,"s"]],"x":24,"t":1305116154.50908},{"y":5,"x":1,"t":1305116154.66117},{"y":8,"d":[[4,0,11,"?? src/hello"],[5,0,12,"?? src/main.o"],[6,0,15,"?? src/version.h"],[7,0,8,"bash-3.2$"]],"x":11,"f":[[4,0,1,["a","1"]],["cp",4,5],["cp",4,6]],"t":1305116154.67044},{"y":8,"d":[[7,10,"c"]],"x":12,"t":1305116156.14905},{"y":8,"d":[[7,11,"a"]],"x":13,"t":1305116156.2612},{"y":8,"d":[[7,12,"t"]],"x":14,"t":1305116156.32513},{"y":8,"x":15,"t":1305116156.41301},{"y":8,"d":[[7,14,">"]],"x":16,"t":1305116156.65316},{"y":8,"x":17,"t":1305116156.7653},{"y":8,"d":[[7,16,"."]],"x":18,"t":1305116156.93321},{"y":8,"d":[[7,17,"g"]],"x":19,"t":1305116157.07697},{"y":8,"d":[[7,18,"i"]],"x":20,"t":1305116157.18098},{"y":8,"d":[[7,19,"t"]],"x":21,"t":1305116157.27691},{"y":8,"d":[[7,20,"i"]],"x":22,"t":1305116157.55693},{"y":8,"d":[[7,21,"g"]],"x":23,"t":1305116157.69299},{"y":8,"d":[[7,22,"n"]],"x":24,"t":1305116157.79697},{"y":8,"d":[[7,23,"o"]],"x":25,"t":1305116157.93311},{"y":8,"d":[[7,24,"r"]],"x":26,"t":1305116158.0128},{"y":8,"d":[[7,25,"e"]],"x":27,"t":1305116158.15172},{"y":8,"x":28,"t":1305116158.23703},{"y":8,"d":[[7,27,"<"]],"x":29,"t":1305116158.56529},{"y":8,"d":[[7,28,"<"]],"x":30,"t":1305116158.74109},{"y":8,"x":31,"t":1305116158.91708},{"y":8,"d":[[7,30,"E"]],"x":32,"t":1305116159.39696},{"y":8,"d":[[7,31,"O"]],"x":33,"t":1305116159.50079},{"y":8,"d":[[7,32,"F"]],"x":34,"t":1305116159.60498},{"y":9,"x":1,"t":1305116160.15779},{"y":9,"d":[[8,0,">"]],"x":3,"t":1305116160.15792},{"y":9,"d":[[8,2,"h"]],"x":4,"t":1305116160.83727},{"y":9,"d":[[8,3,"e"]],"x":5,"t":1305116160.90098},{"y":9,"d":[[8,4,"l"]],"x":6,"t":1305116161.02096},{"y":9,"d":[[8,5,"l"]],"x":7,"t":1305116161.18078},{"y":9,"d":[[8,6,"o"]],"x":8,"t":1305116161.35667},{"y":10,"x":1,"t":1305116161.98872},{"y":10,"d":[[9,0,">"]],"x":3,"t":1305116161.98882},{"y":10,"d":[[9,2,"*"]],"x":4,"t":1305116162.42919},{"y":10,"d":[[9,3,"."]],"x":5,"t":1305116162.63693},{"y":10,"d":[[9,4,"o"]],"x":6,"t":1305116163.46916},{"y":11,"d":[[10,0,">"]],"x":3,"t":1305116163.8769},{"y":11,"d":[[10,2,"*"]],"x":4,"t":1305116164.309},{"y":11,"d":[[10,3,"."]],"x":5,"t":1305116164.55685},{"y":11,"d":[[10,4,"h"]],"x":6,"t":1305116164.7729},{"y":12,"x":1,"t":1305116165.23682},{"y":12,"d":[[11,0,">"]],"x":3,"t":1305116165.23692},{"y":12,"d":[[11,2,"E"]],"x":4,"t":1305116165.79683},{"y":12,"d":[[11,3,"O"]],"x":5,"t":1305116165.90084},{"y":12,"d":[[11,4,"F"]],"x":6,"t":1305116166.01289},{"y":13,"x":1,"t":1305116166.39653},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305116166.4017},{"y":13,"d":[[12,10,"c"]],"x":12,"t":1305116166.98891},{"y":13,"d":[[12,11,"a"]],"x":13,"t":1305116167.07652},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305116167.15781},{"y":13,"x":15,"t":1305116167.26882},{"y":13,"d":[[12,14,"."]],"x":16,"t":1305116167.38059},{"y":13,"d":[[12,15,"g"]],"x":17,"t":1305116167.48479},{"y":13,"d":[[12,16,"i"]],"x":18,"t":1305116167.59681},{"y":13,"d":[[12,17,"t"]],"x":19,"t":1305116168.06862},{"y":13,"d":[[12,18,"i"]],"x":20,"t":1305116168.35058},{"y":13,"d":[[12,19,"g"]],"x":21,"t":1305116168.72489},{"y":13,"d":[[12,20,23,"nore"]],"x":26,"t":1305116169.03787},{"y":14,"x":1,"t":1305116169.5006},{"y":17,"d":[[13,0,4,"hello"],[14,0,2,"*.o"],[15,0,2,"*.h"],[16,0,8,"bash-3.2$"]],"x":11,"t":1305116169.505},{"y":17,"d":[[16,10,"g"]],"x":12,"t":1305116169.85284},{"y":17,"d":[[16,11,"i"]],"x":13,"t":1305116169.9566},{"y":17,"d":[[16,12,"t"]],"x":14,"t":1305116170.04458},{"y":17,"x":15,"t":1305116170.08482},{"y":17,"d":[[16,14,"s"]],"x":16,"t":1305116170.22837},{"y":17,"d":[[16,15,"t"]],"x":17,"t":1305116170.46064},{"y":17,"d":[[16,16,"a"]],"x":18,"t":1305116170.5885},{"y":17,"d":[[16,17,"t"]],"x":19,"t":1305116170.70066},{"y":17,"d":[[16,18,"u"]],"x":20,"t":1305116170.86852},{"y":17,"d":[[16,19,"s"]],"x":21,"t":1305116170.89257},{"y":17,"x":22,"t":1305116171.03659},{"y":17,"d":[[16,21,"-"]],"x":23,"t":1305116171.16451},{"y":17,"d":[["cp",3,16]],"x":24,"t":1305116171.26873},{"y":18,"x":1,"t":1305116171.55653},{"y":19,"d":[[17,0,12,"?? .gitignore"],[18,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,17]],"t":1305116171.56581},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo/ "],["r","bash-3.2$ ls -F "],["r","README src/ "],["r","bash-3.2$ git status -s "],["r","?? src/hello "],["r","?? src/main.o "],["r","?? src/version.h "],["r","bash-3.2$ cat > .gitignore << EOF "],["r","> hello "],["r","> *.o "],["r","> *.h "],["r","> EOF "],["r","bash-3.2$ cat .gitignore "],["r","hello "],["r","*.o "],["r","*.h "],["r","bash-3.2$ git status -s "],["r","?? .gitignore "],["r","bash-3.2$ g "],["a"," "],"d","d","d","d","d"],"x":12,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":19,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d","d","d","d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116172.33261,"i":1},{"y":19,"d":[[18,11,"i"]],"x":13,"t":1305116172.41239},{"y":19,"d":[[18,12,"t"]],"x":14,"t":1305116172.5164},{"y":19,"x":15,"t":1305116172.58839},{"y":19,"d":[[18,14,"a"]],"x":16,"t":1305116172.72449},{"y":19,"d":[[18,15,"d"]],"x":17,"t":1305116172.93239},{"y":19,"d":[[18,16,"d"]],"x":18,"t":1305116173.11673},{"y":19,"x":19,"t":1305116173.20476},{"y":19,"d":[[18,18,"-"]],"x":20,"t":1305116173.78847},{"y":19,"d":[[18,19,"A"]],"x":21,"t":1305116174.10042},{"y":20,"x":1,"t":1305116174.23632},{"y":20,"d":[[19,0,8,"bash-3.2$"]],"x":11,"t":1305116174.24313},{"y":20,"d":[[19,10,"g"]],"x":12,"t":1305116174.65226},{"y":20,"d":[[19,11,"i"]],"x":13,"t":1305116174.73227},{"y":20,"d":[[19,12,"t"]],"x":14,"t":1305116174.83624},{"y":20,"x":15,"t":1305116174.89243},{"y":20,"d":[[19,14,"s"]],"x":16,"t":1305116175.02038},{"y":20,"d":[[19,15,"t"]],"x":17,"t":1305116175.15668},{"y":20,"d":[[19,16,"a"]],"x":18,"t":1305116175.30034},{"y":20,"d":[[19,17,"t"]],"x":19,"t":1305116175.42041},{"y":20,"d":[[19,18,"u"]],"x":20,"t":1305116175.53285},{"y":20,"d":[[19,19,"s"]],"x":21,"t":1305116175.62057},{"y":20,"x":22,"t":1305116175.82041},{"y":20,"d":[[19,21,"-"]],"x":23,"t":1305116175.9802},{"y":20,"d":[["cp",3,19]],"x":24,"t":1305116176.1243},{"y":21,"x":1,"t":1305116176.23624},{"y":22,"d":[[20,0,12,"A .gitignore"],[21,0,8,"bash-3.2$"]],"x":11,"f":[[20,0,"2"]],"t":1305116176.2449},{"y":22,"d":[[21,10,"g"]],"x":12,"t":1305116176.76451},{"y":22,"d":[[21,11,"i"]],"x":13,"t":1305116176.82839},{"y":22,"d":[[21,12,"t"]],"x":14,"t":1305116176.94036},{"y":22,"x":15,"t":1305116176.9802},{"y":22,"d":[[21,14,"c"]],"x":16,"t":1305116177.16435},{"y":22,"d":[[21,15,"o"]],"x":17,"t":1305116177.2362},{"y":22,"d":[[21,16,"m"]],"x":18,"t":1305116177.4122},{"y":22,"d":[[21,17,"m"]],"x":19,"t":1305116177.57243},{"y":22,"d":[[21,18,"i"]],"x":20,"t":1305116177.74851},{"y":22,"d":[[21,19,"t"]],"x":21,"t":1305116177.80442},{"y":22,"x":22,"t":1305116177.8923},{"y":22,"d":[[21,21,"-"]],"x":23,"t":1305116178.02837},{"y":22,"d":[[21,22,"m"]],"x":24,"t":1305116178.2446},{"y":22,"x":25,"t":1305116178.42013},{"y":22,"d":[[21,24,"\""]],"x":26,"t":1305116178.95654},{"y":22,"d":[[21,25,"i"]],"x":27,"t":1305116181.46033},{"y":22,"d":[[21,26,"g"]],"x":28,"t":1305116181.54829},{"y":22,"d":[[21,27,"n"]],"x":29,"t":1305116181.9401},{"y":22,"d":[[21,28,"o"]],"x":30,"t":1305116182.07621},{"y":22,"d":[[21,29,"r"]],"x":31,"t":1305116182.18024},{"y":22,"d":[[21,30,"e"]],"x":32,"t":1305116182.33209},{"y":22,"x":33,"t":1305116182.42012},{"y":22,"d":[[21,32,"o"]],"x":34,"t":1305116182.68419},{"y":22,"d":[[21,33,"b"]],"x":35,"t":1305116182.82814},{"y":22,"d":[[21,34,"j"]],"x":36,"t":1305116182.90807},{"y":22,"d":[[21,35,"e"]],"x":37,"t":1305116183.05218},{"y":22,"d":[[21,36,"c"]],"x":38,"t":1305116183.22808},{"y":22,"d":[[21,37,"t"]],"x":39,"t":1305116183.36409},{"y":22,"x":40,"t":1305116183.54024},{"y":22,"d":[[21,39,"f"]],"x":41,"t":1305116183.70807},{"y":22,"d":[[21,40,"i"]],"x":42,"t":1305116183.77189},{"y":22,"d":[[21,41,"l"]],"x":43,"t":1305116183.87618},{"y":22,"d":[[21,42,"e"]],"x":44,"t":1305116183.9},{"y":22,"d":[[21,43,"s"]],"x":45,"t":1305116184.04391},{"y":22,"d":[[21,44,"."]],"x":46,"t":1305116184.13212},{"y":22,"d":[[21,45,"."]],"x":47,"t":1305116184.32428},{"y":22,"d":[[21,46,"."]],"x":48,"t":1305116184.48405},{"y":22,"d":[[21,47,"\""]],"x":49,"t":1305116184.92412},{"y":23,"x":1,"t":1305116185.16407},{"y":24,"d":[[22,0,38,"[master 211cb82] ignore object files..."]],"x":1,"t":1305116185.46275},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",2,18],["cp",20,19],["cp",21,20],["cp",22,21],[22,0,48," 1 files changed, 3 insertions(+), 0 deletions(-)"],[23,1,29,"create mode 100644 .gitignore"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",0,6],["cp",3,16],["cp",0,17],["cp",20,19],["cp",0,20]],"t":1305116185.46439},{"y":25,"d":[[24,10,"i"]],"x":12,"t":1305116187.29183},{"y":25,"d":[[24,10," "]],"x":11,"t":1305116187.71576},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116187.82799},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116187.92382},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116188.0039},{"y":25,"x":15,"t":1305116188.08398},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116188.23622},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116188.37199},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116188.48383},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116188.59576},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116188.65988},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305116188.76381},{"y":25,"x":22,"t":1305116188.89201},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116188.96372},{"y":25,"d":[["cp",2,24]],"x":24,"t":1305116189.1399},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",1,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",1,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,5],["cp",2,15],["cp",0,16],["cp",19,18],["cp",0,19]],"t":1305116189.24409},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305116189.25256},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116191.53202},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116191.57193},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116191.69169},{"y":25,"x":15,"t":1305116191.75581},{"y":25,"d":[[24,14,"m"]],"x":16,"t":1305116191.91574},{"y":25,"d":[[24,15,"v"]],"x":17,"t":1305116192.01983},{"y":25,"x":18,"t":1305116192.21182},{"y":25,"d":[[24,17,"."]],"x":19,"t":1305116192.59595},{"y":25,"d":[[24,18,"g"]],"x":20,"t":1305116192.71558},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305116192.80389},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305116192.96233},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305116193.49183},{"y":25,"d":[[24,22,26,"gnore"]],"x":28,"t":1305116193.61833},{"y":25,"x":29,"t":1305116194.64403},{"y":25,"x":28,"t":1305116196.53144},{"d":[["r","README src/ "],["r","bash-3.2$ git status -s "],["r","?? src/hello "],["r","?? src/main.o "],["r","?? src/version.h "],["r","bash-3.2$ cat > .gitignore << EOF "],["r","> hello "],["r","> *.o "],["r","> *.h "],["r","> EOF "],["r","bash-3.2$ cat .gitignore "],["r","hello "],["r","*.o "],["r","*.h "],["r","bash-3.2$ git status -s "],["r","?? .gitignore "],["r","bash-3.2$ git add -A "],["r","bash-3.2$ git status -s "],["r","A .gitignore "],["r","bash-3.2$ git commit -m \"ignore object files...\" "],["r","[master 211cb82] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 .gitignore "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ git mv .gitignor "]],"x":27,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d","d","d","d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116197.03153,"i":1},{"y":25,"d":[[24,25," "]],"x":26,"t":1305116197.11508},{"y":25,"d":[[24,24," "]],"x":25,"t":1305116197.19866},{"y":25,"d":[[24,23," "]],"x":24,"t":1305116197.28197},{"y":25,"d":[[24,22," "]],"x":23,"t":1305116197.36538},{"y":25,"d":[[24,21," "]],"x":22,"t":1305116197.44902},{"y":25,"d":[[24,20," "]],"x":21,"t":1305116197.53234},{"y":25,"d":[[24,19," "]],"x":20,"t":1305116197.61576},{"y":25,"d":[[24,18," "]],"x":19,"t":1305116197.69918},{"y":25,"d":[[24,17," "]],"x":18,"t":1305116197.78245},{"y":25,"x":17,"t":1305116197.86593},{"y":25,"d":[[24,15," "]],"x":16,"t":1305116197.9493},{"y":25,"d":[[24,14," "]],"x":15,"t":1305116198.03256},{"y":25,"x":14,"t":1305116198.1162},{"y":25,"d":[[24,12," "]],"x":13,"t":1305116198.20039},{"y":25,"d":[[24,11," "]],"x":12,"t":1305116198.28294},{"y":25,"d":[[24,10," "]],"x":11,"t":1305116198.3665},{"y":25,"x":11,"t":1305116198.45085},{"y":25,"x":11,"t":1305116198.53336},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,4],["cp",1,14],["cp",0,15],["cp",18,17],["cp",0,18]],"t":1305116198.81947},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305116198.8196},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305116199.21146},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305116199.30738},{"y":25,"x":14,"t":1305116199.39537},{"y":25,"d":[[24,13,"-"]],"x":15,"t":1305116199.56364},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305116199.88353},{"y":25,"d":[[24,15,"F"]],"x":17,"t":1305116200.26756},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",12,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",0,13],["cp",3,14],["cp",17,16],["cp",3,17]],"t":1305116200.45152},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",11,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],[23,0,39,"./ ../ .git/ .gitignore README src/"],["cp",21,24]],"x":11,"f":[["cp",3,2],["cp",0,12],["cp",2,13],["cp",16,15],["cp",2,16]],"t":1305116200.45838},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116201.13946},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116201.21136},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116201.29938},{"y":25,"x":15,"t":1305116201.3794},{"y":25,"d":[[24,14,"m"]],"x":16,"t":1305116201.70745},{"y":25,"d":[[24,15,"v"]],"x":17,"t":1305116201.7955},{"y":25,"x":18,"t":1305116201.91632},{"y":25,"d":[[24,17,"."]],"x":19,"t":1305116202.25919},{"y":25,"d":[[24,18,"g"]],"x":20,"t":1305116202.37926},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305116202.46747},{"y":25,"d":[[24,20,"t"]],"x":22,"t":1305116202.6338},{"y":25,"d":[[24,21,"i"]],"x":23,"t":1305116203.13277},{"y":25,"d":[[24,22,26,"gnore"]],"x":28,"t":1305116203.26566},{"y":25,"x":29,"t":1305116203.86726},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305116204.12318},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305116204.24326},{"y":25,"d":[[24,30,"c"]],"x":32,"t":1305116204.44317},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",10,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",10,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,11],["cp",1,12],["cp",15,14],["cp",1,15]],"t":1305116204.64336},{"y":25,"d":[["cp",20,24]],"x":11,"t":1305116204.65266},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116205.4353},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116205.54726},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116205.63521},{"y":25,"x":15,"t":1305116205.69144},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116205.86746},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116206.05908},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116206.13927},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116206.2995},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116206.37922},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305116206.47509},{"y":25,"x":22,"t":1305116206.64329},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116206.82702},{"y":25,"d":[["cp",10,24]],"x":24,"t":1305116206.96363},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",9,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",9,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",9,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",11,10],["cp",0,11],["cp",14,13],["cp",0,14]],"t":1305116207.09909},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",8,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",8,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",8,22],[23,0,30,"R .gitignore -> src/.gitignore"],["cp",18,24]],"x":11,"f":[["cp",10,9],["cp",0,10],["cp",13,12],["cp",0,13],["cp",12,23]],"t":1305116207.10732},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116209.05131},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116209.13123},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116209.259},{"y":25,"x":15,"t":1305116209.27518},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305116209.48319},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305116209.55514},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305116209.73102},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305116209.89913},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305116210.06007},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305116210.10716},{"y":25,"x":22,"t":1305116210.19494},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116210.35502},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305116210.60294},{"y":25,"x":25,"t":1305116210.73123},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305116211.0673},{"y":25,"d":[[24,25,"i"]],"x":27,"t":1305116212.33913},{"y":25,"d":[[24,26,"g"]],"x":28,"t":1305116212.45086},{"y":25,"d":[[24,27,"n"]],"x":29,"t":1305116212.78705},{"y":25,"d":[[24,28,"o"]],"x":30,"t":1305116212.92288},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305116212.94699},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305116213.09112},{"y":25,"x":33,"t":1305116213.24288},{"y":25,"d":[[24,32,"w"]],"x":34,"t":1305116213.77901},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305116213.88293},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305116213.94686},{"y":25,"d":[[24,35,"k"]],"x":37,"t":1305116214.0669},{"y":25,"d":[[24,36,"s"]],"x":38,"t":1305116214.3867},{"y":25,"x":39,"t":1305116214.88301},{"y":25,"d":[[24,38,"e"]],"x":40,"t":1305116216.195},{"y":25,"d":[[24,39,"v"]],"x":41,"t":1305116216.65867},{"y":25,"d":[[24,40,"e"]],"x":42,"t":1305116216.83493},{"y":25,"d":[[24,41,"n"]],"x":43,"t":1305116216.92293},{"y":25,"x":44,"t":1305116217.05065},{"y":25,"d":[[24,43,"m"]],"x":45,"t":1305116217.33875},{"y":25,"d":[[24,44,"o"]],"x":46,"t":1305116217.48304},{"y":25,"d":[[24,45,"v"]],"x":47,"t":1305116217.55478},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305116217.71476},{"d":[["r","> hello "],["r","> *.o "],["r","> *.h "],["r","> EOF "],["r","bash-3.2$ cat .gitignore "],["r","hello "],["r","*.o "],["r","*.h "],["r","bash-3.2$ git status -s "],["r","?? .gitignore "],["r","bash-3.2$ git add -A "],["r","bash-3.2$ git status -s "],["r","A .gitignore "],["r","bash-3.2$ git commit -m \"ignore object files...\" "],["r","[master 211cb82] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 .gitignore "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ "],["r","bash-3.2$ ls -aF "],["r","./ ../ .git/ .gitignore README src/ "],["r","bash-3.2$ git mv .gitignore src "],["r","bash-3.2$ git status -s "],["r","R .gitignore -> src/.gitignore "],["r","bash-3.2$ git commit -m \"ignore works even move "]],"x":49,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116217.80269,"i":1},{"y":25,"d":[[24,48,"."]],"x":50,"t":1305116217.98665},{"y":25,"d":[[24,49,"g"]],"x":51,"t":1305116218.10674},{"y":25,"d":[[24,50,"i"]],"x":52,"t":1305116218.22673},{"y":25,"d":[[24,51,"t"]],"x":53,"t":1305116218.3306},{"y":25,"d":[[24,52,"i"]],"x":54,"t":1305116219.17879},{"y":25,"d":[[24,53,"g"]],"x":55,"t":1305116219.3066},{"y":25,"d":[[24,54,"n"]],"x":56,"t":1305116219.4198},{"y":25,"d":[[24,55,"o"]],"x":57,"t":1305116219.56257},{"y":25,"d":[[24,56,"r"]],"x":58,"t":1305116219.59462},{"y":25,"d":[[24,57,"e"]],"x":59,"t":1305116219.73063},{"y":25,"x":60,"t":1305116219.84264},{"y":25,"d":[[24,59,"t"]],"x":61,"t":1305116220.05876},{"y":25,"d":[[24,60,"o"]],"x":62,"t":1305116220.13858},{"y":25,"x":63,"t":1305116220.27465},{"y":25,"d":[[24,62,"s"]],"x":64,"t":1305116220.48291},{"y":25,"d":[[24,63,"u"]],"x":65,"t":1305116220.65081},{"y":25,"d":[[24,64,"b"]],"x":66,"t":1305116220.72265},{"y":25,"d":[[24,65,"d"]],"x":67,"t":1305116220.95455},{"y":25,"d":[[24,66,"i"]],"x":68,"t":1305116221.05861},{"y":25,"d":[[24,67,"r"]],"x":69,"t":1305116221.14658},{"y":25,"d":[[24,68,"."]],"x":70,"t":1305116221.33875},{"y":25,"d":[[24,69,"\""]],"x":71,"t":1305116221.77067},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",7,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",7,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",9,8],["cp",0,9],["cp",12,11],["cp",0,12],["cp",11,22],["cp",0,23]],"t":1305116221.96248},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",4,13],["cp",17,14],["cp",18,15],["cp",19,16],["cp",20,17],["cp",4,18],["cp",22,19],["cp",23,20],[21,0,60,"[master 4ad14d4] ignore works even move .gitignore to subdir."],[22,0,48," 1 files changed, 0 insertions(+), 0 deletions(-)"],[23,0,69," rename .gitignore => src/.gitignore (100%) "],["cp",14,24]],"x":11,"f":[["cp",8,5],["cp",11,8],["cp",0,11],["cp",8,19],["cp",0,22]],"t":1305116221.97417},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116225.1866},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116225.27447},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116225.3706},{"y":25,"x":15,"t":1305116225.41836},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116225.53034},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116225.66629},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116225.77858},{"y":25,"d":[[24,17,"q"]],"x":19,"t":1305116225.78669},{"y":25,"d":[[24,17," "]],"x":18,"t":1305116226.49832},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116226.76238},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116226.93034},{"y":25,"d":[[24,19,"s"]],"x":22,"t":1305116227.46394},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305116227.61057},{"y":25,"d":[[24,21," "]],"x":22,"t":1305116228.13828},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116228.36261},{"y":25,"d":[["cp",4,24]],"x":24,"t":1305116228.49019},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",3,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",3,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",8,7],["cp",0,8],["cp",7,18],["cp",0,19]],"t":1305116228.67436},{"y":25,"d":[["cp",13,24]],"x":11,"t":1305116228.68776},{"y":25,"d":[[24,10,"c"]],"x":12,"t":1305116230.85835},{"y":25,"d":[[24,11,"d"]],"x":13,"t":1305116231.04216},{"y":25,"x":14,"t":1305116231.09837},{"y":25,"d":[[24,13,"s"]],"x":15,"t":1305116231.43436},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305116231.57824},{"y":25,"d":[[24,15,"c"]],"x":17,"t":1305116231.77851},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",2,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",2,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",7,6],["cp",0,7],["cp",6,17],["cp",0,18]],"t":1305116232.1223},{"y":25,"d":[["cp",12,24]],"x":11,"t":1305116232.1226},{"y":25,"d":[[24,10,"l"]],"x":12,"t":1305116234.06604},{"y":25,"d":[[24,11,"s"]],"x":13,"t":1305116234.13008},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",1,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",1,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",0,6],["cp",5,16],["cp",0,17]],"t":1305116234.29004},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20],["cp",22,21],["cp",23,22],[23,0,55,"Makefile hello main.c main.o version.h version.h.in"],["cp",10,24]],"x":11,"f":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",4,15],["cp",0,16]],"t":1305116234.29666},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305116234.76196},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305116234.96196},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305116235.02617},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305116235.1382},{"y":25,"x":16,"t":1305116235.25004},{"y":25,"d":[[24,15,"'"]],"x":17,"t":1305116237.29016},{"y":25,"d":[[24,16,"/"]],"x":18,"t":1305116237.63434},{"y":25,"d":[[24,17,"*"]],"x":19,"t":1305116238.01012},{"y":25,"x":20,"t":1305116238.62617},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305116238.96217},{"y":25,"d":[[24,20,"e"]],"x":22,"t":1305116239.17784},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305116239.54595},{"y":25,"d":[[24,22,"t"]],"x":24,"t":1305116239.6898},{"y":25,"x":25,"t":1305116240.21011},{"y":25,"d":[[24,24,"*"]],"x":26,"t":1305116240.81011},{"y":25,"d":[[24,25,"/"]],"x":27,"t":1305116241.32997},{"y":25,"d":[[24,26,"'"]],"x":28,"t":1305116241.69003},{"y":25,"x":29,"t":1305116242.04976},{"y":25,"d":[[24,28,">"]],"x":30,"t":1305116242.38601},{"y":25,"x":31,"t":1305116243.29781},{"y":25,"d":[[24,30,"h"]],"x":32,"t":1305116243.93765},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305116243.98574},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305116244.11386},{"y":25,"d":[[24,33,"l"]],"x":35,"t":1305116244.28165},{"y":25,"d":[[24,34,"o"]],"x":36,"t":1305116244.45766},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305116244.65783},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305116244.83371},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",2,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",2,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",1,4],["cp",3,14],["cp",1,15]],"t":1305116245.04956},{"y":25,"d":[["cp",9,24]],"x":11,"t":1305116245.05006},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116245.90762},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116246.00166},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116246.11349},{"y":25,"x":15,"t":1305116246.16962},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116246.31396},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116246.44998},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116246.5615},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116246.67377},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116246.75361},{"y":25,"d":[[24,19,"s"]],"x":21,"t":1305116246.84165},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",1,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",3,2],["cp",0,3],["cp",2,13],["cp",0,14]],"t":1305116246.97751},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",5,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",5,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,36,"# On branch master "],[23,0,42,"nothing to commit (working directory clean)"],["cp",6,24]],"x":11,"f":[["cp",2,0],["cp",1,2],["cp",0,11],["cp",1,13]],"t":1305116246.98745},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116248.43391},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116248.52952},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116248.63377},{"y":25,"x":15,"t":1305116248.69755},{"d":[["r","A .gitignore "],["r","bash-3.2$ git commit -m \"ignore object files...\" "],["r","[master 211cb82] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 .gitignore "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ "],["r","bash-3.2$ ls -aF "],["r","./ ../ .git/ .gitignore README src/ "],["r","bash-3.2$ git mv .gitignore src "],["r","bash-3.2$ git status -s "],["r","R .gitignore -> src/.gitignore "],["r","bash-3.2$ git commit -m \"ignore works even move .gitignore to subdir.\" "],["r","[master 4ad14d4] ignore works even move .gitignore to subdir. "],["r"," 1 files changed, 0 insertions(+), 0 deletions(-) "],["r"," rename .gitignore => src/.gitignore (100%) "],["r","bash-3.2$ git status -s "],["r","bash-3.2$ cd src "],["r","bash-3.2$ ls "],["r","Makefile hello main.c main.o version.h version.h.in "],["r","bash-3.2$ echo '/* test */' > hello.h "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git s "]],"x":16,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116249.88145,"i":1},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116250.04173},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116250.19395},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116250.28143},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116250.3618},{"y":25,"d":[["cp",21,24]],"x":21,"t":1305116250.44163},{"y":25,"x":22,"t":1305116250.59364},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116250.67366},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305116250.84147},{"y":25,"d":[[24,23,"i"]],"x":25,"t":1305116251.04152},{"y":25,"d":[[24,24,"g"]],"x":26,"t":1305116251.18567},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305116251.27347},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305116251.41755},{"y":25,"d":[[24,27,"r"]],"x":29,"t":1305116251.48148},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305116251.61745},{"y":25,"x":31,"t":1305116251.74529},{"y":25,"x":30,"t":1305116252.21748},{"y":25,"d":[[24,29,"d"]],"x":31,"t":1305116252.29748},{"y":25,"x":32,"t":1305116252.38548},{"y":25,"d":[[24,31,"s"]],"x":33,"t":1305116252.76956},{"y":25,"d":[[24,31," "]],"x":32,"t":1305116253.12122},{"y":25,"d":[[24,31,"-"]],"x":33,"t":1305116253.34549},{"y":25,"d":[[24,32,"s"]],"x":34,"t":1305116253.45737},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",4,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",4,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",11,10],["cp",0,11]],"t":1305116253.68939},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",0,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",0,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",21,17],["cp",22,18],["cp",23,19],[20,0,19,"!! hello "],[21,0,17,"!! hello.h "],[22,0,42,"!! main.o "],[23,0,32,"!! version.h "],["cp",1,24]],"x":11,"f":[["cp",10,6],["cp",0,10],[20,0,1,["a","1"]],["cp",20,21],["cp",20,22],["cp",20,23]],"t":1305116253.69836},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116254.49721},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116254.5613},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116254.67334},{"y":25,"x":15,"t":1305116254.72949},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305116254.86526},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305116255.04924},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305116255.20939},{"y":25,"x":19,"t":1305116255.2893},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305116255.40928},{"y":25,"d":[[24,19,"A"]],"x":21,"t":1305116255.90564},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",6,5],["cp",0,6],["cp",20,19],["cp",0,23]],"t":1305116256.06539},{"y":25,"d":[["cp",0,24]],"x":11,"t":1305116256.07191},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116256.49726},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116256.56149},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116256.67334},{"y":25,"x":15,"t":1305116256.72955},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305116256.84146},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305116256.99342},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305116257.16137},{"y":25,"x":19,"t":1305116257.24125},{"y":25,"d":[[24,18,"."]],"x":20,"t":1305116257.34529},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",5,4],["cp",0,5],["cp",19,18],["cp",0,22]],"t":1305116257.55337},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305116257.56151},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116257.90518},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116258.00207},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116258.0892},{"y":25,"x":15,"t":1305116258.1454},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116258.31322},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116258.42518},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116258.53724},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116258.66518},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116258.69739},{"y":25,"d":[["cp",14,24]],"x":21,"t":1305116258.83325},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",13,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",0,4],["cp",18,17],["cp",0,21]],"t":1305116260.59294},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",0,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",11,21],["cp",12,22],["cp",13,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,1],["cp",0,3],["cp",17,15],["cp",15,16],["cp",0,19],["cp",0,20]],"t":1305116260.60463},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116262.72118},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116262.86514},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116263.24896},{"y":25,"x":15,"t":1305116263.52913},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305116263.73698},{"y":25,"d":[[24,15,"d"]],"x":17,"t":1305116263.92096},{"y":25,"d":[[24,16,"d"]],"x":18,"t":1305116264.10513},{"y":25,"x":19,"t":1305116264.1769},{"y":25,"d":[[24,18,"h"]],"x":20,"t":1305116264.38498},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305116264.46486},{"y":25,"d":[[24,20,"l"]],"x":22,"t":1305116264.60107},{"y":25,"d":[[24,21,22,"lo"]],"x":24,"t":1305116264.78664},{"y":25,"d":[[24,23,"."]],"x":25,"t":1305116265.36909},{"y":25,"d":[[24,24,"h"]],"x":26,"t":1305116265.56104},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",10,20],["cp",11,21],["cp",12,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",15,14],["cp",1,18]],"t":1305116265.82475},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",6,16],["cp",7,17],["cp",8,18],["cp",23,19],[20,0,63,"The following paths are ignored by one of your .gitignore files:"],[21,0,17,"src/hello.h "],[22,0,42,"Use -f if you really want to add them. "],[23,0,24,"fatal: no files added "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",14,10],["cp",10,11],["cp",10,12],["cp",10,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17]],"t":1305116265.83347},{"y":25,"d":[["cp",19,24]],"x":11,"t":1305116268.2968},{"y":25,"x":15,"t":1305116268.57693},{"y":25,"x":19,"t":1305116268.76884},{"y":25,"d":[[24,18,25,"-hello.h"]],"x":20,"t":1305116269.43282},{"y":25,"d":[[24,19,26,"fhello.h"]],"x":21,"t":1305116269.71303},{"y":25,"d":[[24,20,27," hello.h"]],"x":22,"t":1305116269.84896},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",5,15],["cp",6,16],["cp",7,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",10,9],["cp",0,13]],"t":1305116270.24118},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305116270.24891},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116271.0966},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116271.20071},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116271.30461},{"y":25,"x":15,"t":1305116271.33684},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116271.48093},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305116271.68071},{"y":25,"d":[[24,16,"t"]],"x":18,"t":1305116271.81686},{"y":25,"d":[[24,16," "]],"x":17,"t":1305116272.29659},{"y":25,"d":[[24,15," "]],"x":16,"t":1305116272.47254},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116272.48973},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116272.64849},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116272.77696},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116272.88883},{"y":25,"d":[["cp",5,24]],"x":21,"t":1305116272.97663},{"y":25,"x":22,"t":1305116273.12862},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116273.24878},{"d":[["r","bash-3.2$ git status -s "],["r","bash-3.2$ cd src "],["r","bash-3.2$ ls "],["r","Makefile hello main.c main.o version.h version.h.in "],["r","bash-3.2$ echo '/* test */' > hello.h "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git status --ignored -s "],["r","!! hello "],["r","!! hello.h "],["r","!! main.o "],["r","!! version.h "],["r","bash-3.2$ git add -A "],["r","bash-3.2$ git add . "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git add hello.h "],["r","The following paths are ignored by one of your .gitignore files: "],["r","src/hello.h "],["r","Use -f if you really want to add them. "],["r","fatal: no files added "],["r","bash-3.2$ git add -f hello.h "],["r","bash-3.2$ git status -s "]],"x":24,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d","d",["a","7"],"d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116273.41658,"i":1},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",4,14],["cp",5,15],["cp",6,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",9,8],["cp",0,12]],"t":1305116273.53669},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",3,13],["cp",4,14],["cp",5,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,22,"A hello.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,7],["cp",0,11],[23,0,"2"]],"t":1305116273.54579},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116273.96055},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116274.02473},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116274.15337},{"y":25,"x":15,"t":1305116274.16335},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305116274.91368},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305116275.00848},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305116275.16874},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305116275.31247},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305116275.48045},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305116275.53654},{"y":25,"x":22,"t":1305116275.61678},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116275.73665},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305116275.94469},{"y":25,"x":25,"t":1305116276.08066},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305116276.36868},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305116277.17659},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305116277.32856},{"y":25,"d":[[24,27,"d"]],"x":29,"t":1305116277.48837},{"y":25,"x":30,"t":1305116277.56058},{"y":25,"d":[[24,29,"h"]],"x":31,"t":1305116277.73651},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305116277.80872},{"y":25,"d":[[24,31,"l"]],"x":33,"t":1305116277.93656},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305116278.09662},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305116278.27259},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305116278.57643},{"y":25,"d":[[24,35,"h"]],"x":37,"t":1305116278.85636},{"y":25,"x":38,"t":1305116279.00856},{"y":25,"d":[[24,37,"u"]],"x":39,"t":1305116279.7445},{"y":25,"d":[[24,38,"s"]],"x":40,"t":1305116279.84843},{"y":25,"d":[[24,39,"i"]],"x":41,"t":1305116279.92842},{"y":25,"d":[[24,40,"n"]],"x":42,"t":1305116280.05643},{"y":25,"d":[[24,41,"g"]],"x":43,"t":1305116280.14442},{"y":25,"x":44,"t":1305116280.28041},{"y":25,"d":[[24,43,"-"]],"x":45,"t":1305116280.38435},{"y":25,"d":[[24,44,"f"]],"x":46,"t":1305116280.66469},{"y":25,"x":47,"t":1305116280.82453},{"y":25,"d":[[24,46,"l"]],"x":48,"t":1305116281.12021},{"y":25,"d":[[24,46," "]],"x":47,"t":1305116281.63236},{"y":25,"d":[[24,46,"f"]],"x":48,"t":1305116281.74426},{"y":25,"d":[[24,47,"a"]],"x":49,"t":1305116281.87213},{"y":25,"d":[[24,48,"l"]],"x":50,"t":1305116281.90424},{"y":25,"d":[[24,49,"g"]],"x":51,"t":1305116282.07249},{"y":25,"d":[[24,49," "]],"x":50,"t":1305116282.73633},{"y":25,"d":[[24,48," "]],"x":49,"t":1305116282.90421},{"y":25,"d":[[24,47," "]],"x":48,"t":1305116283.08003},{"y":25,"d":[[24,47,"l"]],"x":49,"t":1305116283.27233},{"y":25,"d":[[24,48,"a"]],"x":50,"t":1305116283.33732},{"y":25,"d":[[24,49,"g"]],"x":51,"t":1305116283.70433},{"y":25,"d":[[24,50,"."]],"x":52,"t":1305116284.02421},{"y":25,"d":[[24,51,"\""]],"x":53,"t":1305116284.50439},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",3,13],["cp",4,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",7,6],["cp",0,10],["cp",23,22],["cp",0,23]],"t":1305116284.82419},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",1,11],["cp",2,12],["cp",3,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,51,"[master fd33ea2] add hello.h using -f flag. "]],"x":1,"f":[["cp",6,5],["cp",0,9],["cp",22,21],["cp",0,22]],"t":1305116285.12298},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",0,10],["cp",1,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,51," 1 files changed, 1 insertions(+), 0 deletions(-) "],[23,0,42," create mode 100644 src/hello.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",5,3],["cp",3,4],["cp",0,7],["cp",0,8],["cp",21,19],["cp",0,21]],"t":1305116285.1243},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116290.08813},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116290.18404},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116290.2962},{"y":25,"x":15,"t":1305116290.36006},{"y":25,"d":[[24,14,"a"]],"x":16,"t":1305116290.49599},{"y":25,"d":[[24,14," "]],"x":15,"t":1305116291.20805},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116291.31196},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116291.44794},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116291.56783},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116291.73596},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116291.86436},{"y":25,"d":[["cp",9,24]],"x":21,"t":1305116291.93591},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",8,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,6],["cp",19,18],["cp",0,19]],"t":1305116292.29624},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",6,21],["cp",7,22],["cp",8,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1],["cp",6,4],["cp",4,5],["cp",18,16],["cp",4,18]],"t":1305116292.31158},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116292.65592},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116292.74466},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116292.85611},{"y":25,"x":15,"t":1305116292.88804},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116293.09585},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116293.27186},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116293.62373},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116293.79985},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116293.90391},{"y":25,"d":[["cp",6,24]],"x":21,"t":1305116293.98402},{"y":25,"x":22,"t":1305116294.12785},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116294.26365},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305116294.448},{"y":25,"d":[[24,23,"i"]],"x":25,"t":1305116294.65601},{"y":25,"d":[[24,24,"g"]],"x":26,"t":1305116294.77611},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305116294.88803},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305116295.02403},{"y":25,"d":[[24,27,"r"]],"x":29,"t":1305116295.08794},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305116295.21591},{"y":25,"d":[[24,29,"d"]],"x":31,"t":1305116295.39293},{"y":25,"x":32,"t":1305116295.59172},{"y":25,"d":[[24,31,"-"]],"x":33,"t":1305116295.63984},{"y":25,"d":[[24,32,"s"]],"x":34,"t":1305116295.88794},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",5,20],["cp",6,21],["cp",7,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",4,3],["cp",16,15],["cp",3,16]],"t":1305116296.43266},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",16,13],["cp",17,14],["cp",18,15],["cp",19,16],["cp",2,17],["cp",3,18],["cp",4,19],["cp",23,20],[21,0,17,"!! hello "],[22,0,42,"!! main.o "],[23,0,32,"!! version.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",0,1],["cp",0,2],["cp",15,12],["cp",0,15],[21,0,1,["a","1"]],["cp",21,22],["cp",21,23]],"t":1305116296.43892},{"y":25,"d":[[24,10,"e"]],"x":12,"t":1305116299.84777},{"y":25,"d":[[24,11,"c"]],"x":13,"t":1305116300.02385},{"y":25,"d":[[24,12,"h"]],"x":14,"t":1305116300.08747},{"y":25,"d":[[24,13,"o"]],"x":15,"t":1305116300.19968},{"y":25,"x":16,"t":1305116300.2876},{"d":[["r","bash-3.2$ git add -A "],["r","bash-3.2$ git add . "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git add hello.h "],["r","The following paths are ignored by one of your .gitignore files: "],["r","src/hello.h "],["r","Use -f if you really want to add them. "],["r","fatal: no files added "],["r","bash-3.2$ git add -f hello.h "],["r","bash-3.2$ git status -s "],["r","A hello.h "],["r","bash-3.2$ git commit -m \"add hello.h using -f flag.\" "],["r","[master fd33ea2] add hello.h using -f flag. "],["r"," 1 files changed, 1 insertions(+), 0 deletions(-) "],["r"," create mode 100644 src/hello.h "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git status --ignored -s "],["r","!! hello "],["r","!! main.o "],["r","!! version.h "],["r","bash-3.2$ echo \" "]],"x":17,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d",["r","27777777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116300.71167,"i":1},{"y":25,"d":[[24,16,"/"]],"x":18,"t":1305116301.26361},{"y":25,"d":[[24,17,"*"]],"x":19,"t":1305116301.79178},{"y":25,"x":20,"t":1305116302.19172},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305116302.34346},{"y":25,"d":[[24,20,"n"]],"x":22,"t":1305116302.43158},{"y":25,"d":[[24,21,"d"]],"x":23,"t":1305116302.51951},{"y":25,"x":24,"t":1305116303.27137},{"y":25,"d":[[24,23,"*"]],"x":25,"t":1305116303.53586},{"y":25,"d":[[24,24,"/"]],"x":26,"t":1305116304.63172},{"y":25,"d":[[24,25,"\""]],"x":27,"t":1305116304.89547},{"y":25,"x":28,"t":1305116305.0633},{"y":25,"d":[[24,27,">"]],"x":29,"t":1305116305.47969},{"y":25,"d":[[24,28,">"]],"x":30,"t":1305116305.64735},{"y":25,"x":31,"t":1305116305.80739},{"y":25,"d":[[24,30,"h"]],"x":32,"t":1305116306.18335},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305116306.23957},{"y":25,"d":[[24,32,"l"]],"x":34,"t":1305116306.35145},{"y":25,"d":[[24,33,34,"lo"]],"x":36,"t":1305116306.47932},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305116306.93537},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305116307.10349},{"y":25,"x":39,"t":1305116307.2156},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",1,16],["cp",2,17],["cp",3,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",12,11],["cp",0,12],["cp",21,20],["cp",0,23]],"t":1305116307.4232},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305116307.42357},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116307.69531},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116307.76755},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116307.86366},{"y":25,"x":15,"t":1305116307.95158},{"y":25,"d":[[24,14,"s"]],"x":16,"t":1305116308.19136},{"y":25,"d":[[24,15,"t"]],"x":17,"t":1305116308.34441},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305116308.47927},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305116308.62351},{"y":25,"d":[[24,18,"u"]],"x":20,"t":1305116308.63127},{"y":25,"d":[["cp",1,24]],"x":21,"t":1305116308.74461},{"y":25,"x":22,"t":1305116309.8392},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15],["cp",1,16],["cp",2,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",0,23],[24,["a"," "]]],"x":1,"f":[["cp",11,10],["cp",0,11],["cp",20,19],["cp",0,22]],"t":1305116310.63133},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],["cp",20,12],["cp",21,13],["cp",22,14],[17,0,42,"# Changes not staged for commit: "],[18,0,9,"# (use \""],[18,14,61,"add ...\" to update what will be committed)"],[19,0,76,"# (use \"git checkout -- ...\" to discard changes in working directory)"],[20,0,8,"# "],[21,0,26,"# modified: hello.h"],["cp",20,22],[23,0,64,"no changes added to commit (use \"git add\" and/or \"git commit -a\")"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",10,2],["cp",0,10],["cp",19,11],["cp",11,12],["cp",11,13],["cp",0,19],["cp",0,20],[21,0,1,["a","7"]],[21,8,26,["a","1"]]],"t":1305116310.64047},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116311.28717},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116311.37518},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116311.46318},{"y":25,"x":15,"t":1305116311.52731},{"y":25,"d":[[24,14,"d"]],"x":16,"t":1305116311.68729},{"y":25,"d":[[24,15,"i"]],"x":17,"t":1305116311.76722},{"y":25,"d":[[24,16,"f"]],"x":18,"t":1305116311.87911},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305116312.05527},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",6,14],["cp",7,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",11,10],["cp",0,13],["cp",21,20],["cp",0,21]],"t":1305116312.39983},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",0,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",12,14],["cp",22,15],["cp",23,16],[17,0,61,"diff --git a/src/hello.h b/src/hello.h "],[18,0,76,"index 0043c3b..6e482c6 100644 "],[19,0,16,"--- a/src/hello.h"],[20,0,26,"+++ b/src/hello.h "],[21,0,12,"@@ -1 +1,2 @@"],[22,0,64," /* test */ "],[23,0,17,"+/* end */ "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",10,3],["cp",3,4],["cp",3,5],["cp",0,10],["cp",0,11],["cp",0,12],["cp",20,13],["cp",0,20],[21,0,12,["a","6"]],[23,0,9,["a","2"]]],"B":[[17,0,37,["a","1"]],[18,0,28,["a","1"]],[19,0,16,["a","1"]],["cp",19,20]],"t":1305116312.41527},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116313.79123},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116313.88709},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116313.9993},{"y":25,"x":15,"t":1305116314.07909},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305116314.21498},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305116314.27905},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305116314.43902},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305116314.60697},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305116314.79131},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305116314.85497},{"y":25,"x":22,"t":1305116314.93513},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116315.28708},{"y":25,"d":[[24,22,"m"]],"x":24,"t":1305116315.54325},{"y":25,"x":25,"t":1305116315.70305},{"y":25,"d":[[24,24,"\""]],"x":26,"t":1305116316.0553},{"y":25,"d":[[24,24," "]],"x":25,"t":1305116319.06273},{"y":25,"x":24,"t":1305116319.43074},{"y":25,"d":[[24,22," "]],"x":23,"t":1305116319.59878},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305116319.951},{"y":25,"x":25,"t":1305116320.12699},{"y":25,"d":[[24,24,"-"]],"x":26,"t":1305116320.69482},{"y":25,"d":[[24,25,"m"]],"x":27,"t":1305116321.07868},{"y":25,"x":28,"t":1305116321.19074},{"y":25,"d":[[24,27,"\""]],"x":29,"t":1305116321.63908},{"y":25,"d":[[24,28,"c"]],"x":30,"t":1305116324.35856},{"y":25,"d":[[24,29,"o"]],"x":31,"t":1305116324.42282},{"y":25,"d":[[24,30,"m"]],"x":32,"t":1305116324.56689},{"y":25,"d":[[24,31,"m"]],"x":33,"t":1305116324.73493},{"y":25,"d":[[24,32,"i"]],"x":34,"t":1305116324.89483},{"y":25,"d":[[24,33,"t"]],"x":35,"t":1305116324.9748},{"y":25,"x":36,"t":1305116325.06289},{"y":25,"d":[[24,35,"u"]],"x":37,"t":1305116325.45478},{"y":25,"d":[[24,36,"s"]],"x":38,"t":1305116325.59867},{"y":25,"d":[[24,37,"i"]],"x":39,"t":1305116325.67883},{"y":25,"d":[[24,38,"n"]],"x":40,"t":1305116325.81462},{"y":25,"d":[[24,39,"g"]],"x":41,"t":1305116325.87073},{"y":25,"x":42,"t":1305116325.95863},{"y":25,"d":[[24,41,"-"]],"x":43,"t":1305116326.15052},{"y":25,"d":[[24,42,"a"]],"x":44,"t":1305116326.35849},{"y":25,"x":45,"t":1305116326.51051},{"y":25,"d":[[24,44,"f"]],"x":46,"t":1305116326.74275},{"y":25,"d":[[24,45,"l"]],"x":47,"t":1305116326.85461},{"y":25,"d":[[24,46,"a"]],"x":48,"t":1305116327.01464},{"y":25,"d":[[24,47,"g"]],"x":49,"t":1305116327.14244},{"y":25,"d":[[24,48,"e"]],"x":50,"t":1305116327.35075},{"y":25,"d":[[24,48," "]],"x":49,"t":1305116328.14261},{"y":25,"d":[[24,48,","]],"x":50,"t":1305116328.36655},{"y":25,"x":51,"t":1305116328.51872},{"y":25,"d":[[24,50,"m"]],"x":52,"t":1305116328.93498},{"y":25,"d":[[24,51,"e"]],"x":53,"t":1305116329.03832},{"y":25,"d":[[24,52,"a"]],"x":54,"t":1305116329.18242},{"y":25,"d":[[24,53,"s"]],"x":55,"t":1305116329.39053},{"y":25,"d":[[24,53," "]],"x":54,"t":1305116329.99047},{"d":[["r","# On branch master "],["r","nothing to commit (working directory clean) "],["r","bash-3.2$ git status --ignored -s "],["r","!! hello "],["r","!! main.o "],["r","!! version.h "],["r","bash-3.2$ echo \"/* end */\" >> hello.h "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: hello.h "],["r","# "],["r","no changes added to commit (use \"git add\" and/or \"git commit -a\") "],["r","bash-3.2$ git diff "],["r","diff --git a/src/hello.h b/src/hello.h "],["r","index 0043c3b..6e482c6 100644 "],["r","--- a/src/hello.h "],["r","+++ b/src/hello.h "],["r","@@ -1 +1,2 @@ "],["r"," /* test */ "],["r","+/* end */ "],["r","bash-3.2$ git commit -a -m \"commit using -a flag, mean "]],"x":55,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d",["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["a","7"],"d","d","d","d","d","d",["r","77777777111111111111111111177777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222227777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116330.1665,"i":1},{"y":25,"d":[[24,54,"s"]],"x":56,"t":1305116330.27061},{"y":25,"x":57,"t":1305116330.44648},{"y":25,"d":[[24,56,"a"]],"x":58,"t":1305116331.23842},{"y":25,"d":[[24,57,"d"]],"x":59,"t":1305116331.44644},{"y":25,"d":[[24,58,"d"]],"x":60,"t":1305116331.59871},{"y":25,"x":61,"t":1305116332.13439},{"y":25,"d":[[24,60,"t"]],"x":62,"t":1305116332.39056},{"y":25,"d":[[24,61,"h"]],"x":63,"t":1305116332.44654},{"y":25,"d":[[24,62,"e"]],"x":64,"t":1305116332.5664},{"y":25,"d":[[24,63,"n"]],"x":65,"t":1305116332.65453},{"y":25,"x":66,"t":1305116333.07853},{"y":25,"d":[[24,65,"c"]],"x":67,"t":1305116333.24642},{"y":25,"d":[[24,66,"o"]],"x":68,"t":1305116333.34244},{"y":25,"d":[[24,67,"m"]],"x":69,"t":1305116333.49439},{"y":25,"d":[[24,68,"m"]],"x":70,"t":1305116333.64633},{"y":25,"d":[[24,69,"i"]],"x":71,"t":1305116333.86221},{"y":25,"d":[[24,70,"t"]],"x":72,"t":1305116333.99025},{"y":25,"d":[[24,71,"."]],"x":73,"t":1305116334.10234},{"y":25,"d":[[24,72,"\""]],"x":74,"t":1305116334.55844},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",0,5],["cp",13,12],["cp",0,13],["cp",21,20],["cp",0,21],["cp",23,22],["cp",0,23]],"B":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,20]],"t":1305116334.74221},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,72,"[master 8e715bc] commit using -a flag, means add then commit. "]],"x":1,"f":[["cp",2,1],["cp",0,4],["cp",12,11],["cp",0,12],["cp",20,19],["cp",0,20],["cp",22,21],["cp",0,22]],"B":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,19]],"t":1305116335.04848},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",9,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,60," 1 files changed, 1 insertions(+), 0 deletions(-) "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",4,3],["cp",11,10],["cp",3,11],["cp",19,18],["cp",3,19],["cp",21,20],["cp",3,21]],"B":[["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,18]],"t":1305116335.04988},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116340.43016},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116340.5262},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116340.638},{"y":25,"x":15,"t":1305116340.69399},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305116340.97398},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305116341.07808},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305116341.19004},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305116341.23797},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305116341.39003},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305116341.47001},{"y":25,"x":22,"t":1305116341.57406},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305116342.65391},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305116342.83789},{"y":25,"d":[[24,23,"g"]],"x":25,"t":1305116342.97429},{"y":25,"d":[[24,24,"l"]],"x":26,"t":1305116343.07805},{"y":25,"d":[[24,25,"o"]],"x":27,"t":1305116343.246},{"y":25,"d":[[24,26,"b"]],"x":28,"t":1305116343.30993},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305116343.45413},{"y":25,"d":[[24,28,"l"]],"x":30,"t":1305116343.55812},{"y":25,"x":31,"t":1305116343.85406},{"y":25,"d":[[24,30,"c"]],"x":32,"t":1305116344.56614},{"y":25,"d":[[24,31,"o"]],"x":33,"t":1305116344.64606},{"y":25,"d":[[24,32,"r"]],"x":34,"t":1305116345.30999},{"y":25,"d":[[24,33,"e"]],"x":35,"t":1305116345.48595},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305116345.68602},{"y":25,"d":[[24,35,"e"]],"x":37,"t":1305116346.30185},{"y":25,"d":[[24,36,"x"]],"x":38,"t":1305116346.54185},{"y":25,"d":[[24,37,"c"]],"x":39,"t":1305116346.69378},{"y":25,"d":[[24,38,"l"]],"x":40,"t":1305116346.77475},{"y":25,"d":[[24,39,"u"]],"x":41,"t":1305116346.91776},{"y":25,"d":[[24,40,"d"]],"x":42,"t":1305116347.03021},{"y":25,"d":[[24,41,"e"]],"x":43,"t":1305116347.21394},{"y":25,"d":[[24,42,"s"]],"x":44,"t":1305116347.39769},{"y":25,"d":[[24,43,"f"]],"x":45,"t":1305116347.68604},{"y":25,"d":[[24,44,"i"]],"x":46,"t":1305116347.78984},{"y":25,"d":[[24,45,"l"]],"x":47,"t":1305116347.88581},{"y":25,"d":[[24,46,"e"]],"x":48,"t":1305116348.03783},{"y":25,"x":49,"t":1305116348.46167},{"y":25,"d":[[24,48,"~"]],"x":50,"t":1305116349.03789},{"y":25,"d":[[24,49,"/"]],"x":51,"t":1305116349.38968},{"y":25,"d":[[24,50,"."]],"x":52,"t":1305116349.62194},{"y":25,"d":[[24,51,"g"]],"x":53,"t":1305116349.7657},{"y":25,"d":[[24,52,"i"]],"x":54,"t":1305116349.85391},{"y":25,"d":[[24,53,"t"]],"x":55,"t":1305116349.96573},{"y":25,"d":[[24,54,"i"]],"x":56,"t":1305116350.50183},{"y":25,"d":[[24,55,"g"]],"x":57,"t":1305116350.66176},{"y":25,"d":[[24,56,"n"]],"x":58,"t":1305116350.71767},{"y":25,"d":[[24,57,"o"]],"x":59,"t":1305116350.86182},{"y":25,"d":[[24,58,"r"]],"x":60,"t":1305116350.94173},{"y":25,"d":[[24,59,"e"]],"x":61,"t":1305116351.10179},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",3,2],["cp",10,9],["cp",2,10],["cp",18,17],["cp",2,18],["cp",20,19],["cp",2,20]],"B":[["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,17]],"t":1305116351.71759},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305116351.72488},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305116353.18959},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116353.27774},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305116353.38982},{"y":25,"x":15,"t":1305116353.47752},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305116353.61358},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305116353.67751},{"y":25,"d":[[24,16,"n"]],"x":18,"t":1305116353.79774},{"y":25,"d":[[24,17,"f"]],"x":19,"t":1305116353.83752},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305116353.9655},{"y":25,"d":[[24,19,"g"]],"x":21,"t":1305116354.06156},{"y":25,"x":22,"t":1305116354.14961},{"y":25,"d":[[24,21,"c"]],"x":23,"t":1305116354.54967},{"y":25,"d":[[24,22,"o"]],"x":24,"t":1305116354.61356},{"y":25,"d":[[24,23,"r"]],"x":25,"t":1305116354.7415},{"y":25,"d":[[24,24,"e"]],"x":26,"t":1305116354.86959},{"y":25,"d":[[24,25,"."]],"x":27,"t":1305116355.02149},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305116355.22949},{"y":25,"d":[[24,27,"x"]],"x":29,"t":1305116355.42946},{"y":25,"d":[[24,28,"c"]],"x":30,"t":1305116355.60544},{"y":25,"d":[[24,29,"l"]],"x":31,"t":1305116355.66944},{"y":25,"d":[[24,30,"u"]],"x":32,"t":1305116355.80539},{"y":25,"d":[[24,31,"d"]],"x":33,"t":1305116355.90167},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305116356.09339},{"y":25,"d":[[24,33,"s"]],"x":35,"t":1305116356.24541},{"y":25,"d":[[24,34,"f"]],"x":36,"t":1305116356.92554},{"d":[["r","!! main.o "],["r","!! version.h "],["r","bash-3.2$ echo \"/* end */\" >> hello.h "],["r","bash-3.2$ git status "],["r","# On branch master "],["r","# Changes not staged for commit: "],["r","# (use \"git add ...\" to update what will be committed) "],["r","# (use \"git checkout -- ...\" to discard changes in working directory) "],["r","# "],["r","# modified: hello.h "],["r","# "],["r","no changes added to commit (use \"git add\" and/or \"git commit -a\") "],["r","bash-3.2$ git diff "],["r","diff --git a/src/hello.h b/src/hello.h "],["r","index 0043c3b..6e482c6 100644 "],["r","--- a/src/hello.h "],["r","+++ b/src/hello.h "],["r","@@ -1 +1,2 @@ "],["r"," /* test */ "],["r","+/* end */ "],["r","bash-3.2$ git commit -a -m \"commit using -a flag, means add then commit.\" "],["r","[master 8e715bc] commit using -a flag, means add then commit. "],["r"," 1 files changed, 1 insertions(+), 0 deletions(-) "],["r","bash-3.2$ git config --global core.excludesfile ~/.gitignore "],["r","bash-3.2$ git config core.excludesfi "]],"x":37,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","11111111111111111111111111111111111111000000000000000000000000000000000000000000"],["r","11111111111111111111111111111000000000000000000000000000000000000000000000000000"],["r","11111111111111111000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","11777777777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["a","7"],"d","d","d","d","d","d",["r","77777777111111111111111111177777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","66666666666667777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","22222222227777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305116357.02957,"i":1},{"y":25,"d":[[24,36,"l"]],"x":38,"t":1305116357.14156},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305116357.28556},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",7,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",9,8],["cp",1,9],["cp",17,16],["cp",1,17],["cp",19,18],["cp",1,19]],"B":[["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,16]],"t":1305116358.6453},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,37,"/Users/jiangxin/.gitignore "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",8,7],["cp",0,8],["cp",16,15],["cp",0,16],["cp",18,17],["cp",0,18]],"B":[["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,15]],"t":1305116358.65154},{"y":25,"d":[[24,10,"v"]],"x":12,"t":1305116360.43748},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305116360.53331},{"y":25,"x":14,"t":1305116360.64545},{"y":25,"d":[[24,13,"~"]],"x":15,"t":1305116360.92546},{"y":25,"d":[[24,14,"/"]],"x":16,"t":1305116361.15724},{"y":25,"d":[[24,15,"."]],"x":17,"t":1305116361.40517},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305116361.66125},{"y":25,"d":[[24,17,"i"]],"x":19,"t":1305116361.83734},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305116362.06132},{"y":25,"d":[[24,19,"i"]],"x":21,"t":1305116362.53323},{"y":25,"d":[[24,20,"g"]],"x":22,"t":1305116362.64522},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305116362.89331},{"y":25,"d":[[24,22,"o"]],"x":24,"t":1305116363.02117},{"y":25,"d":[[24,23,"r"]],"x":25,"t":1305116363.17322},{"y":25,"d":[[24,24,"e"]],"x":26,"t":1305116363.34939},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",7,6],["cp",0,7],["cp",15,14],["cp",0,15],["cp",17,16],["cp",0,17]],"B":[["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,14]],"t":1305116364.66129},{"y":25,"x":1,"t":1305116364.99939},{"y":1,"d":[[0,0,19,"*~ "],[1,0,17,"*.pyc "],[2,0,31,".*.mmx "],[3,0,61,"~ "],["cp",3,4],["cp",3,5],["cp",3,6],["cp",3,7],["cp",3,8],["cp",3,9],["cp",3,10],["cp",3,11],["cp",3,12],["cp",3,13],["cp",3,14],["cp",3,15],["cp",3,16],["cp",3,17],["cp",3,18],["cp",3,19],["cp",3,20],["cp",3,21],[22,0,25,"\"~/.gitignore\" 3L, 16Cc "],["cp",24,23]],"x":1,"f":[[3,0,77,["a","4"]],["cp",3,4],["cp",3,5],["cp",3,6],["cp",3,7],["cp",3,8],["cp",3,9],["cp",3,10],["cp",3,11],["cp",3,12],["cp",3,13],["cp",3,14],["cp",3,15],["cp",3,16],["cp",3,17],["cp",3,18],["cp",3,19],["cp",3,20],["cp",3,21]],"B":[[3,0,77,["a","1"]],["cp",3,4],["cp",3,5],["cp",3,6],["cp",3,7],["cp",3,8],["cp",3,9],["cp",3,10],["cp",3,11],["cp",3,12],["cp",3,13],["cp",3,14],["cp",3,15],["cp",3,16],["cp",3,17],["cp",3,18],["cp",3,19],["cp",3,20],["cp",3,21]],"t":1305116365.00564},{"y":2,"x":1,"t":1305116366.38932},{"y":3,"x":1,"t":1305116366.68537},{"y":3,"x":1,"t":1305116366.86175},{"y":23,"d":[[22,0,22,": "]],"x":2,"t":1305116367.88547},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305116368.13319},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305116368.35715},{"y":23,"x":1,"t":1305116369.82901},{"y":23,"d":[[22,0,13,"\"~/.gitignore\""]],"x":15,"t":1305116369.8292},{"y":23,"d":[[22,15,29,"3L, 16C written"]],"x":31,"t":1305116370.11825},{"y":25,"d":[["cp",23,0],["cp",0,1],["cp",0,2],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305116370.12052},{"y":25,"d":[[23,0,13,"bash-3.2$ exit"],["cp",0,24]],"x":1,"t":1305116371.82918}]} \ No newline at end of file diff --git a/html/part2/ch11-01-clone.html b/html/part2/ch11-01-clone.html deleted file mode 100644 index f565e8608..000000000 --- a/html/part2/ch11-01-clone.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch11-01-clone -json_file: ch11-01-clone.json ---- diff --git a/html/part2/ch11-01-clone.json b/html/part2/ch11-01-clone.json deleted file mode 100644 index de094ce5a..000000000 --- a/html/part2/ch11-01-clone.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305117731.8983,"i":1},{"y":1,"d":[[0,10,34,"cd /path/to/my/workspace/"]],"x":11,"t":1305117732.59419},{"y":2,"x":1,"t":1305117733.50635},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305117733.50657},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305117734.3303},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305117734.43433},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305117734.5142},{"y":2,"x":15,"t":1305117734.57812},{"y":2,"d":[[1,14,"c"]],"x":16,"t":1305117734.77023},{"y":2,"d":[[1,15,"l"]],"x":17,"t":1305117734.81045},{"y":2,"d":[[1,16,"o"]],"x":18,"t":1305117734.96233},{"y":2,"d":[[1,17,"n"]],"x":19,"t":1305117735.06615},{"y":2,"d":[[1,18,"e"]],"x":20,"t":1305117735.15428},{"y":2,"x":21,"t":1305117735.22628},{"y":2,"d":[[1,20,"g"]],"x":22,"t":1305117735.37033},{"y":2,"d":[[1,21,"i"]],"x":23,"t":1305117735.43415},{"y":2,"d":[[1,22,"t"]],"x":24,"t":1305117735.56218},{"y":2,"d":[[1,23,":"]],"x":25,"t":1305117735.83431},{"y":2,"d":[[1,24,"/"]],"x":26,"t":1305117736.03412},{"y":2,"d":[[1,25,"/"]],"x":27,"t":1305117736.18604},{"y":2,"d":[[1,26,"g"]],"x":28,"t":1305117736.93807},{"y":2,"d":[[1,27,"i"]],"x":29,"t":1305117737.0263},{"y":2,"d":[[1,28,"t"]],"x":30,"t":1305117737.12202},{"y":2,"d":[[1,29,"."]],"x":31,"t":1305117737.23454},{"y":2,"d":[[1,29," "]],"x":30,"t":1305117738.11411},{"y":2,"d":[[1,29,"h"]],"x":31,"t":1305117738.38586},{"y":2,"d":[[1,30,"u"]],"x":32,"t":1305117738.57826},{"y":2,"d":[[1,31,"b"]],"x":33,"t":1305117738.66616},{"y":2,"d":[[1,32,"."]],"x":34,"t":1305117738.79401},{"y":2,"d":[[1,33,"c"]],"x":35,"t":1305117738.89804},{"y":2,"d":[[1,34,"o"]],"x":36,"t":1305117738.98598},{"y":2,"d":[[1,35,"m"]],"x":37,"t":1305117739.12197},{"y":2,"d":[[1,36,"/"]],"x":38,"t":1305117739.57824},{"y":2,"d":[[1,37,38,"^P"]],"x":40,"t":1305117739.58593},{"y":2,"d":[[1,39,"o"]],"x":41,"t":1305117739.88184},{"y":2,"d":[[1,39," "]],"x":40,"t":1305117740.21796},{"y":2,"d":[[1,37,38,["a"," "]]],"x":38,"t":1305117740.36981},{"y":2,"d":[[1,37,"o"]],"x":39,"t":1305117740.67407},{"y":2,"d":[[1,38,"s"]],"x":40,"t":1305117740.818},{"y":2,"d":[[1,39,"s"]],"x":41,"t":1305117740.99505},{"y":2,"d":[[1,40,"x"]],"x":42,"t":1305117741.16978},{"y":2,"d":[[1,41,"p"]],"x":43,"t":1305117741.24212},{"y":2,"d":[[1,42,"-"]],"x":44,"t":1305117741.45787},{"y":2,"d":[[1,43,"c"]],"x":45,"t":1305117741.66583},{"y":2,"d":[[1,44,"o"]],"x":46,"t":1305117741.7541},{"y":2,"d":[[1,45,"m"]],"x":47,"t":1305117741.90575},{"y":2,"d":[[1,46,"/"]],"x":48,"t":1305117742.12996},{"y":2,"d":[[1,47,"g"]],"x":49,"t":1305117742.80987},{"y":2,"d":[[1,48,"i"]],"x":50,"t":1305117742.88187},{"y":2,"d":[[1,49,"t"]],"x":51,"t":1305117742.98585},{"y":2,"d":[[1,50,"d"]],"x":52,"t":1305117743.18577},{"y":2,"d":[[1,51,"e"]],"x":53,"t":1305117743.36207},{"y":2,"d":[[1,52,"m"]],"x":54,"t":1305117743.7538},{"y":2,"d":[[1,53,"o"]],"x":55,"t":1305117743.92967},{"y":2,"d":[[1,54,"-"]],"x":56,"t":1305117744.24197},{"y":2,"d":[[1,55,"c"]],"x":57,"t":1305117745.11392},{"y":2,"d":[[1,56,"o"]],"x":58,"t":1305117745.17794},{"y":2,"d":[[1,57,"m"]],"x":59,"t":1305117745.3296},{"y":2,"d":[[1,58,"m"]],"x":60,"t":1305117745.48167},{"y":2,"d":[[1,59,"i"]],"x":61,"t":1305117745.66568},{"y":2,"d":[[1,60,"t"]],"x":62,"t":1305117745.72196},{"y":2,"d":[[1,61,"-"]],"x":63,"t":1305117745.89053},{"y":2,"d":[[1,62,"g"]],"x":64,"t":1305117746.01771},{"y":2,"d":[[1,63,"r"]],"x":65,"t":1305117746.18565},{"y":2,"d":[[1,64,"e"]],"x":66,"t":1305117746.36217},{"y":2,"d":[[1,65,"e"]],"x":67,"t":1305117746.54586},{"y":2,"d":[[1,65," "]],"x":66,"t":1305117747.10575},{"y":2,"d":[[1,64," "]],"x":65,"t":1305117747.25745},{"y":2,"d":[[1,63," "]],"x":64,"t":1305117747.41749},{"y":2,"d":[[1,62," "]],"x":63,"t":1305117747.58554},{"y":2,"d":[[1,62,"t"]],"x":64,"t":1305117747.67395},{"y":2,"d":[[1,63,"r"]],"x":65,"t":1305117747.85777},{"y":2,"d":[[1,64,"e"]],"x":66,"t":1305117748.01779},{"y":2,"d":[[1,65,"e"]],"x":67,"t":1305117748.17797},{"y":2,"d":[[1,66,"."]],"x":68,"t":1305117748.33074},{"y":2,"d":[[1,67,"g"]],"x":69,"t":1305117748.45748},{"y":2,"d":[[1,68,"i"]],"x":70,"t":1305117748.56159},{"y":2,"d":[[1,69,"t"]],"x":71,"t":1305117748.64972},{"y":3,"x":1,"t":1305117748.85755},{"y":4,"d":[[2,0,34,"Cloning into gitdemo-commit-tree..."]],"x":1,"t":1305117748.8693},{"y":5,"d":[[3,0,34,"remote: Counting objects: 65, done."]],"x":1,"t":1305117751.23197},{"y":5,"d":[[4,0,39,"remote: Compressing objects: 15% (8/53)"]],"x":1,"t":1305117751.23395},{"y":5,"d":[[4,30,40,"20% (11/53)"]],"x":1,"t":1305117751.6234},{"y":6,"d":[[4,29,30,"10"],[4,35,36,"53"],[4,41,47,", done."]],"x":1,"t":1305117751.62554},{"y":6,"d":[[5,0,29,"Receiving objects: 1% (1/65)"]],"x":1,"t":1305117752.42267},{"y":6,"d":[[5,20,30,"46% (30/65)"]],"x":1,"t":1305117752.42357},{"y":6,"d":[[5,31,52,", 52.00 KiB | 22 KiB/s"]],"x":1,"t":1305117754.41193},{"y":9,"d":[[5,0,52,"remote: Total 65 (delta 8), reused 0 (delta 0) "],[6,0,59,"Receiving objects: 100% (65/65), 78.14 KiB | 22 KiB/s, done."],[7,0,34,"Resolving deltas: 100% (8/8), done."],[8,0,8,"bash-3.2$"]],"x":11,"t":1305117754.43645},{"y":9,"d":[[8,10,"c"]],"x":12,"t":1305117756.84156},{"y":9,"d":[[8,11,"d"]],"x":13,"t":1305117757.02561},{"y":9,"x":14,"t":1305117757.0974},{"y":9,"d":[[8,13,"g"]],"x":15,"t":1305117757.56925},{"y":9,"d":[[8,14,"i"]],"x":16,"t":1305117757.67348},{"y":9,"d":[[8,15,"t"]],"x":17,"t":1305117757.75325},{"y":9,"d":[[8,16,"d"]],"x":18,"t":1305117757.9455},{"y":9,"d":[[8,17,32,"emo-commit-tree/"]],"x":34,"t":1305117758.17553},{"y":10,"x":1,"t":1305117758.78532},{"y":10,"d":[[9,0,8,"bash-3.2$"]],"x":11,"t":1305117758.78571},{"y":10,"d":[[9,10,"l"]],"x":12,"t":1305117759.62534},{"y":10,"d":[[9,11,"s"]],"x":13,"t":1305117759.7292},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/ "],["r","bash-3.2$ git clone git://github.com/ossxp-com/gitdemo-commit-tree.git "],["r","Cloning into gitdemo-commit-tree... "],["r","remote: Counting objects: 65, done. "],["r","remote: Compressing objects: 100% (53/53), done. "],["r","remote: Total 65 (delta 8), reused 0 (delta 0) "],["r","Receiving objects: 100% (65/65), 78.14 KiB | 22 KiB/s, done. "],["r","Resolving deltas: 100% (8/8), done. "],["r","bash-3.2$ cd gitdemo-commit-tree/ "],["r","bash-3.2$ ls "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":1,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":11,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305117760.02517,"i":1},{"y":12,"d":[[10,0,39,"README doc gitg.png src treeview.png"],[11,0,8,"bash-3.2$"]],"x":11,"t":1305117760.03241},{"y":12,"d":[[11,10,"g"]],"x":12,"t":1305117760.98504},{"y":12,"d":[[11,11,"i"]],"x":13,"t":1305117761.06527},{"y":12,"d":[[11,12,"t"]],"x":14,"t":1305117761.16913},{"y":12,"x":15,"t":1305117761.23313},{"y":12,"d":[[11,14,"l"]],"x":16,"t":1305117761.67313},{"y":12,"d":[[11,15,"o"]],"x":17,"t":1305117761.83327},{"y":12,"d":[[11,16,"g"]],"x":18,"t":1305117761.91333},{"y":12,"x":19,"t":1305117761.97704},{"y":12,"d":[[11,18,"-"]],"x":20,"t":1305117762.10506},{"y":12,"d":[[11,19,"-"]],"x":21,"t":1305117762.2813},{"y":12,"d":[[11,20,"o"]],"x":22,"t":1305117762.47329},{"y":12,"d":[[11,21,"n"]],"x":23,"t":1305117762.60134},{"y":12,"d":[[11,22,"e"]],"x":24,"t":1305117762.70517},{"y":12,"d":[[11,23,"l"]],"x":25,"t":1305117762.80914},{"y":12,"d":[[11,24,"i"]],"x":26,"t":1305117762.96922},{"y":12,"d":[[11,25,"n"]],"x":27,"t":1305117763.09722},{"y":12,"d":[[11,26,"e"]],"x":28,"t":1305117763.18512},{"y":12,"x":29,"t":1305117763.27325},{"y":12,"d":[[11,28,"-"]],"x":30,"t":1305117763.44101},{"y":12,"d":[[11,29,"-"]],"x":31,"t":1305117763.62496},{"y":12,"d":[[11,30,"g"]],"x":32,"t":1305117763.84923},{"y":12,"d":[[11,31,"r"]],"x":33,"t":1305117764.03317},{"y":12,"d":[[11,32,"a"]],"x":34,"t":1305117764.16109},{"y":12,"d":[[11,33,"p"]],"x":35,"t":1305117764.34504},{"y":12,"d":[[11,34,"h"]],"x":36,"t":1305117764.46511},{"y":12,"x":37,"t":1305117764.697},{"y":12,"d":[[11,36,"-"]],"x":38,"t":1305117764.86544},{"y":12,"d":[[11,37,"-"]],"x":39,"t":1305117765.04909},{"y":12,"d":[[11,38,"d"]],"x":40,"t":1305117765.16109},{"y":12,"d":[[11,39,"e"]],"x":41,"t":1305117765.31299},{"y":12,"d":[[11,40,"c"]],"x":42,"t":1305117765.50523},{"y":12,"d":[[11,41,"o"]],"x":43,"t":1305117765.58519},{"y":12,"d":[[11,42,"r"]],"x":44,"t":1305117765.68894},{"y":12,"d":[[11,43,"a"]],"x":45,"t":1305117765.92126},{"y":12,"d":[[11,44,"t"]],"x":46,"t":1305117766.05685},{"y":12,"d":[[11,45,"e"]],"x":47,"t":1305117766.19301},{"y":13,"x":1,"t":1305117766.36891},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],[6,0,77,"* 6652a0d (HEAD, origin/master, origin/HEAD, master) Add Images for git treevi"],[7,0,45,"* 8199323 (tag: A) Commit A: merge B with C."],[8,0,32,"|\\ "],[9,0,29,"| * 0cd7f2e (tag: C) commit C."],[10,0,39,"| | "],[11,0,45,"| \\ "],[12,0,54,"*-. \\ 776c5c9 (tag: B) Commit B: merge D with E and F"],[13,0,5,"|\\ \\ \\"],[14,0,5,"| | |/"],[15,0,48,"| | * beb30ca (tag: F) Commit F: merge I with J"],[16,0,5,"| | |\\"],[17,0,33,"| | | * 3252fcc (tag: J) commit J."],[18,0,31,"| | * 634836c (tag: I) commit I."],[19,0,29,"| * 83be369 (tag: E) commit E."],[20,0,44,"* 212efce (tag: D) Commit D: merge G with H"],["cp",8,21],[22,0,29,"| * 2ab52ad (tag: H) commit H."],[23,0,27,"* e80aa74 (tag: G) commit G."],[24,0,4,"(END)"]],"x":7,"f":[[6,2,51,"33333333366663311111111111113311111111111332222223"],[7,4,19,["a","3"]],[8,0,1,"23"],[9,0,19,"27773333333333333333"],[10,0,2,"273"],[11,0,3,"2773"],[12,1,23,"33737773333333333333333"],[13,0,5,"457373"],[14,0,5,"475733"],[15,0,2,"475"],[15,8,23,["a","3"]],[16,0,5,"475712"],[17,0,23,"475717773333333333333333"],[18,0,21,"4757773333333333333333"],[19,0,19,"47773333333333333333"],["cp",7,20],[21,0,1,"34"],[22,0,19,"37773333333333333333"],[23,2,17,["a","3"]],[24,0,5,["a","0"]]],"B":[[6,11,50,"1111001111111111111001111111111100111111"],[7,13,18,["a","1"]],["cp",7,9],[12,17,22,["a","1"]],["cp",12,15],[16,4,5,["a","1"]],[17,4,"1"],[17,17,22,["a","1"]],[18,15,20,["a","1"]],["cp",7,19],["cp",7,20],[21,0,1,["a","1"]],[22,0,"1"],[22,13,18,["a","1"]],[23,11,16,["a","1"]]],"t":1305117766.38341},{"y":25,"b":[["cp",0,24]],"d":[[24,["a"," "]]],"x":1,"f":[["cp",0,24]],"t":1305117768.23285},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305117768.2343},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",7,20],["cp",22,21],["cp",23,22],[23,0,27,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",6,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",0,23]],"B":[["cp",6,5],["cp",7,6],["cp",0,7],["cp",6,8],["cp",0,9],["cp",12,11],["cp",0,12],["cp",11,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",6,18],["cp",21,20],["cp",22,21],["cp",23,22],["cp",0,23]],"t":1305117769.57783}]} \ No newline at end of file diff --git a/html/part2/ch11-02-rev-parse.html b/html/part2/ch11-02-rev-parse.html deleted file mode 100644 index b2993fbb1..000000000 --- a/html/part2/ch11-02-rev-parse.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch11-02-rev-parse -json_file: ch11-02-rev-parse.json ---- diff --git a/html/part2/ch11-02-rev-parse.json b/html/part2/ch11-02-rev-parse.json deleted file mode 100644 index 0a224a6db..000000000 --- a/html/part2/ch11-02-rev-parse.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118078.99197,"i":1},{"y":1,"d":[[0,10,54,"cd /path/to/my/workspace/gitdemo-commit-tree/"]],"x":11,"t":1305118079.59688},{"y":2,"x":1,"t":1305118080.30084},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305118080.30111},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305118081.19703},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305118081.30875},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305118081.40492},{"y":2,"x":15,"t":1305118081.49285},{"y":2,"d":[[1,14,"r"]],"x":16,"t":1305118081.80479},{"y":2,"d":[[1,15,"e"]],"x":17,"t":1305118081.98088},{"y":2,"d":[[1,16,"v"]],"x":18,"t":1305118082.16468},{"y":2,"d":[[1,17,"-"]],"x":19,"t":1305118082.35688},{"y":2,"d":[[1,18,"p"]],"x":20,"t":1305118082.62167},{"y":2,"d":[[1,19,"a"]],"x":21,"t":1305118082.72507},{"y":2,"d":[[1,20,"r"]],"x":22,"t":1305118082.83677},{"y":2,"d":[[1,21,"s"]],"x":23,"t":1305118082.99676},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305118083.12485},{"y":2,"x":25,"t":1305118083.23702},{"y":2,"d":[[1,24,"-"]],"x":26,"t":1305118083.7731},{"y":2,"d":[[1,25,"-"]],"x":27,"t":1305118084.71672},{"y":2,"d":[[1,26,"s"]],"x":28,"t":1305118085.31671},{"y":2,"d":[[1,27,"y"]],"x":29,"t":1305118085.85277},{"y":2,"d":[[1,28,"m"]],"x":30,"t":1305118086.10078},{"y":2,"d":[[1,29,"b"]],"x":31,"t":1305118086.29273},{"y":2,"d":[[1,30,"o"]],"x":32,"t":1305118086.40493},{"y":2,"d":[[1,31,"l"]],"x":33,"t":1305118086.5971},{"y":2,"d":[[1,32,"i"]],"x":34,"t":1305118086.74886},{"y":2,"d":[[1,33,"c"]],"x":35,"t":1305118086.9167},{"y":2,"x":36,"t":1305118087.51658},{"y":2,"d":[[1,35,"-"]],"x":37,"t":1305118088.16457},{"y":2,"d":[[1,36,"-"]],"x":38,"t":1305118088.36455},{"y":2,"d":[[1,37,"b"]],"x":39,"t":1305118088.48444},{"y":2,"d":[[1,38,"r"]],"x":40,"t":1305118088.67675},{"y":2,"d":[[1,39,"a"]],"x":41,"t":1305118088.82055},{"y":2,"d":[[1,40,"n"]],"x":42,"t":1305118088.9568},{"y":2,"d":[[1,41,"c"]],"x":43,"t":1305118089.03663},{"y":2,"d":[[1,42,"h"]],"x":44,"t":1305118089.1805},{"y":2,"d":[[1,43,"e"]],"x":45,"t":1305118089.26061},{"y":2,"d":[[1,44,"s"]],"x":46,"t":1305118089.42864},{"y":3,"x":1,"t":1305118089.61252},{"y":4,"d":[[2,0,5,"master"],[3,0,8,"bash-3.2$"]],"x":11,"t":1305118089.61959},{"y":4,"d":[["cp",1,3]],"x":11,"t":1305118091.26053},{"y":4,"x":45,"t":1305118091.63652},{"y":4,"x":38,"t":1305118091.91672},{"y":4,"d":[[3,37,44,["a"," "]]],"x":37,"t":1305118092.25233},{"y":4,"x":37,"t":1305118092.46031},{"y":4,"x":38,"t":1305118092.4604},{"y":4,"d":[[3,37,"t"]],"x":39,"t":1305118092.7486},{"y":4,"d":[[3,38,"a"]],"x":40,"t":1305118092.94023},{"y":4,"d":[[3,39,"g"]],"x":41,"t":1305118093.1003},{"y":4,"d":[[3,40,"s"]],"x":42,"t":1305118093.2523},{"y":5,"x":1,"t":1305118093.38826},{"y":15,"d":[[4,0,"A"],[5,0,"B"],[6,0,"C"],[7,0,"D"],[8,0,"E"],[9,0,"F"],[10,0,"G"],[11,0,"H"],[12,0,"I"],[13,0,"J"],[14,0,8,"bash-3.2$"]],"x":11,"t":1305118093.39627},{"y":15,"d":[[14,10,"g"]],"x":12,"t":1305118096.4604},{"y":15,"d":[[14,11,"i"]],"x":13,"t":1305118096.50024},{"y":15,"d":[[14,12,"t"]],"x":14,"t":1305118096.65235},{"y":15,"x":15,"t":1305118096.70833},{"y":15,"d":[[14,14,"l"]],"x":16,"t":1305118097.22016},{"y":15,"d":[[14,15,"o"]],"x":17,"t":1305118097.39643},{"y":15,"d":[[14,16,"g"]],"x":18,"t":1305118097.46032},{"y":15,"x":19,"t":1305118097.54824},{"y":15,"d":[[14,18,"-"]],"x":20,"t":1305118097.67751},{"y":15,"d":[[14,19,"-"]],"x":21,"t":1305118097.86021},{"y":15,"d":[[14,20,"o"]],"x":22,"t":1305118098.04414},{"y":15,"d":[[14,21,"n"]],"x":23,"t":1305118098.18806},{"y":15,"d":[[14,22,"e"]],"x":24,"t":1305118098.22022},{"y":15,"d":[[14,23,"l"]],"x":25,"t":1305118098.34055},{"y":15,"d":[[14,24,"i"]],"x":26,"t":1305118098.46809},{"y":15,"d":[[14,25,"n"]],"x":27,"t":1305118098.60412},{"y":15,"d":[[14,26,"e"]],"x":28,"t":1305118098.71645},{"y":15,"x":29,"t":1305118098.87608},{"y":15,"d":[[14,28,"-"]],"x":30,"t":1305118101.64413},{"y":15,"d":[[14,29,"-"]],"x":31,"t":1305118101.83618},{"y":15,"d":[[14,30,"g"]],"x":32,"t":1305118102.49202},{"y":15,"d":[[14,31,"r"]],"x":33,"t":1305118102.6439},{"y":15,"d":[[14,32,"a"]],"x":34,"t":1305118102.78794},{"y":15,"d":[[14,33,"p"]],"x":35,"t":1305118102.94019},{"y":15,"d":[[14,34,"h"]],"x":36,"t":1305118103.09189},{"y":15,"x":37,"t":1305118103.35625},{"y":15,"d":[[14,36,"-"]],"x":38,"t":1305118103.76404},{"y":15,"d":[[14,37,"-"]],"x":39,"t":1305118103.94785},{"y":15,"d":[[14,38,"d"]],"x":40,"t":1305118104.05985},{"y":15,"d":[[14,39,"e"]],"x":41,"t":1305118104.22004},{"y":15,"d":[[14,40,"c"]],"x":42,"t":1305118104.39588},{"y":15,"d":[[14,41,"o"]],"x":43,"t":1305118104.45982},{"y":15,"d":[[14,42,"r"]],"x":44,"t":1305118104.57991},{"y":15,"d":[[14,43,"a"]],"x":45,"t":1305118104.7881},{"y":15,"d":[[14,44,"t"]],"x":46,"t":1305118104.90802},{"y":15,"d":[[14,45,"e"]],"x":47,"t":1305118105.04409},{"y":16,"x":1,"t":1305118105.12397},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",9,0],["cp",10,1],["cp",11,2],["cp",12,3],["cp",13,4],["cp",14,5],[6,0,77,"* 6652a0d (HEAD, origin/master, origin/HEAD, master) Add Images for git treevi"],[7,0,45,"* 8199323 (tag: A) Commit A: merge B with C."],[8,0,1,"|\\"],[9,0,29,"| * 0cd7f2e (tag: C) commit C."],[10,0,2,"| |"],[11,0,3,"| \\"],[12,0,54,"*-. \\ 776c5c9 (tag: B) Commit B: merge D with E and F"],[13,0,5,"|\\ \\ \\"],[14,0,45,"| | |/ "],[15,0,48,"| | * beb30ca (tag: F) Commit F: merge I with J"],[16,0,5,"| | |\\"],[17,0,33,"| | | * 3252fcc (tag: J) commit J."],[18,0,31,"| | * 634836c (tag: I) commit I."],[19,0,29,"| * 83be369 (tag: E) commit E."],[20,0,44,"* 212efce (tag: D) Commit D: merge G with H"],["cp",8,21],[22,0,29,"| * 2ab52ad (tag: H) commit H."],[23,0,27,"* e80aa74 (tag: G) commit G."],[24,0,4,"(END)"]],"x":7,"f":[[6,2,51,"33333333366663311111111111113311111111111332222223"],[7,4,19,["a","3"]],[8,0,1,"23"],[9,0,19,"27773333333333333333"],[10,0,2,"273"],[11,0,3,"2773"],[12,1,23,"33737773333333333333333"],[13,0,5,"457373"],[14,0,5,"475733"],[15,0,2,"475"],[15,8,23,["a","3"]],[16,0,5,"475712"],[17,0,23,"475717773333333333333333"],[18,0,21,"4757773333333333333333"],[19,0,19,"47773333333333333333"],["cp",7,20],[21,0,1,"34"],[22,0,19,"37773333333333333333"],[23,2,17,["a","3"]],[24,0,5,["a","0"]]],"B":[[6,11,50,"1111001111111111111001111111111100111111"],[7,13,18,["a","1"]],["cp",7,9],[12,17,22,["a","1"]],["cp",12,15],[16,4,5,["a","1"]],[17,4,"1"],[17,17,22,["a","1"]],[18,15,20,["a","1"]],["cp",7,19],["cp",7,20],[21,0,1,["a","1"]],[22,0,"1"],[22,13,18,["a","1"]],[23,11,16,["a","1"]]],"t":1305118105.13536},{"y":25,"b":[["cp",0,24]],"d":[[24,["a"," "]]],"x":1,"f":[["cp",0,24]],"t":1305118108.76375},{"y":25,"b":[[24,0,5,["a","7"]]],"d":[["cp",23,0],[1,0,13,"...skipping..."],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",20,16],["cp",4,17],["cp",22,18],["cp",0,19],[20,0,44,"~ "],["cp",20,21],["cp",20,22],["cp",20,23],[24,0,4,"(END)"]],"x":7,"f":[["cp",23,0],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",11,7],["cp",12,8],["cp",13,9],["cp",14,10],["cp",15,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",19,15],["cp",3,16],["cp",21,17],["cp",22,18],["cp",0,19],["cp",1,20],["cp",1,21],["cp",1,22],["cp",1,23],[24,0,5,["a","0"]]],"B":[["cp",23,0],["cp",6,2],["cp",7,3],["cp",3,5],["cp",1,6],["cp",1,7],["cp",12,8],["cp",1,9],["cp",8,11],["cp",16,12],["cp",17,13],["cp",18,14],["cp",3,15],["cp",3,16],["cp",21,17],["cp",22,18],["cp",0,19],[20,0,"1"],[20,13,18,["a","0"]],["cp",20,21],["cp",20,22],["cp",20,23]],"t":1305118108.76419},{"y":25,"x":7,"t":1305118108.85191},{"y":25,"b":[[24,6,26,["a","7"]]],"d":[[24,0,26,"No next tag (press RETURN)"]],"x":28,"f":[[24,6,26,["a","0"]]],"t":1305118108.98764},{"y":23,"b":[[22,0,5,["a","7"]]],"d":[[22,0,4,"(END)"]],"x":7,"f":[[22,0,5,["a","0"]]],"B":[["cp",1,22]],"t":1305118109.04372},{"y":23,"b":[["cp",0,22]],"d":[[22,["a"," "]]],"x":1,"f":[["cp",1,22]],"t":1305118109.50772},{"y":25,"b":[[24,6,26,["a","0"]]],"d":[["cp",20,0],["cp",0,22],[24,0,26,"(END) "]],"x":7,"f":[["cp",1,0],[24,6,26,["a","7"]]],"B":[["cp",20,0],["cp",0,22]],"t":1305118109.50807},{"y":25,"x":7,"t":1305118109.69968},{"y":25,"b":[[24,6,41,["a","7"]]],"d":[[24,0,41,"Cannot edit standard input (press RETURN)"]],"x":43,"f":[[24,6,41,["a","0"]]],"t":1305118109.88366},{"d":[["r","~ "],["r","...skipping... "],["r","* 6652a0d (HEAD, origin/master, origin/HEAD, master) Add Images for git treevi "],["r","* 8199323 (tag: A) Commit A: merge B with C. "],["r","|\\ "],["r","| * 0cd7f2e (tag: C) commit C. "],["r","| | "],["r","| \\ "],["r","*-. \\ 776c5c9 (tag: B) Commit B: merge D with E and F "],["r","|\\ \\ \\ "],["r","| | |/ "],["r","| | * beb30ca (tag: F) Commit F: merge I with J "],["r","| | |\\ "],["r","| | | * 3252fcc (tag: J) commit J. "],["r","| | * 634836c (tag: I) commit I. "],["r","| * 83be369 (tag: E) commit E. "],["r","* 212efce (tag: D) Commit D: merge G with H "],["r","|\\ "],["r","| * 2ab52ad (tag: H) commit H. "],["r","* e80aa74 (tag: G) commit G. "],["r","~ "],"d",["a"," "],["r","~ "],["r","Cannot edit standard input (press RETURN) "]],"x":1,"B":[["r","10000000000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000000111100111111111111100111111111110011111100000000000000000000000000000"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000000000000111111000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000000000000111111000000000000000000000000000000000000000000000000000000000"],["r","00001100000000000000000000000000000000000000000000000000000000000000000000000000"],["r","00001000000000000111111000000000000000000000000000000000000000000000000000000000"],["r","00000000000000011111100000000000000000000000000000000000000000000000000000000000"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],"d",["r","11000000000000000000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000001111110000000000000000000000000000000000000000000000000000000000000"],["r","00000000000111111000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000000000000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],["r","10000000000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"y":23,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","77777777777777777777777777777777777777777700000000000000000000000000000000000000"]],"f":[["a","7"],"d",["r","77333333333666633111111111111133111111111113322222237777777777777777777777777777"],["r","77773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","23777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","27377777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27737777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","73373777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","45737377777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47573377777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47577777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","47571277777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47571777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","47577733333333333333337777777777777777777777777777777777777777777777777777777777"],["r","47773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","34777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","37773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77333333333333333377777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d",["r","00000000000000000000000000000000000000000077777777777777777777777777777777777777"]],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118110.62048,"i":1},{"y":23,"d":[[22,0,8,"bash-3.2$"]],"x":11,"t":1305118110.6238},{"y":23,"d":[[22,10,"g"]],"x":12,"t":1305118111.38763},{"y":23,"d":[[22,11,"i"]],"x":13,"t":1305118111.49975},{"y":23,"d":[[22,12,"t"]],"x":14,"t":1305118111.58779},{"y":23,"x":15,"t":1305118111.65182},{"y":23,"d":[[22,14,"r"]],"x":16,"t":1305118112.8036},{"y":23,"d":[[22,15,"e"]],"x":17,"t":1305118112.97169},{"y":23,"d":[[22,16,"v"]],"x":18,"t":1305118113.10753},{"y":23,"d":[[22,17,"-"]],"x":19,"t":1305118113.2597},{"y":23,"d":[[22,18,"p"]],"x":20,"t":1305118113.53968},{"y":23,"d":[[22,19,"a"]],"x":21,"t":1305118113.64348},{"y":23,"d":[[22,20,"r"]],"x":22,"t":1305118113.75547},{"y":23,"d":[[22,21,"s"]],"x":23,"t":1305118113.96349},{"y":23,"d":[[22,22,"e"]],"x":24,"t":1305118114.14745},{"y":23,"x":25,"t":1305118114.3638},{"y":23,"d":[[22,24,"H"]],"x":26,"t":1305118114.75559},{"y":23,"d":[[22,25,"E"]],"x":27,"t":1305118114.81969},{"y":23,"d":[[22,26,"A"]],"x":28,"t":1305118114.97144},{"y":23,"d":[[22,27,"D"]],"x":29,"t":1305118115.07575},{"y":24,"x":1,"t":1305118115.81934},{"y":25,"b":[[24,0,9,["a","0"]]],"d":[[23,0,39,"6652a0dce6a5067732c00ef0a220810a7230655e"],[24,0,9,"bash-3.2$ "]],"x":11,"f":[[24,0,9,["a","7"]]],"B":[["cp",1,23]],"t":1305118115.82574},{"y":25,"b":[[24,10,"0"]],"d":[[24,10,"g"]],"x":12,"f":[[24,10,"7"]],"t":1305118117.70748},{"y":25,"b":[[24,11,"0"]],"d":[[24,11,"i"]],"x":13,"f":[[24,11,"7"]],"t":1305118117.81165},{"y":25,"b":[[24,12,"0"]],"d":[[24,12,"t"]],"x":14,"f":[[24,12,"7"]],"t":1305118117.93141},{"y":25,"b":[[24,13,"0"]],"d":[[24,13," "]],"x":15,"f":[[24,13,"7"]],"t":1305118117.97159},{"y":25,"b":[[24,14,"0"]],"d":[[24,14,"d"]],"x":16,"f":[[24,14,"7"]],"t":1305118118.35585},{"y":25,"b":[[24,15,"0"]],"d":[[24,15,"e"]],"x":17,"f":[[24,15,"7"]],"t":1305118118.50751},{"y":25,"b":[[24,16,"0"]],"d":[[24,16,"s"]],"x":18,"f":[[24,16,"7"]],"t":1305118118.65973},{"y":25,"b":[[24,17,"0"]],"d":[[24,17,"c"]],"x":19,"f":[[24,17,"7"]],"t":1305118118.85964},{"y":25,"b":[[24,18,"0"]],"x":20,"f":[[24,18,"7"]],"t":1305118119.04331},{"y":25,"b":[[24,19,"0"]],"d":[[24,19,"i"]],"x":21,"f":[[24,19,"7"]],"t":1305118119.37131},{"y":25,"b":[[24,20,"0"]],"d":[[24,20,"b"]],"x":22,"f":[[24,20,"7"]],"t":1305118119.51544},{"y":25,"b":[[24,21,"0"]],"d":[[24,21,"e"]],"x":23,"f":[[24,21,"7"]],"t":1305118119.70731},{"y":25,"b":[["cp",24,23],["cp",0,24]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",3,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",24,23],["cp",0,24]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",2,4],["cp",0,5],["cp",8,7],["cp",0,8],["cp",7,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",2,14],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,21]],"t":1305118120.65919},{"y":25,"b":[["cp",23,22],["cp",0,23]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,41,"A-1-g6652a0d "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",23,22],["cp",18,23]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",2,4],["cp",7,6],["cp",2,7],["cp",6,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",1,13],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",2,20]],"t":1305118120.66948},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118122.97946},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118123.05912},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118123.17128},{"y":25,"x":15,"t":1305118123.22751},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118123.41922},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118123.57942},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118123.76341},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118123.85951},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118124.10741},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118124.18706},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118124.30805},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118124.47507},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118124.58741},{"y":25,"x":25,"t":1305118124.70722},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118126.10698},{"y":25,"d":[[24,25,"-"]],"x":27,"t":1305118126.79499},{"y":25,"d":[[24,26,"1"]],"x":28,"t":1305118126.93095},{"y":25,"d":[[24,27,"-"]],"x":29,"t":1305118127.75515},{"y":25,"d":[[24,28,"g"]],"x":30,"t":1305118128.35493},{"y":25,"d":[[24,29,"6"]],"x":31,"t":1305118129.01897},{"y":25,"d":[[24,30,"6"]],"x":32,"t":1305118129.20307},{"y":25,"d":[[24,31,"5"]],"x":33,"t":1305118131.05077},{"y":25,"d":[[24,32,"2"]],"x":34,"t":1305118131.50699},{"y":25,"d":[[24,33,"a"]],"x":35,"t":1305118133.05874},{"y":25,"d":[[24,34,"0"]],"x":36,"t":1305118134.97081},{"y":25,"d":[[24,35,"d"]],"x":37,"t":1305118135.06658},{"y":25,"b":[["cp",22,21],["cp",0,22]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",1,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",22,21],["cp",17,22]],"B":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",1,3],["cp",6,5],["cp",1,6],["cp",5,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",0,12],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",1,19]],"t":1305118135.35481},{"y":25,"b":[["cp",21,20],["cp",0,21]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",21,20],["cp",16,21]],"B":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",4,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",1,11],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,18]],"t":1305118135.36224},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118138.60267},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118138.6907},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118138.8585},{"y":25,"x":15,"t":1305118138.89883},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118139.17059},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118139.33874},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118139.52265},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118139.62663},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118139.89864},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118140.00241},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118140.11465},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118140.26682},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118140.41863},{"y":25,"x":25,"t":1305118140.57048},{"y":25,"d":[[24,24,"m"]],"x":26,"t":1305118141.03443},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305118141.12243},{"y":25,"d":[[24,26,"s"]],"x":28,"t":1305118141.29868},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305118141.41033},{"y":25,"d":[[24,28,"e"]],"x":30,"t":1305118141.58679},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305118141.65077},{"y":25,"x":32,"t":1305118141.9304},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305118142.1627},{"y":25,"d":[[24,32,"e"]],"x":34,"t":1305118142.29832},{"y":25,"d":[[24,33,"f"]],"x":35,"t":1305118142.44259},{"y":25,"d":[[24,34,"s"]],"x":36,"t":1305118142.61849},{"y":25,"d":[[24,35,"/"]],"x":37,"t":1305118142.75437},{"y":25,"d":[[24,36,"h"]],"x":38,"t":1305118142.97037},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305118143.0343},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305118143.17864},{"y":25,"d":[[24,39,"d"]],"x":41,"t":1305118143.29054},{"y":25,"d":[[24,40,"s"]],"x":42,"t":1305118143.49038},{"y":25,"d":[[24,41,"/"]],"x":43,"t":1305118143.84248},{"y":25,"d":[[24,42,"m"]],"x":44,"t":1305118144.14631},{"y":25,"d":[[24,43,"a"]],"x":45,"t":1305118144.21865},{"y":25,"d":[[24,44,"s"]],"x":46,"t":1305118144.3942},{"y":25,"d":[[24,45,"t"]],"x":47,"t":1305118144.51425},{"d":[["r","|\\ "],["r","| * 0cd7f2e (tag: C) commit C. "],["r","| | "],["r","| \\ "],["r","*-. \\ 776c5c9 (tag: B) Commit B: merge D with E and F "],["r","|\\ \\ \\ "],["r","| | |/ "],["r","| | * beb30ca (tag: F) Commit F: merge I with J "],["r","| | |\\ "],["r","| | | * 3252fcc (tag: J) commit J. "],["r","| | * 634836c (tag: I) commit I. "],["r","| * 83be369 (tag: E) commit E. "],["r","* 212efce (tag: D) Commit D: merge G with H "],["r","|\\ "],["r","| * 2ab52ad (tag: H) commit H. "],["r","* e80aa74 (tag: G) commit G. "],["r","~ "],"d",["r","bash-3.2$ git rev-parse HEAD "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git describenput (press RETURN) "],["r","A-1-g6652a0d "],["r","bash-3.2$ git rev-parse A-1-g6652a0d "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git rev-parse master refs/heads/maste "]],"x":48,"B":[["a","0"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000000000000111111000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000000000000111111000000000000000000000000000000000000000000000000000000000"],["r","00001100000000000000000000000000000000000000000000000000000000000000000000000000"],["r","00001000000000000111111000000000000000000000000000000000000000000000000000000000"],["r","00000000000000011111100000000000000000000000000000000000000000000000000000000000"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],"d",["r","11000000000000000000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000001111110000000000000000000000000000000000000000000000000000000000000"],["r","00000000000111111000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000000000000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","00000000000000000000007777777777777777777700000000000000000000000000000000000000"],["a","0"],"d","d","d"],"f":[["r","23777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","27377777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","27737777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","73373777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","45737377777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47573377777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47577777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","47571277777777777777777777777777777777777777777777777777777777777777777777777777"],["r","47571777333333333333333377777777777777777777777777777777777777777777777777777777"],["r","47577733333333333333337777777777777777777777777777777777777777777777777777777777"],["r","47773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","34777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","37773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77333333333333333377777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d",["r","77777777777777777777770000000000000000000077777777777777777777777777777777777777"],["a","7"],"d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118144.69034,"i":1},{"y":25,"d":[[24,47,"r"]],"x":49,"t":1305118144.7626},{"y":25,"b":[["cp",20,19],["cp",0,20]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",20,19],["cp",15,20]],"B":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",1,4],["cp",3,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",1,17]],"t":1305118144.92247},{"y":25,"b":[["cp",19,17],["cp",0,19]],"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",13,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",16,20],["cp",23,21],["cp",16,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",13,14],["cp",19,17],["cp",13,19]],"B":[["cp",1,0],["cp",3,1],["cp",0,3],["cp",1,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",8,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",13,14],["cp",0,15],["cp",0,16]],"t":1305118144.92847},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118146.34632},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118146.41015},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118146.57051},{"y":25,"x":15,"t":1305118146.61045},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118147.27413},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118147.41822},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118147.59418},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118147.7382},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118147.98625},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118148.09044},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118148.18611},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118148.34635},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118148.45034},{"y":25,"x":25,"t":1305118148.58622},{"y":25,"d":[[24,24,"6"]],"x":26,"t":1305118150.69839},{"y":25,"d":[[24,25,"6"]],"x":27,"t":1305118150.85816},{"y":25,"d":[[24,26,"5"]],"x":28,"t":1305118151.07404},{"y":25,"d":[[24,27,"2"]],"x":29,"t":1305118153.36205},{"y":25,"x":30,"t":1305118153.57815},{"y":25,"d":[[24,29,"6"]],"x":31,"t":1305118154.72205},{"y":25,"d":[[24,30,"6"]],"x":32,"t":1305118154.88191},{"y":25,"d":[[24,31,"5"]],"x":33,"t":1305118155.10603},{"y":25,"d":[[24,32,"2"]],"x":34,"t":1305118155.64994},{"y":25,"d":[[24,33,"a"]],"x":35,"t":1305118156.12982},{"y":25,"d":[[24,34,"0"]],"x":36,"t":1305118156.58583},{"y":25,"d":[[24,35,"d"]],"x":37,"t":1305118157.16975},{"y":25,"d":[[24,36,"c"]],"x":38,"t":1305118157.43399},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305118157.88205},{"y":25,"b":[["cp",17,16],["cp",0,17]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",21,20],["cp",15,21],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",17,16],["cp",12,17]],"B":[["cp",1,0],["cp",2,1],["cp",0,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",1,14]],"t":1305118158.04169},{"y":25,"b":[["cp",16,14],["cp",0,16]],"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",10,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",17,15],["cp",18,16],["cp",13,17],["cp",20,18],["cp",13,20],["cp",23,21],["cp",13,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",10,11],["cp",16,14],["cp",10,16]],"B":[["cp",1,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",5,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",10,11],["cp",0,12],["cp",0,13]],"t":1305118158.04778},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118160.43367},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118160.52975},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118160.64991},{"y":25,"x":15,"t":1305118160.68204},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118160.86575},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118161.02572},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118161.21794},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118161.78596},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118162.04174},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118162.12171},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118162.2017},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118162.37765},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118162.4815},{"y":25,"x":25,"t":1305118162.58582},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118163.15392},{"y":25,"x":27,"t":1305118163.37774},{"y":25,"d":[[24,26,"r"]],"x":28,"t":1305118163.61876},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305118163.75352},{"y":25,"d":[[24,28,"f"]],"x":30,"t":1305118163.88992},{"y":25,"d":[[24,29,"s"]],"x":31,"t":1305118164.05757},{"y":25,"d":[[24,30,"/"]],"x":32,"t":1305118164.19367},{"y":25,"d":[[24,31,"t"]],"x":33,"t":1305118164.32963},{"y":25,"d":[[24,32,"a"]],"x":34,"t":1305118164.48974},{"y":25,"d":[[24,33,"g"]],"x":35,"t":1305118164.57782},{"y":25,"d":[[24,34,"s"]],"x":36,"t":1305118164.73754},{"y":25,"d":[[24,35,"/"]],"x":37,"t":1305118165.13737},{"y":25,"d":[[24,36,"A"]],"x":38,"t":1305118166.16174},{"y":25,"x":39,"t":1305118166.66578},{"y":25,"d":[[24,38,"t"]],"x":40,"t":1305118167.69743},{"y":25,"d":[[24,39,"a"]],"x":41,"t":1305118167.84937},{"y":25,"d":[[24,40,"g"]],"x":42,"t":1305118167.97746},{"y":25,"d":[[24,41,"s"]],"x":43,"t":1305118168.13754},{"y":25,"d":[[24,42,"/"]],"x":44,"t":1305118168.28936},{"y":25,"d":[[24,43,"A"]],"x":45,"t":1305118168.61766},{"y":25,"b":[["cp",14,13],["cp",0,14]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",12,18],["cp",21,20],["cp",12,21],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",14,13],["cp",9,14]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",12,11]],"t":1305118168.85751},{"y":25,"b":[["cp",13,10],["cp",0,13]],"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",6,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",15,12],["cp",9,13],["cp",17,14],["cp",9,15],["cp",20,17],["cp",23,20],[21,0,39,"c9b03a208288aebdbfe8d84aeb984952a16da3f2"],["cp",21,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",6,7],["cp",6,8],["cp",13,10],["cp",6,13]],"B":[["cp",3,0],["cp",4,1],["cp",1,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",6,7],["cp",11,8],["cp",8,9],["cp",8,10]],"t":1305118168.86437},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118174.3694},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118174.4576},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118174.54654},{"y":25,"x":15,"t":1305118174.64115},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118174.78523},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118174.94506},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118175.13719},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118175.40928},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118175.64122},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118175.74538},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118175.82515},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118175.97727},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118176.06524},{"y":25,"x":25,"t":1305118176.15315},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118176.53749},{"y":25,"d":[[24,25,"^"]],"x":27,"t":1305118178.49702},{"y":25,"d":[[24,26,"{"]],"x":28,"t":1305118178.96905},{"y":25,"d":[[24,27,"}"]],"x":29,"t":1305118179.13698},{"y":25,"x":30,"t":1305118179.40925},{"y":25,"d":[[24,29,"a"]],"x":31,"t":1305118180.08884},{"y":25,"d":[[24,30,"^"]],"x":32,"t":1305118180.90507},{"y":25,"d":[[24,30," "]],"x":31,"t":1305118181.35298},{"y":25,"d":[[24,29," "]],"x":30,"t":1305118181.50492},{"y":25,"d":[[24,29,"a"]],"x":31,"t":1305118181.64908},{"y":25,"d":[[24,29," "]],"x":30,"t":1305118182.00936},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305118182.30511},{"y":25,"d":[[24,30,"^"]],"x":32,"t":1305118183.13696},{"y":25,"d":[[24,31,"{"]],"x":33,"t":1305118183.64128},{"y":25,"d":[[24,32,"-"]],"x":34,"t":1305118185.22499},{"y":25,"d":[[24,32," "]],"x":33,"t":1305118185.79268},{"d":[["r","| | * 634836c (tag: I) commit I. "],["r","| * 83be369 (tag: E) commit E. "],["r","* 212efce (tag: D) Commit D: merge G with H "],["r","|\\ "],["r","| * 2ab52ad (tag: H) commit H. "],["r","* e80aa74 (tag: G) commit G. "],["r","~ "],"d",["r","bash-3.2$ git rev-parse HEAD "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git describenput (press RETURN) "],["r","A-1-g6652a0d "],["r","bash-3.2$ git rev-parse A-1-g6652a0d "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git rev-parse master refs/heads/master "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],"d",["r","bash-3.2$ git rev-parse 6652 6652a0dce "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],"d",["r","bash-3.2$ git rev-parse A refs/tags/A tags/A "],["r","c9b03a208288aebdbfe8d84aeb984952a16da3f2 "],"d","d",["r","bash-3.2$ git rev-parse A^{} A^{c "]],"x":34,"B":[["r","00000000000000011111100000000000000000000000000000000000000000000000000000000000"],["r","00000000000001111110000000000000000000000000000000000000000000000000000000000000"],"d",["r","11000000000000000000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000001111110000000000000000000000000000000000000000000000000000000000000"],["r","00000000000111111000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000000000000000000000000000000000000000000000000000000000000000000000000"],"d",["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d",["r","00000000000000000000007777777777777777777700000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","47577733333333333333337777777777777777777777777777777777777777777777777777777777"],["r","47773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","34777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","37773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77333333333333333377777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d",["r","77777777777777777777770000000000000000000077777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118186.20876,"i":1},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305118186.2729},{"y":25,"d":[[24,34,"m"]],"x":36,"t":1305118186.44131},{"y":25,"d":[[24,35,"m"]],"x":37,"t":1305118186.60916},{"y":25,"d":[[24,36,"i"]],"x":38,"t":1305118186.76869},{"y":25,"d":[[24,37,"t"]],"x":39,"t":1305118186.84872},{"y":25,"d":[[24,38,"}"]],"x":40,"t":1305118187.66482},{"y":25,"x":41,"t":1305118187.83284},{"y":25,"d":[[24,40,"A"]],"x":42,"t":1305118188.40098},{"y":25,"d":[[24,41,"^"]],"x":43,"t":1305118189.33724},{"y":25,"d":[[24,42,"0"]],"x":44,"t":1305118189.78466},{"y":25,"b":[["cp",10,9],["cp",0,10]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",8,14],["cp",17,16],["cp",8,17],["cp",20,19],["cp",21,20],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",10,9],["cp",5,10]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",8,7]],"t":1305118191.05641},{"y":25,"b":[["cp",9,6],["cp",0,9]],"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",2,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",11,8],["cp",5,9],["cp",13,10],["cp",5,11],["cp",16,13],["cp",19,16],["cp",20,17],["cp",17,18],["cp",17,19],["cp",23,20],[21,0,38,"81993234fc12a325d303eccea20f6fd62941271"],["cp",21,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",2,3],["cp",2,4],["cp",9,6],["cp",2,9]],"B":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",2,3],["cp",7,4],["cp",4,5],["cp",4,6]],"t":1305118191.06293},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118194.92863},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118194.97653},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118195.08872},{"y":25,"x":15,"t":1305118195.18454},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118195.39235},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118195.56868},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118195.77628},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118196.14456},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118196.44832},{"y":25,"d":[[24,19,"["]],"x":21,"t":1305118196.46423},{"y":25,"d":[[24,20,"a"]],"x":22,"t":1305118196.55225},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305118196.63243},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305118196.8003},{"y":25,"d":[[24,22," "]],"x":23,"t":1305118197.10445},{"y":25,"d":[[24,21," "]],"x":22,"t":1305118197.28003},{"y":25,"d":[[24,20," "]],"x":21,"t":1305118197.45612},{"y":25,"d":[[24,19," "]],"x":20,"t":1305118197.62422},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118197.72821},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118197.81663},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118198.0884},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118198.25603},{"y":25,"x":25,"t":1305118198.41624},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118199.43236},{"y":25,"d":[[24,25,"^"]],"x":27,"t":1305118200.24012},{"y":25,"x":28,"t":1305118200.44056},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305118200.64829},{"y":25,"d":[[24,28,"^"]],"x":30,"t":1305118201.51242},{"y":25,"d":[[24,29,"1"]],"x":31,"t":1305118202.67216},{"y":25,"x":32,"t":1305118202.86393},{"y":25,"d":[[24,31,"B"]],"x":33,"t":1305118203.62423},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305118204.61614},{"y":25,"d":[[24,33,"0"]],"x":35,"t":1305118205.18413},{"y":25,"x":34,"t":1305118207.10423},{"y":25,"x":34,"t":1305118207.53593},{"y":25,"x":34,"t":1305118207.71984},{"y":25,"x":33,"t":1305118207.95185},{"y":25,"x":32,"t":1305118208.35973},{"y":25,"x":30,"t":1305118208.55183},{"y":25,"x":29,"t":1305118208.88816},{"y":25,"x":28,"t":1305118209.42394},{"y":25,"d":[[24,27,"A"]],"x":28,"t":1305118209.91978},{"y":25,"b":[["cp",6,5],["cp",0,6]],"d":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",4,8],["cp",10,9],["cp",4,10],["cp",13,12],["cp",4,13],["cp",16,15],["cp",17,16],["cp",20,19],["cp",21,20],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",6,5],["cp",1,6]],"B":[["cp",1,0],["cp",2,1],["cp",4,3]],"t":1305118210.12786},{"y":25,"b":[["cp",5,2],["cp",0,5]],"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",1,5],["cp",9,6],["cp",1,7],["cp",12,9],["cp",15,12],["cp",16,13],["cp",13,14],["cp",13,15],["cp",19,16],["cp",20,17],["cp",17,18],["cp",17,19],["cp",23,20],[21,0,39,"776c5c9da9dcbb7e463c061d965ea47e73853b6e"],["cp",21,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",5,2],["cp",0,5]],"B":[["cp",3,0],["cp",0,1],["cp",0,2]],"t":1305118210.13594},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118212.09566},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118212.19167},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118212.28798},{"y":25,"x":15,"t":1305118212.35183},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118213.23164},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118213.38355},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118213.54363},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118213.67975},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118213.91161},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118214.00788},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118214.46408},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118214.75163},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118214.91149},{"y":25,"x":25,"t":1305118215.02478},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118216.02541},{"y":25,"d":[[24,25,"^"]],"x":27,"t":1305118217.14364},{"y":25,"d":[[24,26,"^"]],"x":28,"t":1305118217.32749},{"y":25,"d":[[24,27,"3"]],"x":29,"t":1305118218.34387},{"y":25,"d":[[24,28,"$"]],"x":30,"t":1305118220.84762},{"y":25,"d":[[24,28," "]],"x":29,"t":1305118221.3593},{"y":25,"d":[[24,28,"^"]],"x":30,"t":1305118222.51947},{"y":25,"d":[[24,29,"2"]],"x":31,"t":1305118223.05566},{"y":25,"x":32,"t":1305118224.27128},{"y":25,"d":[[24,31,"F"]],"x":33,"t":1305118224.62336},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305118225.39157},{"y":25,"d":[[24,33,"2"]],"x":35,"t":1305118226.05549},{"y":25,"x":36,"t":1305118226.69514},{"y":25,"d":[[24,35,"J"]],"x":37,"t":1305118227.18327},{"y":25,"d":[[24,36,"^"]],"x":38,"t":1305118228.43933},{"y":25,"d":[[24,37,"{"]],"x":39,"t":1305118228.96722},{"y":25,"d":[[24,38,"}"]],"x":40,"t":1305118229.15089},{"y":25,"b":[["cp",2,1],["cp",0,2]],"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",0,6],["cp",9,8],["cp",0,9],["cp",12,11],["cp",13,12],["cp",16,15],["cp",17,16],["cp",20,19],["cp",21,20],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",0,2]],"t":1305118230.23108},{"y":25,"b":[["cp",0,1]],"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",1,3],["cp",8,5],["cp",11,8],["cp",12,9],["cp",9,10],["cp",9,11],["cp",15,12],["cp",16,13],["cp",13,14],["cp",13,15],["cp",19,16],["cp",20,17],["cp",17,18],["cp",17,19],["cp",23,20],[21,0,39,"3252fcce40949a4a622a1ac012cb120d6b340ac8"],["cp",21,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1]],"t":1305118230.24079},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118233.38315},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118233.46274},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118233.55884},{"y":25,"x":15,"t":1305118233.61495},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118233.78292},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118233.91884},{"y":25,"d":[[24,16,"-"]],"x":18,"t":1305118234.27091},{"y":25,"d":[[24,16," "]],"x":17,"t":1305118234.64675},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118234.7511},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118234.93483},{"y":25,"d":[[24,18,"a"]],"x":20,"t":1305118235.37517},{"d":[["r","bash-3.2$ git rev-parse A-1-g6652a0d "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git rev-parse master refs/heads/master "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],"d",["r","bash-3.2$ git rev-parse 6652 6652a0dce "],["r","6652a0dce6a5067732c00ef0a220810a7230655e "],"d",["r","bash-3.2$ git rev-parse A refs/tags/A tags/A "],["r","c9b03a208288aebdbfe8d84aeb984952a16da3f2 "],"d","d",["r","bash-3.2$ git rev-parse A^{} A^{commit} A^0 "],["r","81993234fc12a325d303eccea20f6fd629412712 "],"d","d",["r","bash-3.2$ git rev-parse A^ A^1 B^0 "],["r","776c5c9da9dcbb7e463c061d965ea47e73853b6e "],"d","d",["r","bash-3.2$ git rev-parse A^^3^2 F^2 J^{} "],["r","3252fcce40949a4a622a1ac012cb120d6b340ac8 "],"d","d",["r","bash-3.2$ git rev-ar "]],"x":21,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118235.50284,"i":1},{"y":25,"d":[[24,19," "]],"x":20,"t":1305118235.75088},{"y":25,"d":[[24,18," "]],"x":19,"t":1305118235.93481},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118236.15868},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118236.25474},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118236.36677},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118236.55062},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118236.7266},{"y":25,"x":25,"t":1305118236.83095},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118238.1908},{"y":25,"d":[[24,25,"~"]],"x":27,"t":1305118238.76705},{"y":25,"d":[[24,26,"3"]],"x":28,"t":1305118239.40688},{"y":25,"x":29,"t":1305118240.07882},{"y":25,"d":[[24,28,"A"]],"x":30,"t":1305118240.68689},{"y":25,"d":[[24,29,"^"]],"x":31,"t":1305118242.51873},{"y":25,"d":[[24,30,"^"]],"x":32,"t":1305118242.67875},{"y":25,"d":[[24,31,"^"]],"x":33,"t":1305118242.83861},{"y":25,"x":34,"t":1305118243.47846},{"y":25,"d":[[24,33,"G"]],"x":35,"t":1305118244.29461},{"y":25,"d":[[24,34,"^"]],"x":36,"t":1305118244.99875},{"y":25,"d":[[24,35,"0"]],"x":37,"t":1305118245.63882},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",5,4],["cp",0,5],["cp",8,7],["cp",9,8],["cp",12,11],["cp",13,12],["cp",16,15],["cp",17,16],["cp",20,19],["cp",21,20],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118246.43855},{"y":25,"d":[["cp",4,1],["cp",7,4],["cp",8,5],["cp",5,6],["cp",5,7],["cp",11,8],["cp",12,9],["cp",9,10],["cp",9,11],["cp",15,12],["cp",16,13],["cp",13,14],["cp",13,15],["cp",19,16],["cp",20,17],["cp",17,18],["cp",17,19],["cp",23,20],[21,0,39,"e80aa7481beda65ae00e35afc4bc4b171f9b0ebf"],["cp",21,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118246.44669},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118249.01414},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118249.07844},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118249.18214},{"y":25,"x":15,"t":1305118249.25416},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118249.40637},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118249.56618},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118249.74233},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118249.88613},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118250.11821},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118250.23039},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118250.38208},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118250.54223},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118250.68626},{"y":25,"x":25,"t":1305118250.79043},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118251.69439},{"y":25,"d":[[24,25,"^"]],"x":27,"t":1305118252.27812},{"y":25,"d":[[24,26,"{"]],"x":28,"t":1305118253.11028},{"y":25,"d":[[24,27,"g"]],"x":29,"t":1305118253.33446},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305118253.57409},{"y":25,"d":[[24,28," "]],"x":29,"t":1305118253.90997},{"y":25,"d":[[24,27," "]],"x":28,"t":1305118254.06214},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305118254.13433},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305118254.28668},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305118254.43799},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305118254.61403},{"y":25,"d":[[24,31,"}"]],"x":33,"t":1305118255.19824},{"y":25,"x":34,"t":1305118256.35027},{"y":25,"d":[[24,33,"A"]],"x":35,"t":1305118256.75026},{"y":25,"d":[[24,34,":"]],"x":36,"t":1305118257.26198},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",4,3],["cp",5,4],["cp",8,7],["cp",9,8],["cp",12,11],["cp",13,12],["cp",16,15],["cp",17,16],["cp",20,19],["cp",21,20],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118257.58197},{"y":25,"d":[["cp",1,0],["cp",3,1],["cp",4,2],["cp",2,3],["cp",7,5],["cp",8,6],["cp",6,7],["cp",11,9],["cp",12,10],["cp",10,11],["cp",15,13],["cp",16,14],["cp",14,15],["cp",19,17],["cp",20,18],["cp",18,19],["cp",23,21],[22,0,39,"95ab9e7db14ca113d5548dc20a4872950e8e08c0"],["cp",22,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118257.58976},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118259.63117},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118259.71796},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118259.84601},{"y":25,"x":15,"t":1305118260.04607},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118260.51783},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118260.6698},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118260.83774},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118260.95787},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118261.22191},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118261.34978},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118261.51005},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118261.70967},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118261.8379},{"y":25,"x":25,"t":1305118262.0216},{"y":25,"d":[[24,24,"A"]],"x":26,"t":1305118263.12585},{"y":25,"d":[[24,25,"^"]],"x":27,"t":1305118263.69378},{"y":25,"d":[[24,26,"{"]],"x":28,"t":1305118264.06983},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305118264.38964},{"y":25,"d":[[24,28,"g"]],"x":30,"t":1305118264.3981},{"y":25,"d":[[24,29,"r"]],"x":31,"t":1305118264.55763},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305118264.74961},{"y":25,"d":[[24,30," "]],"x":31,"t":1305118264.98962},{"y":25,"d":[[24,29," "]],"x":30,"t":1305118265.17339},{"y":25,"d":[[24,28," "]],"x":29,"t":1305118265.32557},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305118265.47763},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305118265.62157},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305118265.7819},{"y":25,"d":[[24,31,"}"]],"x":33,"t":1305118266.70968},{"y":25,"x":34,"t":1305118267.38168},{"y":25,"x":33,"t":1305118268.90147},{"y":25,"d":[[24,32,":"]],"x":34,"t":1305118269.44573},{"y":25,"d":[[24,33,"s"]],"x":35,"t":1305118269.74933},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305118269.8854},{"y":25,"d":[[24,35,"c"]],"x":37,"t":1305118270.08612},{"y":25,"d":[[24,36,"/"]],"x":38,"t":1305118270.60554},{"y":25,"d":[[24,37,"M"]],"x":39,"t":1305118270.99757},{"y":25,"d":[[24,38,"a"]],"x":40,"t":1305118271.13346},{"y":25,"d":[[24,39,"k"]],"x":41,"t":1305118271.23767},{"y":25,"d":[[24,40,"e"]],"x":42,"t":1305118271.34966},{"y":25,"d":[[24,41,"f"]],"x":43,"t":1305118271.53339},{"y":25,"d":[[24,42,"i"]],"x":44,"t":1305118271.58975},{"y":25,"d":[[24,43,"l"]],"x":45,"t":1305118271.66938},{"y":25,"d":[[24,44,"e"]],"x":46,"t":1305118271.8456},{"y":25,"x":47,"t":1305118272.68531},{"y":25,"d":[[24,46,"A"]],"x":48,"t":1305118273.02954},{"y":25,"d":[[24,47,":"]],"x":49,"t":1305118273.45371},{"d":[["r","6652a0dce6a5067732c00ef0a220810a7230655e "],["r","bash-3.2$ git rev-parse A refs/tags/A tags/A "],["r","c9b03a208288aebdbfe8d84aeb984952a16da3f2 "],"d","d",["r","bash-3.2$ git rev-parse A^{} A^{commit} A^0 "],["r","81993234fc12a325d303eccea20f6fd629412712 "],"d","d",["r","bash-3.2$ git rev-parse A^ A^1 B^0 "],["r","776c5c9da9dcbb7e463c061d965ea47e73853b6e "],"d","d",["r","bash-3.2$ git rev-parse A^^3^2 F^2 J^{} "],["r","3252fcce40949a4a622a1ac012cb120d6b340ac8 "],"d","d",["r","bash-3.2$ git rev-parse A~3 A^^^ G^0 "],["r","e80aa7481beda65ae00e35afc4bc4b171f9b0ebf "],"d","d",["r","bash-3.2$ git rev-parse A^{tree} A: "],["r","95ab9e7db14ca113d5548dc20a4872950e8e08c0 "],"d",["r","bash-3.2$ git rev-parse A^{tree}:src/Makefile A:s "]],"x":50,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118273.77347,"i":1},{"y":25,"d":[[24,49,"r"]],"x":51,"t":1305118273.93317},{"y":25,"d":[[24,50,"c"]],"x":52,"t":1305118274.11754},{"y":25,"d":[[24,51,"/"]],"x":53,"t":1305118274.53324},{"y":25,"d":[[24,52,"M"]],"x":54,"t":1305118274.82173},{"y":25,"d":[[24,53,"a"]],"x":55,"t":1305118274.96537},{"y":25,"d":[[24,54,"k"]],"x":56,"t":1305118275.05338},{"y":25,"d":[[24,55,"e"]],"x":57,"t":1305118275.16537},{"y":25,"d":[[24,56,"f"]],"x":58,"t":1305118275.35737},{"y":25,"d":[[24,57,"i"]],"x":59,"t":1305118275.43738},{"y":25,"d":[[24,58,"l"]],"x":60,"t":1305118275.52534},{"y":25,"d":[[24,59,"e"]],"x":61,"t":1305118275.67725},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",6,5],["cp",9,8],["cp",10,9],["cp",13,12],["cp",14,13],["cp",17,16],["cp",18,17],["cp",21,20],["cp",22,21],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118276.37349},{"y":25,"d":[["cp",1,0],["cp",4,2],["cp",5,3],["cp",3,4],["cp",8,6],["cp",9,7],["cp",7,8],["cp",12,10],["cp",13,11],["cp",11,12],["cp",16,14],["cp",17,15],["cp",15,16],["cp",20,18],["cp",21,19],["cp",19,20],["cp",23,21],[22,1,39,"6554c5d4590dbde28183e9a6a3199d526eeb925"],["cp",22,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118276.38234},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118278.43715},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118278.51742},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118278.66912},{"y":25,"x":15,"t":1305118278.70124},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118278.9172},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118279.09308},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118279.27728},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118279.61307},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118279.93307},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118280.06127},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118280.23718},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118280.44519},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118280.59692},{"y":25,"x":25,"t":1305118281.38085},{"y":25,"d":[[24,24,":"]],"x":26,"t":1305118282.07727},{"y":25,"d":[[24,25,"g"]],"x":27,"t":1305118282.53309},{"y":25,"d":[[24,26,"i"]],"x":28,"t":1305118282.63722},{"y":25,"d":[[24,27,"t"]],"x":29,"t":1305118282.7568},{"y":25,"d":[[24,28,"g"]],"x":30,"t":1305118283.3253},{"y":25,"d":[[24,29,"."]],"x":31,"t":1305118283.65305},{"y":25,"d":[[24,30,"p"]],"x":32,"t":1305118283.99693},{"y":25,"d":[[24,31,"n"]],"x":33,"t":1305118284.56516},{"y":25,"d":[[24,32,"g"]],"x":34,"t":1305118284.75689},{"y":25,"x":35,"t":1305118285.30888},{"y":25,"d":[[24,34,"H"]],"x":36,"t":1305118286.40497},{"y":25,"d":[[24,35,"E"]],"x":37,"t":1305118286.50095},{"y":25,"d":[[24,36,"A"]],"x":38,"t":1305118286.66874},{"y":25,"d":[[24,37,"D"]],"x":39,"t":1305118286.80514},{"y":25,"d":[[24,38,":"]],"x":40,"t":1305118287.77296},{"y":25,"d":[[24,39,"g"]],"x":41,"t":1305118288.08492},{"y":25,"d":[[24,40,"i"]],"x":42,"t":1305118288.20474},{"y":25,"d":[[24,41,"t"]],"x":43,"t":1305118288.2848},{"y":25,"d":[[24,42,"g"]],"x":44,"t":1305118288.62883},{"y":25,"d":[[24,43,"."]],"x":45,"t":1305118289.09263},{"y":25,"d":[[24,44,"p"]],"x":46,"t":1305118289.33268},{"y":25,"d":[[24,45,"n"]],"x":47,"t":1305118289.51684},{"y":25,"d":[[24,46,"g"]],"x":48,"t":1305118289.60469},{"y":25,"d":[["cp",2,1],["cp",3,2],["cp",6,5],["cp",7,6],["cp",10,9],["cp",11,10],["cp",14,13],["cp",15,14],["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118289.7806},{"y":25,"d":[["cp",2,0],["cp",0,1],["cp",5,3],["cp",6,4],["cp",4,5],["cp",9,7],["cp",10,8],["cp",8,9],["cp",13,11],["cp",14,12],["cp",12,13],["cp",17,15],["cp",18,16],["cp",16,17],["cp",20,18],["cp",21,19],["cp",19,20],["cp",23,21],[22,0,39,"fc58966ccc1e5af24c2c9746196550241bc01c50"],["cp",22,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118289.78812},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118291.6526},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118291.72488},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118291.8684},{"y":25,"x":15,"t":1305118291.90068},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118292.11639},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118292.28462},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118292.49271},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118293.35654},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118293.68554},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118293.80465},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118294.0684},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118294.26856},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118294.46062},{"y":25,"x":25,"t":1305118294.63637},{"y":25,"d":[[24,24,"/"]],"x":26,"t":1305118295.44481},{"y":25,"d":[[24,24," "]],"x":25,"t":1305118295.83633},{"y":25,"d":[[24,24,":"]],"x":26,"t":1305118296.18846},{"y":25,"d":[[24,25,"/"]],"x":27,"t":1305118296.57251},{"y":25,"d":[[24,26,"\""]],"x":28,"t":1305118298.04455},{"y":25,"d":[[24,27,"C"]],"x":29,"t":1305118298.46862},{"y":25,"d":[[24,28,"o"]],"x":30,"t":1305118299.04444},{"y":25,"d":[[24,29,"m"]],"x":31,"t":1305118299.21224},{"y":25,"d":[[24,30,"m"]],"x":32,"t":1305118299.36415},{"y":25,"d":[[24,31,"i"]],"x":33,"t":1305118299.53264},{"y":25,"d":[[24,32,"t"]],"x":34,"t":1305118299.60437},{"y":25,"x":35,"t":1305118299.7003},{"y":25,"d":[[24,34,"A"]],"x":36,"t":1305118299.94861},{"y":25,"d":[[24,35,"\""]],"x":37,"t":1305118300.32465},{"y":25,"d":[["cp",3,2],["cp",4,3],["cp",7,6],["cp",8,7],["cp",11,10],["cp",12,11],["cp",15,14],["cp",16,15],["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118300.53216},{"y":25,"d":[["cp",2,1],["cp",3,2],["cp",6,5],["cp",7,6],["cp",10,9],["cp",11,10],["cp",14,13],["cp",15,14],["cp",17,16],["cp",18,17],["cp",20,19],["cp",21,20],["cp",23,22],["cp",0,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118300.53948},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305118302.71653},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305118302.81232},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305118302.91608},{"y":25,"x":15,"t":1305118302.95611},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305118303.13222},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305118303.28403},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305118303.46811},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305118303.61206},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305118303.88436},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305118303.98816},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305118304.11622},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305118304.26828},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305118304.38033},{"y":25,"x":25,"t":1305118304.5084},{"y":25,"d":[[24,24,"H"]],"x":26,"t":1305118305.16415},{"y":25,"d":[[24,25,"E"]],"x":27,"t":1305118305.22016},{"y":25,"d":[[24,26,"A"]],"x":28,"t":1305118305.3721},{"d":[["r","81993234fc12a325d303eccea20f6fd629412712 "],["r","bash-3.2$ git rev-parse A^ A^1 B^0 "],["r","776c5c9da9dcbb7e463c061d965ea47e73853b6e "],"d","d",["r","bash-3.2$ git rev-parse A^^3^2 F^2 J^{} "],["r","3252fcce40949a4a622a1ac012cb120d6b340ac8 "],"d","d",["r","bash-3.2$ git rev-parse A~3 A^^^ G^0 "],["r","e80aa7481beda65ae00e35afc4bc4b171f9b0ebf "],"d","d",["r","bash-3.2$ git rev-parse A^{tree} A: "],["r","95ab9e7db14ca113d5548dc20a4872950e8e08c0 "],"d",["r","bash-3.2$ git rev-parse A^{tree}:src/Makefile A:src/Makefile "],["r","96554c5d4590dbde28183e9a6a3199d526eeb925 "],"d",["r","bash-3.2$ git rev-parse :gitg.png HEAD:gitg.png "],["r","fc58966ccc1e5af24c2c9746196550241bc01c50 "],"d",["r","bash-3.2$ git rev-parse :/\"Commit A\" "],["r","81993234fc12a325d303eccea20f6fd629412712 "],["r","bash-3.2$ git rev-parse HEAD "]],"x":29,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118305.5162,"i":1},{"y":25,"d":[[24,28,"@"]],"x":30,"t":1305118306.37233},{"y":25,"d":[[24,29,"{"]],"x":31,"t":1305118306.84437},{"y":25,"d":[[24,30,"0"]],"x":32,"t":1305118307.27615},{"y":25,"d":[[24,31,"}"]],"x":33,"t":1305118308.756},{"y":25,"x":34,"t":1305118309.03612},{"y":25,"d":[[24,33,"m"]],"x":35,"t":1305118309.38806},{"y":25,"d":[[24,34,"a"]],"x":36,"t":1305118309.56392},{"y":25,"d":[[24,35,"s"]],"x":37,"t":1305118309.85184},{"y":25,"d":[[24,36,"t"]],"x":38,"t":1305118310.028},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305118310.21286},{"y":25,"d":[[24,38,"r"]],"x":40,"t":1305118310.25982},{"y":25,"d":[[24,39,"@"]],"x":41,"t":1305118311.11628},{"y":25,"d":[[24,40,"{"]],"x":42,"t":1305118311.49217},{"y":25,"d":[[24,41,"0"]],"x":43,"t":1305118311.82798},{"y":25,"d":[[24,42,"}"]],"x":44,"t":1305118312.18012},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",6,5],["cp",9,8],["cp",10,9],["cp",13,12],["cp",14,13],["cp",16,15],["cp",17,16],["cp",19,18],["cp",20,19],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118312.98795},{"y":25,"d":[["cp",1,0],["cp",4,2],["cp",5,3],["cp",3,4],["cp",8,6],["cp",9,7],["cp",7,8],["cp",12,10],["cp",13,11],["cp",11,12],["cp",15,13],["cp",16,14],["cp",14,15],["cp",18,16],["cp",19,17],["cp",17,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,39,"6652a0dce6a5067732c00ef0a220810a7230655e"],["cp",22,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118312.99555},{"y":25,"d":[["cp",2,1],["cp",3,2],["cp",6,5],["cp",7,6],["cp",10,9],["cp",11,10],["cp",13,12],["cp",14,13],["cp",16,15],["cp",17,16],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],[23,0,39,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"t":1305118318.60421}]} \ No newline at end of file diff --git a/html/part2/ch11-03-rev-list.html b/html/part2/ch11-03-rev-list.html deleted file mode 100644 index aa9f501b2..000000000 --- a/html/part2/ch11-03-rev-list.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch11-03-rev-list -json_file: ch11-03-rev-list.json ---- diff --git a/html/part2/ch11-03-rev-list.json b/html/part2/ch11-03-rev-list.json deleted file mode 100644 index 568244a45..000000000 --- a/html/part2/ch11-03-rev-list.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118352.9488,"i":1},{"y":1,"d":[[0,10,54,"cd /path/to/my/workspace/gitdemo-commit-tree/"]],"x":11,"t":1305118353.42614},{"y":2,"x":1,"t":1305118354.08204},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305118354.0823},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305118355.1061},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305118355.19432},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305118355.33011},{"y":2,"x":15,"t":1305118355.34614},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305118356.37012},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305118356.52216},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305118356.58634},{"y":2,"x":19,"t":1305118356.65808},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305118356.80209},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305118356.98606},{"y":2,"d":[[1,20,"o"]],"x":22,"t":1305118357.26604},{"y":2,"d":[[1,21,"n"]],"x":23,"t":1305118357.40998},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305118357.49837},{"y":2,"d":[[1,23,"l"]],"x":25,"t":1305118357.59413},{"y":2,"d":[[1,24,"i"]],"x":26,"t":1305118357.73002},{"y":2,"d":[[1,25,"n"]],"x":27,"t":1305118357.85818},{"y":2,"d":[[1,26,"e"]],"x":28,"t":1305118357.93816},{"y":2,"x":29,"t":1305118358.01002},{"y":2,"d":[[1,28,"-"]],"x":30,"t":1305118358.17783},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305118358.36212},{"y":2,"d":[[1,30,"d"]],"x":32,"t":1305118358.72209},{"y":2,"d":[[1,31,"e"]],"x":33,"t":1305118358.89001},{"y":2,"d":[[1,32,"c"]],"x":34,"t":1305118359.06622},{"y":2,"d":[[1,33,"o"]],"x":35,"t":1305118359.12202},{"y":2,"d":[[1,34,"r"]],"x":36,"t":1305118359.22593},{"y":2,"d":[[1,35,"a"]],"x":37,"t":1305118359.37816},{"y":2,"d":[[1,36,"t"]],"x":38,"t":1305118359.51409},{"y":2,"d":[[1,37,"e"]],"x":39,"t":1305118359.61805},{"y":2,"x":40,"t":1305118359.76977},{"y":2,"d":[[1,39,"-"]],"x":41,"t":1305118360.00183},{"y":2,"d":[[1,40,"-"]],"x":42,"t":1305118360.24188},{"y":2,"d":[[1,41,"g"]],"x":43,"t":1305118360.4498},{"y":2,"d":[[1,42,"r"]],"x":44,"t":1305118360.63383},{"y":2,"d":[[1,43,"a"]],"x":45,"t":1305118360.75383},{"y":2,"d":[[1,44,"p"]],"x":46,"t":1305118360.89788},{"y":2,"d":[[1,45,"h"]],"x":47,"t":1305118361.04979},{"y":3,"x":1,"t":1305118361.30588},{"y":21,"b":[[20,0,5,["a","7"]]],"d":[[2,0,77,"* 6652a0d (HEAD, origin/master, origin/HEAD, master) Add Images for git treevi"],[3,0,45,"* 8199323 (tag: A) Commit A: merge B with C."],[4,0,1,"|\\"],[5,0,29,"| * 0cd7f2e (tag: C) commit C."],[6,0,2,"| |"],[7,0,3,"| \\"],[8,0,54,"*-. \\ 776c5c9 (tag: B) Commit B: merge D with E and F"],[9,0,5,"|\\ \\ \\"],[10,0,5,"| | |/"],[11,0,48,"| | * beb30ca (tag: F) Commit F: merge I with J"],[12,0,5,"| | |\\"],[13,0,33,"| | | * 3252fcc (tag: J) commit J."],[14,0,31,"| | * 634836c (tag: I) commit I."],[15,0,29,"| * 83be369 (tag: E) commit E."],[16,0,44,"* 212efce (tag: D) Commit D: merge G with H"],["cp",4,17],[18,0,29,"| * 2ab52ad (tag: H) commit H."],[19,0,27,"* e80aa74 (tag: G) commit G."],[20,0,4,"(END)"]],"x":7,"f":[[2,2,51,"33333333366663311111111111113311111111111332222223"],[3,4,19,["a","3"]],[4,0,1,"23"],[5,0,19,"27773333333333333333"],[6,0,2,"273"],[7,0,3,"2773"],[8,1,23,"33737773333333333333333"],[9,0,5,"457373"],[10,0,5,"475733"],[11,0,2,"475"],[11,8,23,["a","3"]],[12,0,5,"475712"],[13,0,23,"475717773333333333333333"],[14,0,21,"4757773333333333333333"],[15,0,19,"47773333333333333333"],["cp",3,16],[17,0,1,"34"],[18,0,19,"37773333333333333333"],[19,2,17,["a","3"]],[20,0,5,["a","0"]]],"B":[[2,11,50,"1111001111111111111001111111111100111111"],[3,13,18,["a","1"]],["cp",3,5],[8,17,22,["a","1"]],["cp",8,11],[12,4,5,["a","1"]],[13,4,"1"],[13,17,22,["a","1"]],[14,15,20,["a","1"]],["cp",3,15],["cp",3,16],[17,0,1,["a","1"]],[18,0,"1"],[18,13,18,["a","1"]],[19,11,16,["a","1"]]],"t":1305118361.31686},{"y":21,"b":[["cp",0,20]],"d":[["cp",21,20]],"x":1,"f":[["cp",0,20]],"t":1305118362.41798},{"y":21,"d":[[20,0,8,"bash-3.2$"]],"x":11,"t":1305118362.41941},{"y":21,"d":[[20,10,"g"]],"x":12,"t":1305118363.56187},{"y":21,"d":[[20,11,"i"]],"x":13,"t":1305118363.64202},{"y":21,"d":[[20,12,"t"]],"x":14,"t":1305118363.76208},{"y":21,"x":15,"t":1305118363.79391},{"y":21,"d":[[20,14,"r"]],"x":16,"t":1305118364.00156},{"y":21,"d":[[20,15,"e"]],"x":17,"t":1305118364.16303},{"y":21,"d":[[20,16,"v"]],"x":18,"t":1305118364.32173},{"y":21,"d":[[20,17,"-"]],"x":19,"t":1305118364.45762},{"y":21,"d":[[20,18,"l"]],"x":20,"t":1305118364.67374},{"y":21,"d":[[20,19,"i"]],"x":21,"t":1305118364.77002},{"y":21,"d":[[20,20,"s"]],"x":22,"t":1305118364.87402},{"y":21,"d":[[20,21,"t"]],"x":23,"t":1305118364.95382},{"y":21,"x":24,"t":1305118365.13776},{"y":21,"d":[[20,23,"-"]],"x":25,"t":1305118365.95366},{"y":21,"d":[[20,24,"-"]],"x":26,"t":1305118366.11394},{"y":21,"d":[[20,25,"o"]],"x":27,"t":1305118366.32165},{"y":21,"d":[[20,26,"n"]],"x":28,"t":1305118366.47365},{"y":21,"d":[[20,27,"e"]],"x":29,"t":1305118366.6417},{"y":21,"d":[[20,28,"l"]],"x":30,"t":1305118366.7937},{"y":21,"d":[[20,29,"i"]],"x":31,"t":1305118366.95364},{"y":21,"d":[[20,30,"n"]],"x":32,"t":1305118367.0818},{"y":21,"d":[[20,31,"e"]],"x":33,"t":1305118367.13778},{"y":21,"x":34,"t":1305118367.21785},{"y":21,"d":[[20,33,"A"]],"x":35,"t":1305118367.68187},{"y":22,"x":1,"t":1305118368.07382},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],[14,0,32,"8199323 Commit A: merge B with C."],[15,0,29,"0cd7f2e commit C. "],[16,0,44,"776c5c9 Commit B: merge D with E and F "],[17,0,31,"beb30ca Commit F: merge I with J"],[18,0,31,"212efce Commit D: merge G with H"],[19,0,27,"634836c commit I. "],[20,0,33,"3252fcc commit J. "],[21,0,16,"83be369 commit E."],[22,0,16,"2ab52ad commit H."],[23,0,16,"e80aa74 commit G."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",11,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",16,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",20,13],["cp",13,14],["cp",13,15],["cp",13,16],["cp",13,17],["cp",13,18],["cp",13,19]],"B":[["cp",8,1],["cp",0,2],["cp",0,3],["cp",1,4],["cp",12,5],["cp",13,6],["cp",14,7],["cp",15,8],["cp",8,9],["cp",17,10],["cp",18,11],["cp",19,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19]],"t":1305118368.08197},{"y":25,"d":[["cp",13,24]],"x":11,"t":1305118371.84943},{"y":25,"x":34,"t":1305118372.26573},{"y":25,"d":[[24,33," "]],"x":33,"t":1305118372.64945},{"y":25,"x":34,"t":1305118372.85744},{"y":25,"d":[[24,33,"D"]],"x":35,"t":1305118373.19348},{"y":25,"x":36,"t":1305118373.52156},{"y":25,"d":[[24,35,"F"]],"x":37,"t":1305118373.84187},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12]],"B":[["cp",1,0],["cp",2,1],["cp",0,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12]],"t":1305118374.55356},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],["cp",10,18],["cp",11,19],["cp",12,20],["cp",13,21],["cp",15,22],["cp",16,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11]],"B":[["cp",6,0],["cp",7,1],["cp",1,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",6,7],["cp",6,8],["cp",6,9],["cp",6,10],["cp",6,11]],"t":1305118374.56162},{"y":25,"d":[["cp",17,24]],"x":11,"t":1305118378.05754},{"y":25,"x":36,"t":1305118378.64152},{"y":25,"d":[[24,35," "]],"x":35,"t":1305118378.994},{"y":25,"x":34,"t":1305118379.16933},{"y":25,"x":35,"t":1305118379.36911},{"y":25,"x":36,"t":1305118379.69714},{"y":25,"d":[[24,35,"^"]],"x":37,"t":1305118381.6186},{"y":25,"d":[[24,36,"G"]],"x":38,"t":1305118382.22522},{"y":25,"x":39,"t":1305118382.57735},{"y":25,"d":[[24,38,"D"]],"x":40,"t":1305118382.87351},{"y":25,"x":39,"t":1305118384.08257},{"y":25,"x":37,"t":1305118384.36904},{"y":25,"x":36,"t":1305118384.68108},{"y":25,"x":35,"t":1305118384.86494},{"y":25,"x":34,"t":1305118385.04898},{"y":25,"d":[[24,33,38," ^G D "]],"x":34,"t":1305118385.2411},{"y":25,"d":[[24,33,37,"^G D "]],"x":34,"t":1305118385.43307},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",9,17],["cp",10,18],["cp",11,19],["cp",12,20],["cp",14,21],["cp",15,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5]],"B":[["cp",1,0],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5]],"t":1305118385.82545},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",15,13],["cp",16,14],["cp",7,15],["cp",8,16],["cp",9,17],["cp",10,18],["cp",12,19],["cp",13,20],["cp",23,21],["cp",8,22],["cp",12,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",3,4]],"B":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",3,4]],"t":1305118385.83346},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305118388.39283},{"y":25,"x":37,"t":1305118388.92912},{"d":[["r","|\\ "],["r","| * 2ab52ad (tag: H) commit H. "],["r","* e80aa74 (tag: G) commit G. "],["r","bash-3.2$ git rev-list --oneline A "],["r","8199323 Commit A: merge B with C. "],["r","0cd7f2e commit C. "],["r","776c5c9 Commit B: merge D with E and F "],["r","beb30ca Commit F: merge I with J "],["r","212efce Commit D: merge G with H "],["r","634836c commit I. "],["r","3252fcc commit J. "],["r","83be369 commit E. "],["r","2ab52ad commit H. "],["r","e80aa74 commit G. "],["r","bash-3.2$ git rev-list --oneline D F "],["r","beb30ca Commit F: merge I with J "],["r","212efce Commit D: merge G with H "],["r","634836c commit I. "],["r","3252fcc commit J. "],["r","2ab52ad commit H. "],["r","e80aa74 commit G. "],["r","bash-3.2$ git rev-list --oneline ^G D "],["r","212efce Commit D: merge G with H "],["r","2ab52ad commit H. "],["r","bash-3.2$ git rev-list --oneline ^G D "]],"x":36,"B":[["r","11000000000000000000000000000000000000000000000000000000000000000000000000000000"],["r","10000000000001111110000000000000000000000000000000000000000000000000000000000000"],["r","00000000000111111000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","34777777777777777777777777777777777777777777777777777777777777777777777777777777"],["r","37773333333333333333777777777777777777777777777777777777777777777777777777777777"],["r","77333333333333333377777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118389.48077,"i":1},{"y":25,"x":35,"t":1305118389.66475},{"y":25,"x":34,"t":1305118389.82489},{"y":25,"d":[[24,33,36,"G D "]],"x":34,"t":1305118390.03276},{"y":25,"x":35,"t":1305118390.20869},{"y":25,"d":[[24,34,36,". D"]],"x":36,"t":1305118390.72076},{"y":25,"d":[[24,35,37,". D"]],"x":37,"t":1305118390.88897},{"y":25,"x":36,"t":1305118391.16962},{"y":25,"x":37,"t":1305118391.54454},{"y":25,"d":[[24,36,37,"D "]],"x":37,"t":1305118391.78493},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",6,14],["cp",7,15],["cp",8,16],["cp",9,17],["cp",11,18],["cp",12,19],["cp",21,20],["cp",7,21],["cp",11,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2]],"B":[["cp",1,0],["cp",2,1],["cp",3,2]],"t":1305118392.09676},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",4,12],["cp",5,13],["cp",6,14],["cp",7,15],["cp",9,16],["cp",10,17],["cp",20,18],["cp",5,19],["cp",9,20],["cp",23,21],["cp",5,22],["cp",9,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",0,1]],"B":[["cp",2,0],["cp",0,1]],"t":1305118392.10547},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305118395.11262},{"y":25,"x":37,"t":1305118395.56068},{"y":25,"x":36,"t":1305118395.91269},{"y":25,"x":35,"t":1305118396.08861},{"y":25,"x":34,"t":1305118396.24856},{"y":25,"d":[[24,33,36,["a"," "]]],"x":33,"t":1305118396.78472},{"y":25,"x":34,"t":1305118396.92844},{"y":25,"d":[[24,33,"^"]],"x":35,"t":1305118397.80207},{"y":25,"d":[[24,34,"B"]],"x":36,"t":1305118398.20071},{"y":25,"x":37,"t":1305118398.62446},{"y":25,"d":[[24,36,"C"]],"x":38,"t":1305118399.11246},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",6,14],["cp",8,15],["cp",9,16],["cp",18,17],["cp",4,18],["cp",8,19],["cp",21,20],["cp",4,21],["cp",8,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118399.55249},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",2,10],["cp",3,11],["cp",4,12],["cp",5,13],["cp",7,14],["cp",8,15],["cp",17,16],["cp",3,17],["cp",7,18],["cp",20,19],["cp",3,20],["cp",7,21],["cp",23,22],["cp",0,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118399.55996},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305118400.74455},{"y":25,"x":15,"t":1305118400.98454},{"y":25,"x":18,"t":1305118401.16835},{"y":25,"x":19,"t":1305118401.3283},{"y":25,"x":24,"t":1305118401.50424},{"y":25,"x":26,"t":1305118401.67225},{"y":25,"x":34,"t":1305118401.84096},{"y":25,"x":35,"t":1305118402.01639},{"y":25,"x":34,"t":1305118402.45625},{"y":25,"d":[[24,33,36,["a"," "]]],"x":33,"t":1305118403.05648},{"y":25,"x":33,"t":1305118403.29632},{"y":25,"x":34,"t":1305118403.2964},{"y":25,"d":[[24,33,"C"]],"x":35,"t":1305118403.67238},{"y":25,"x":36,"t":1305118403.94454},{"y":25,"d":[[24,35,"^"]],"x":37,"t":1305118404.5764},{"y":25,"d":[[24,36,"B"]],"x":38,"t":1305118405.11219},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",1,9],["cp",2,10],["cp",3,11],["cp",4,12],["cp",6,13],["cp",7,14],["cp",16,15],["cp",2,16],["cp",6,17],["cp",19,18],["cp",2,19],["cp",6,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118406.07236},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",1,9],["cp",2,10],["cp",3,11],["cp",5,12],["cp",6,13],["cp",15,14],["cp",1,15],["cp",5,16],["cp",18,17],["cp",1,18],["cp",5,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",21,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118406.08015},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305118409.94402},{"y":25,"x":37,"t":1305118410.45607},{"y":25,"x":36,"t":1305118410.75194},{"y":25,"x":35,"t":1305118411.16793},{"y":25,"x":34,"t":1305118411.36803},{"y":25,"d":[[24,33,36,["a"," "]]],"x":33,"t":1305118411.69589},{"y":25,"x":34,"t":1305118411.84006},{"y":25,"d":[[24,33,"B"]],"x":35,"t":1305118412.25584},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305118412.73601},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305118412.89571},{"y":25,"d":[[24,36,"C"]],"x":38,"t":1305118413.79195},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",1,9],["cp",2,10],["cp",4,11],["cp",5,12],["cp",14,13],["cp",0,14],["cp",4,15],["cp",17,16],["cp",0,17],["cp",4,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",20,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118415.38371},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",1,9],["cp",3,10],["cp",4,11],["cp",13,12],["cp",7,13],["cp",3,14],["cp",16,15],["cp",7,16],["cp",3,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",23,22],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118415.39302},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305118416.31167},{"y":25,"x":37,"t":1305118416.80007},{"y":25,"x":36,"t":1305118417.17593},{"y":25,"x":35,"t":1305118417.34401},{"y":25,"x":34,"t":1305118417.50386},{"y":25,"d":[[24,33,36,["a"," "]]],"x":33,"t":1305118417.87963},{"y":25,"x":34,"t":1305118418.03158},{"y":25,"d":[[24,33,"C"]],"x":35,"t":1305118418.39973},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305118418.6958},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305118418.87158},{"y":25,"d":[[24,36,"B"]],"x":38,"t":1305118419.19964},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",2,9],["cp",3,10],["cp",12,11],["cp",6,12],["cp",2,13],["cp",15,14],["cp",6,15],["cp",2,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",22,21],["cp",18,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118420.97543},{"y":25,"d":[["cp",5,0],["cp",6,1],["cp",7,2],["cp",8,3],["cp",9,4],["cp",10,5],["cp",11,6],["cp",1,7],["cp",4,8],["cp",14,9],["cp",1,10],["cp",4,11],["cp",17,12],["cp",18,13],["cp",19,14],["cp",13,15],["cp",21,16],["cp",13,17],["cp",23,18],[19,0,37,"776c5c9 Commit B: merge D with E and F"],["cp",1,20],[21,0,36,"83be369 commit E. "],["cp",4,22],["cp",5,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118420.98309},{"y":25,"d":[["cp",18,24]],"x":11,"t":1305118426.01532},{"y":25,"x":15,"t":1305118426.51941},{"y":25,"x":18,"t":1305118426.71118},{"y":25,"x":19,"t":1305118426.8793},{"y":25,"x":24,"t":1305118427.04714},{"y":25,"x":26,"t":1305118427.21553},{"y":25,"x":34,"t":1305118427.38329},{"y":25,"x":35,"t":1305118427.55116},{"y":25,"x":34,"t":1305118427.93531},{"y":25,"d":[[24,33,36,["a"," "]]],"x":33,"t":1305118428.36772},{"y":25,"x":34,"t":1305118428.5195},{"y":25,"d":[[24,33,"B"]],"x":35,"t":1305118428.86336},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305118429.64751},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305118429.8072},{"y":25,"d":[[24,36,"."]],"x":38,"t":1305118429.98292},{"y":25,"d":[[24,37,"C"]],"x":39,"t":1305118430.35132},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",3,7],["cp",9,8],["cp",0,9],["cp",3,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",12,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",21,20],["cp",3,21],["cp",4,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118430.61954},{"y":25,"d":[["cp",3,1],["cp",8,2],["cp",0,3],["cp",1,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",6,8],["cp",15,9],["cp",6,10],["cp",17,11],["cp",18,12],["cp",0,13],["cp",20,14],["cp",1,15],["cp",22,16],["cp",23,17],["cp",6,18],["cp",12,19],["cp",0,20],["cp",14,21],["cp",1,22],["cp",16,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118430.62272},{"y":25,"d":[["cp",17,24]],"x":11,"t":1305118431.63923},{"y":25,"x":38,"t":1305118432.0711},{"y":25,"x":35,"t":1305118432.34327},{"y":25,"x":34,"t":1305118432.77501},{"y":25,"d":[[24,33,37,["a"," "]]],"x":33,"t":1305118433.20709},{"y":25,"x":34,"t":1305118433.38303},{"y":25,"d":[[24,33,"C"]],"x":35,"t":1305118433.76722},{"y":25,"d":[[24,34,"."]],"x":36,"t":1305118434.7992},{"y":25,"d":[[24,35,"."]],"x":37,"t":1305118434.96722},{"y":25,"d":[[24,36,"."]],"x":38,"t":1305118435.13497},{"y":25,"d":[[24,37,"B"]],"x":39,"t":1305118435.44722},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",9,8],["cp",5,9],["cp",11,10],["cp",12,11],["cp",2,12],["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",5,17],["cp",11,18],["cp",2,19],["cp",13,20],["cp",0,21],["cp",15,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118435.83129},{"y":25,"d":[["cp",6,0],["cp",5,1],["cp",8,2],["cp",1,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",1,11],["cp",5,12],["cp",6,13],["cp",7,14],["cp",8,15],["cp",9,16],["cp",23,17],["cp",1,18],["cp",5,19],["cp",6,20],["cp",7,21],["cp",8,22],["cp",9,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118435.83819},{"d":[["r","bash-3.2$ git rev-list --oneline C ^B "],["r","0cd7f2e commit C. "],["r","bash-3.2$ git rev-list --oneline B..C "],["r","0cd7f2e commit C. "],["r","bash-3.2$ git rev-list --oneline C..B "],["r","776c5c9 Commit B: merge D with E and F "],["r","212efce Commit D: merge G with H "],["r","83be369 commit E. "],["r","2ab52ad commit H. "],["r","e80aa74 commit G. "],["r","bash-3.2$ git rev-list --oneline B...C "],["r","0cd7f2e commit C. "],["r","776c5c9 Commit B: merge D with E and F "],["r","212efce Commit D: merge G with H "],["r","83be369 commit E. "],["r","2ab52ad commit H. "],["r","e80aa74 commit G. "],["r","bash-3.2$ git rev-list --oneline C...B "],["r","0cd7f2e commit C. "],["r","776c5c9 Commit B: merge D with E and F "],["r","212efce Commit D: merge G with H "],["r","83be369 commit E. "],["r","2ab52ad commit H. "],["r","e80aa74 commit G. "],["r","bash-3.2$ git rev-list --oneline C...B "]],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305118437.58283,"i":1},{"y":25,"x":15,"t":1305118438.11083},{"y":25,"x":18,"t":1305118438.28676},{"y":25,"x":19,"t":1305118438.46276},{"y":25,"x":24,"t":1305118438.63073},{"y":25,"x":26,"t":1305118438.79887},{"y":25,"x":34,"t":1305118438.95869},{"y":25,"x":35,"t":1305118439.13473},{"y":25,"x":34,"t":1305118439.5508},{"y":25,"d":[[24,33,37,["a"," "]]],"x":33,"t":1305118439.96011},{"y":25,"x":34,"t":1305118440.12683},{"y":25,"d":[[24,33,"B"]],"x":35,"t":1305118440.44744},{"y":25,"d":[[24,34,"^"]],"x":36,"t":1305118442.14294},{"y":25,"d":[[24,35,"@"]],"x":37,"t":1305118442.60675},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",0,10],["cp",4,11],["cp",5,12],["cp",6,13],["cp",7,14],["cp",8,15],["cp",17,16],["cp",0,17],["cp",4,18],["cp",5,19],["cp",6,20],["cp",7,21],["cp",8,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118444.0709},{"y":25,"d":[["cp",7,0],["cp",8,1],["cp",9,2],["cp",10,3],["cp",16,9],["cp",23,16],[17,0,8,"beb30ca C"],[17,15,31,"F: merge I with J"],["cp",5,18],[19,0,8,"634836c c"],[19,15,31,"I. "],[20,0,6,"3252fcc"],[20,15,"J"],["cp",6,21],["cp",0,22],["cp",1,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118444.07908},{"y":25,"d":[["cp",16,24]],"x":11,"t":1305118449.30262},{"y":25,"x":15,"t":1305118449.74239},{"y":25,"x":18,"t":1305118449.91836},{"y":25,"x":36,"t":1305118450.28656},{"y":25,"d":[[24,35," "]],"x":35,"t":1305118450.78256},{"y":25,"x":36,"t":1305118450.97443},{"y":25,"d":[[24,35,"!"]],"x":37,"t":1305118451.34245},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",2,9],["cp",3,10],["cp",4,11],["cp",5,12],["cp",6,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",4,17],["cp",19,18],["cp",20,19],["cp",5,20],["cp",6,21],["cp",0,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118452.97431},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",1,8],["cp",2,9],["cp",3,10],["cp",4,11],["cp",5,12],["cp",6,13],["cp",15,14],["cp",16,15],["cp",3,16],["cp",18,17],["cp",19,18],["cp",4,19],["cp",5,20],["cp",6,21],["cp",23,22],["cp",2,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118452.98272},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305118454.86233},{"y":25,"x":36,"t":1305118455.52638},{"y":25,"x":35,"t":1305118455.87078},{"y":25,"x":34,"t":1305118456.05417},{"y":25,"d":[[24,33,35,["a"," "]]],"x":33,"t":1305118456.40595},{"y":25,"x":34,"t":1305118456.55849},{"y":25,"d":[[24,33,"F"]],"x":35,"t":1305118457.83817},{"y":25,"d":[[24,34,"^"]],"x":36,"t":1305118459.13397},{"y":25,"d":[[24,34," "]],"x":35,"t":1305118459.99826},{"y":25,"d":[[24,34,"^"]],"x":36,"t":1305118460.94227},{"y":25,"d":[[24,35,"~"]],"x":37,"t":1305118461.29408},{"y":25,"d":[[24,35," "]],"x":36,"t":1305118461.94195},{"y":25,"d":[[24,35,"!"]],"x":37,"t":1305118462.30209},{"y":25,"x":38,"t":1305118462.89387},{"y":25,"d":[[24,37,"D"]],"x":39,"t":1305118463.91025},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",1,8],["cp",2,9],["cp",3,10],["cp",4,11],["cp",5,12],["cp",14,13],["cp",15,14],["cp",2,15],["cp",17,16],["cp",18,17],["cp",3,18],["cp",4,19],["cp",5,20],["cp",22,21],["cp",1,22],["cp",24,23],[24,["a"," "]]],"x":1,"t":1305118464.23792},{"y":25,"d":[["cp",4,0],["cp",5,1],["cp",6,2],["cp",7,3],["cp",8,4],["cp",9,5],["cp",10,6],["cp",0,7],["cp",1,8],["cp",13,9],["cp",14,10],["cp",5,11],["cp",16,12],["cp",17,13],["cp",6,14],["cp",0,15],["cp",1,16],["cp",21,17],["cp",4,18],["cp",23,19],["cp",10,20],["cp",5,21],["cp",0,22],["cp",1,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305118464.24559},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",13,12],["cp",5,13],["cp",6,14],["cp",0,15],["cp",17,16],["cp",3,17],["cp",19,18],["cp",9,19],["cp",4,20],["cp",6,21],["cp",0,22],[23,0,16,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"t":1305118467.31}]} \ No newline at end of file diff --git a/html/part2/ch12-01-back2future-1.html b/html/part2/ch12-01-back2future-1.html deleted file mode 100644 index 184962829..000000000 --- a/html/part2/ch12-01-back2future-1.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch12-01-back2future-1 -json_file: ch12-01-back2future-1.json ---- diff --git a/html/part2/ch12-01-back2future-1.json b/html/part2/ch12-01-back2future-1.json deleted file mode 100644 index 04cae02ae..000000000 --- a/html/part2/ch12-01-back2future-1.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119117.63681,"i":1},{"y":1,"d":[[0,10,38,"cd /path/to/my/workspace/demo"]],"x":11,"t":1305119118.17385},{"y":2,"x":1,"t":1305119118.94986},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305119118.9501},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305119119.84598},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305119119.966},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305119120.03796},{"y":2,"x":15,"t":1305119120.10975},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305119120.22187},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305119120.40568},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305119120.51003},{"y":2,"x":19,"t":1305119120.58987},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305119120.72565},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305119120.92603},{"y":2,"d":[[1,20,"o"]],"x":22,"t":1305119121.42987},{"y":2,"d":[[1,21,"n"]],"x":23,"t":1305119121.59794},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305119121.68589},{"y":2,"d":[[1,23,"l"]],"x":25,"t":1305119122.38981},{"y":2,"d":[[1,24,"i"]],"x":26,"t":1305119122.53365},{"y":2,"d":[[1,25,"n"]],"x":27,"t":1305119122.66987},{"y":2,"d":[[1,26,"e"]],"x":28,"t":1305119122.766},{"y":2,"x":29,"t":1305119122.90964},{"y":2,"d":[[1,28,"-"]],"x":30,"t":1305119123.12582},{"y":2,"d":[[1,29,"6"]],"x":31,"t":1305119123.9978},{"y":2,"x":32,"t":1305119124.10162},{"y":2,"d":[[1,31,"-"]],"x":33,"t":1305119124.33381},{"y":2,"d":[[1,32,"-"]],"x":34,"t":1305119124.52582},{"y":2,"d":[[1,33,"d"]],"x":35,"t":1305119126.44574},{"y":2,"d":[[1,34,"e"]],"x":36,"t":1305119126.62961},{"y":2,"d":[[1,35,"c"]],"x":37,"t":1305119126.79749},{"y":2,"d":[[1,36,"o"]],"x":38,"t":1305119126.87771},{"y":2,"d":[[1,37,"r"]],"x":39,"t":1305119126.99769},{"y":2,"d":[[1,38,"a"]],"x":40,"t":1305119127.16562},{"y":2,"d":[[1,39,"t"]],"x":41,"t":1305119127.26987},{"y":2,"d":[[1,40,"e"]],"x":42,"t":1305119127.36573},{"y":3,"x":1,"t":1305119127.46984},{"y":9,"d":[[2,0,66,"8e715bc (HEAD, master) commit using -a flag, means add then commit."],[3,0,33,"fd33ea2 add hello.h using -f flag."],[4,0,51,"4ad14d4 ignore works even move .gitignore to subdir."],[5,0,29,"211cb82 ignore object files..."],[6,0,48,"15f507b (tag: hello_1.0) Hello world initialized."],[7,0,33,"8be895d README is from welcome.txt"],[8,0,8,"bash-3.2$"]],"x":11,"f":[[2,0,21,"3333333336666332222223"],[3,0,6,["a","3"]],["cp",3,4],["cp",3,5],[6,0,23,["a","3"]],["cp",3,7]],"B":[[2,9,20,"111100111111"],[6,9,22,["a","1"]]],"t":1305119127.48358},{"y":9,"d":[[8,10,"g"]],"x":12,"t":1305119129.7258},{"y":9,"d":[[8,11,"i"]],"x":13,"t":1305119129.80549},{"y":9,"d":[[8,12,"t"]],"x":14,"t":1305119129.91759},{"y":9,"x":15,"t":1305119129.97348},{"y":9,"d":[[8,14,"t"]],"x":16,"t":1305119130.22958},{"y":9,"d":[[8,15,"a"]],"x":17,"t":1305119130.38933},{"y":9,"d":[[8,16,"g"]],"x":18,"t":1305119130.52565},{"y":9,"x":19,"t":1305119130.74955},{"y":9,"d":[[8,18,"F"]],"x":20,"t":1305119135.63752},{"y":9,"x":21,"t":1305119136.03726},{"y":9,"d":[[8,20,"h"]],"x":22,"t":1305119136.33333},{"y":9,"d":[[8,21,"e"]],"x":23,"t":1305119136.42149},{"y":9,"d":[[8,21," "]],"x":22,"t":1305119136.78927},{"y":9,"d":[[8,20," "]],"x":21,"t":1305119136.96536},{"y":9,"d":[[8,20,"H"]],"x":22,"t":1305119137.19769},{"y":9,"d":[[8,21,"E"]],"x":23,"t":1305119137.25346},{"y":9,"d":[[8,22,"A"]],"x":24,"t":1305119137.40516},{"y":9,"d":[[8,23,"D"]],"x":25,"t":1305119137.50118},{"y":10,"x":1,"t":1305119137.84515},{"y":10,"d":[[9,0,8,"bash-3.2$"]],"x":11,"t":1305119137.85667},{"y":10,"d":[["cp",8,9]],"x":11,"t":1305119139.13331},{"y":10,"x":24,"t":1305119139.50955},{"y":10,"x":25,"t":1305119139.7095},{"y":10,"d":[[9,24,"^"]],"x":26,"t":1305119140.5414},{"y":10,"x":25,"t":1305119142.0771},{"y":10,"x":24,"t":1305119142.26104},{"y":10,"x":23,"t":1305119142.48522},{"y":10,"x":22,"t":1305119142.66103},{"y":10,"x":21,"t":1305119142.85298},{"y":10,"x":20,"t":1305119143.02096},{"y":10,"x":19,"t":1305119143.19707},{"y":10,"d":[[9,18,"E"]],"x":19,"t":1305119144.3011},{"y":11,"x":1,"t":1305119145.99004},{"y":11,"d":[[10,0,8,"bash-3.2$"]],"x":11,"t":1305119145.9957},{"y":11,"d":[["cp",9,10]],"x":11,"t":1305119146.8848},{"y":11,"x":15,"t":1305119147.78074},{"y":11,"x":16,"t":1305119148.10081},{"y":11,"x":17,"t":1305119148.28489},{"y":11,"x":18,"t":1305119148.45286},{"y":11,"x":19,"t":1305119148.63687},{"y":11,"d":[[10,18,"D"]],"x":19,"t":1305119150.18909},{"y":11,"x":19,"t":1305119150.99682},{"y":11,"x":20,"t":1305119151.19685},{"y":11,"d":[[10,19,25,"$ HEAD^"]],"x":21,"t":1305119152.14896},{"y":11,"d":[[10,19,25," HEAD^ "]],"x":20,"t":1305119152.74094},{"y":11,"x":19,"t":1305119152.92475},{"y":11,"x":25,"t":1305119153.45287},{"y":11,"x":26,"t":1305119153.78081},{"y":11,"d":[[10,25,"^"]],"x":27,"t":1305119154.55678},{"y":12,"x":1,"t":1305119154.85246},{"y":12,"d":[[11,0,8,"bash-3.2$"]],"x":11,"t":1305119154.86038},{"y":12,"d":[["cp",10,11]],"x":11,"t":1305119155.55654},{"y":12,"x":15,"t":1305119155.80452},{"y":12,"x":19,"t":1305119155.99648},{"y":12,"x":21,"t":1305119156.18045},{"y":12,"x":20,"t":1305119156.54864},{"y":12,"x":19,"t":1305119156.75665},{"y":12,"d":[[11,18,"C"]],"x":19,"t":1305119159.14851},{"y":12,"x":19,"t":1305119160.01264},{"y":12,"x":26,"t":1305119160.68439},{"y":12,"x":27,"t":1305119161.01271},{"y":12,"d":[[11,26,"^"]],"x":28,"t":1305119161.85353},{"y":13,"x":1,"t":1305119162.44872},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo "],["r","bash-3.2$ git log --oneline -6 --decorate "],["r","8e715bc (HEAD, master) commit using -a flag, means add then commit. "],["r","fd33ea2 add hello.h using -f flag. "],["r","4ad14d4 ignore works even move .gitignore to subdir. "],["r","211cb82 ignore object files... "],["r","15f507b (tag: hello_1.0) Hello world initialized. "],["r","8be895d README is from welcome.txt "],["r","bash-3.2$ git tag F HEAD "],["r","bash-3.2$ git tag E HEAD^ "],["r","bash-3.2$ git tag D HEAD^^ "],["r","bash-3.2$ git tag C HEAD^^^ "],["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d",["r","00000000011110011111100000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d",["r","00000000011111111111111000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":13,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","33333333366663322222237777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d","d",["r","33333333333333333333333377777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119162.45757,"i":1},{"y":13,"d":[["cp",11,12]],"x":11,"t":1305119163.03624},{"y":13,"x":15,"t":1305119163.36424},{"y":13,"x":19,"t":1305119163.54828},{"y":13,"x":21,"t":1305119163.74819},{"y":13,"x":20,"t":1305119164.10023},{"y":13,"x":19,"t":1305119164.33217},{"y":13,"d":[[12,18,"B"]],"x":19,"t":1305119165.73223},{"y":13,"x":19,"t":1305119166.41229},{"y":13,"x":27,"t":1305119166.94825},{"y":13,"x":28,"t":1305119167.28421},{"y":13,"d":[[12,27,"^"]],"x":29,"t":1305119168.21223},{"y":14,"x":1,"t":1305119168.50039},{"y":14,"d":[[13,0,8,"bash-3.2$"]],"x":11,"t":1305119168.50918},{"y":14,"d":[["cp",12,13]],"x":11,"t":1305119169.0361},{"y":14,"x":15,"t":1305119169.31611},{"y":14,"x":19,"t":1305119169.50057},{"y":14,"x":21,"t":1305119169.69197},{"y":14,"x":20,"t":1305119170.1242},{"y":14,"x":19,"t":1305119170.32411},{"y":14,"d":[[13,18,"A"]],"x":19,"t":1305119170.82031},{"y":14,"x":19,"t":1305119171.51593},{"y":14,"x":28,"t":1305119171.93994},{"y":14,"x":29,"t":1305119172.26003},{"y":14,"d":[[13,28,"^"]],"x":30,"t":1305119173.08404},{"y":15,"x":1,"t":1305119174.46006},{"y":15,"d":[[14,0,8,"bash-3.2$"]],"x":11,"t":1305119174.46876},{"y":15,"d":[["cp",13,14]],"x":11,"t":1305119175.65185},{"y":15,"d":[[14,10,28,"/ "]],"x":12,"t":1305119175.82016},{"y":15,"d":[[14,11,"l"]],"x":13,"t":1305119176.01977},{"y":15,"d":[[14,12,"o"]],"x":14,"t":1305119176.21176},{"y":15,"d":[[14,13,"g"]],"x":15,"t":1305119176.28383},{"y":15,"d":[["cp",1,14]],"x":11,"t":1305119176.43567},{"y":16,"x":1,"t":1305119177.70784},{"y":22,"d":[[15,0,74,"8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit."],[16,0,42,"fd33ea2 (tag: E) add hello.h using -f flag."],[17,0,60,"4ad14d4 (tag: D) ignore works even move .gitignore to subdir."],[18,0,38,"211cb82 (tag: C) ignore object files..."],[19,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[20,0,42,"8be895d (tag: A) README is from welcome.txt"],[21,0,8,"bash-3.2$"]],"x":11,"f":[[15,0,29,"333333333666633333333332222223"],[16,0,15,["a","3"]],["cp",16,17],["cp",16,18],[19,0,31,["a","3"]],["cp",16,20]],"B":[[15,9,28,"11110011111100111111"],[16,9,14,["a","1"]],["cp",16,17],["cp",16,18],[19,9,30,"1111111111111100111111"],["cp",16,20]],"t":1305119177.72177},{"y":22,"d":[[21,10,"g"]],"x":12,"t":1305119194.90727},{"y":22,"d":[[21,11,"i"]],"x":13,"t":1305119194.99544},{"y":22,"d":[[21,12,"t"]],"x":14,"t":1305119195.13103},{"y":22,"x":15,"t":1305119195.16304},{"y":22,"d":[[21,14,"c"]],"x":16,"t":1305119195.36319},{"y":22,"d":[[21,15,"h"]],"x":17,"t":1305119195.48321},{"y":22,"d":[[21,16,"e"]],"x":18,"t":1305119195.57092},{"y":22,"d":[[21,17,"c"]],"x":19,"t":1305119195.73913},{"y":22,"d":[[21,18,"k"]],"x":20,"t":1305119195.84319},{"y":22,"d":[[21,19,"o"]],"x":21,"t":1305119195.9712},{"y":22,"d":[[21,20,"u"]],"x":22,"t":1305119196.0671},{"y":22,"d":[[21,21,"t"]],"x":23,"t":1305119196.17108},{"y":22,"x":24,"t":1305119196.2432},{"y":22,"d":[[21,23,"C"]],"x":25,"t":1305119196.69115},{"y":23,"x":1,"t":1305119197.56309},{"y":25,"d":[["cp",10,0],["cp",11,1],["cp",12,2],["cp",13,3],["cp",14,4],["cp",15,5],["cp",16,6],["cp",17,7],["cp",18,8],["cp",19,9],["cp",20,10],["cp",21,11],[12,0,27,"Note: checking out 'C'. "],["cp",22,13],[14,0,71,"You are in 'detached HEAD' state. You can look around, make experimental"],[15,0,74,"changes and commit them, and you can discard any commits you make in this "],[16,0,67,"state without impacting any branches by performing another checkout."],["cp",13,17],[18,0,71,"If you want to create a new branch to retain commits you create, you may"],[19,0,73,"do so (now or later) by using -b with the checkout command again. Example:"],["cp",13,20],[21,0,32," git checkout -b new_branch_name"],[23,0,47,"HEAD is now at 211cb82... ignore object files..."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,2],["cp",0,3],["cp",0,4],["cp",15,5],["cp",16,6],["cp",6,7],["cp",6,8],["cp",19,9],["cp",6,10],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"B":[["cp",0,2],["cp",15,5],["cp",16,6],["cp",6,7],["cp",6,8],["cp",19,9],["cp",6,10],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20]],"t":1305119197.57603},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119200.59479},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119200.63484},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119200.72293},{"y":25,"x":15,"t":1305119200.84306},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119201.04281},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119201.1708},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119201.23477},{"y":25,"d":[[24,17,"r"]],"x":19,"t":1305119201.44288},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305119201.60286},{"y":25,"d":[[24,19,"y"]],"x":21,"t":1305119201.71478},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119202.99474},{"y":25,"d":[[24,21,"p"]],"x":23,"t":1305119203.29099},{"y":25,"d":[[24,22,"c"]],"x":24,"t":1305119203.4507},{"y":25,"d":[[24,23,"k"]],"x":25,"t":1305119203.53062},{"y":25,"d":[[24,23," "]],"x":24,"t":1305119204.21066},{"y":25,"d":[[24,22," "]],"x":23,"t":1305119204.37061},{"y":25,"d":[[24,22,"i"]],"x":24,"t":1305119204.58664},{"y":25,"d":[[24,23,"c"]],"x":25,"t":1305119204.68281},{"y":25,"d":[[24,24,"k"]],"x":26,"t":1305119204.78673},{"y":25,"x":27,"t":1305119205.13861},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305119206.45857},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305119206.58667},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305119206.74681},{"y":25,"d":[[24,29,"t"]],"x":31,"t":1305119206.90665},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305119207.09062},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305119207.15465},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305119208.1628},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],["cp",12,24]],"x":1,"f":[["cp",5,4],["cp",6,5],["cp",9,8],["cp",5,9],["cp",0,10]],"B":[["cp",5,4],["cp",6,5],["cp",9,8],["cp",5,9],["cp",0,10]],"t":1305119210.21071},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],[23,0,49,"[detached HEAD dc41349] add hello.h using -f flag."]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",8,7],["cp",4,8],["cp",0,9]],"B":[["cp",4,3],["cp",5,4],["cp",8,7],["cp",4,8],["cp",0,9]],"t":1305119210.51945},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",10,8],["cp",11,9],["cp",12,10],["cp",13,11],["cp",14,12],["cp",9,13],["cp",16,14],["cp",17,15],["cp",9,16],["cp",19,17],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,48," 1 files changed, 1 insertions(+), 0 deletions(-)"],[23,0,49," create mode 100644 src/hello.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,1],["cp",4,2],["cp",2,3],["cp",7,5],["cp",0,7],["cp",0,8]],"B":[["cp",3,1],["cp",4,2],["cp",2,3],["cp",7,5],["cp",0,7],["cp",0,8]],"t":1305119210.52134},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119212.96246},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119213.10655},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119213.1943},{"y":25,"x":15,"t":1305119213.2744},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119213.45855},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119213.56247},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119213.65051},{"y":25,"d":[[24,17,"r"]],"x":19,"t":1305119213.91436},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305119214.09838},{"y":25,"d":[[24,19,"y"]],"x":21,"t":1305119214.22639},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119214.53852},{"y":25,"d":[[24,21,"p"]],"x":23,"t":1305119214.81046},{"y":25,"d":[[24,22,"i"]],"x":24,"t":1305119215.2506},{"y":25,"d":[[24,23,"c"]],"x":25,"t":1305119215.36234},{"y":25,"d":[[24,24,"k"]],"x":26,"t":1305119215.45878},{"y":25,"x":27,"t":1305119215.7785},{"y":25,"d":[[24,26,"m"]],"x":28,"t":1305119216.01837},{"y":25,"d":[[24,27,"a"]],"x":29,"t":1305119216.10643},{"y":25,"d":[[24,28,"s"]],"x":30,"t":1305119216.25844},{"d":[["r","bash-3.2$ git log --oneline -6 --decorate "],["r","8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit. "],["r","fd33ea2 (tag: E) add hello.h using -f flag. "],["r","4ad14d4 (tag: D) ignore works even move .gitignore to subdir. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","bash-3.2$ git checkout C "],["r","Note: checking out 'C'. "],["a"," "],["r","You are in 'detached HEAD' state. You can look around, make experimental "],["r","changes and commit them, and you can discard any commits you make in this "],["r","state without impacting any branches by performing another checkout. "],["a"," "],["r","If you want to create a new branch to retain commits you create, you may "],["r","do so (now or later) by using -b with the checkout command again. Example: "],["a"," "],["r"," git checkout -b new_branch_name "],["a"," "],["r","HEAD is now at 211cb82... ignore object files... "],["r","bash-3.2$ git cherry-pick master^ "],["r","[detached HEAD dc41349] add hello.h using -f flag. "],["r"," 1 files changed, 1 insertions(+), 0 deletions(-) "],["r"," create mode 100644 src/hello.h "],["r","bash-3.2$ git cherry-pick mast "]],"x":31,"B":[["a","0"],["r","00000000011110011111100111111000000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],"d","d",["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],["r","33333333366663333333333222222377777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],"d","d",["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119216.34639,"i":1},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305119216.5143},{"y":25,"d":[[24,31,"r"]],"x":33,"t":1305119216.57843},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",8,12],["cp",14,13],["cp",15,14],["cp",8,15],["cp",17,16],["cp",8,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",8,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",1,5],["cp",7,6]],"B":[["cp",1,0],["cp",2,1],["cp",5,4],["cp",1,5],["cp",7,6]],"t":1305119216.70685},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",7,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,67,"[detached HEAD a2f9af0] commit using -a flag, means add then commit."]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",0,4],["cp",6,5]],"B":[["cp",1,0],["cp",4,3],["cp",0,4],["cp",6,5]],"t":1305119217.01989},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",12,11],["cp",13,12],["cp",6,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",0,3],["cp",5,4]],"B":[["cp",3,2],["cp",0,3],["cp",5,4]],"t":1305119217.02175},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119218.8662},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119218.94616},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119219.06662},{"y":25,"x":15,"t":1305119219.10612},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305119219.25814},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119219.43423},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119219.50655},{"y":25,"x":19,"t":1305119219.58613},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119219.78622},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305119219.99417},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305119220.25009},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305119220.39414},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119220.49839},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305119220.59408},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305119220.73812},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305119220.86611},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305119220.92201},{"y":25,"x":29,"t":1305119221.01},{"y":25,"d":[[24,28,"-"]],"x":30,"t":1305119221.17822},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305119221.35402},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305119221.48997},{"y":25,"d":[[24,31,"c"]],"x":33,"t":1305119221.70613},{"y":25,"d":[[24,31," "]],"x":32,"t":1305119222.13802},{"y":25,"d":[[24,30," "]],"x":31,"t":1305119222.32243},{"y":25,"d":[[24,30,"d"]],"x":32,"t":1305119222.45809},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305119222.61795},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305119222.79422},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305119222.85015},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305119222.98591},{"y":25,"d":[[24,35,"a"]],"x":37,"t":1305119223.17011},{"y":25,"d":[[24,36,"t"]],"x":38,"t":1305119223.274},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305119223.39417},{"y":25,"x":40,"t":1305119223.51425},{"y":25,"d":[[24,39,"-"]],"x":41,"t":1305119223.64218},{"y":25,"d":[[24,40,"6"]],"x":42,"t":1305119224.36995},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",11,10],["cp",12,11],["cp",5,12],["cp",14,13],["cp",5,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",24,23],["cp",5,24]],"x":1,"f":[["cp",2,1],["cp",0,2],["cp",4,3]],"B":[["cp",2,1],["cp",0,2],["cp",4,3]],"t":1305119224.50608},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",5,3],["cp",10,4],["cp",11,5],["cp",3,6],["cp",13,7],["cp",3,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",12,16],["cp",23,17],[18,0,58,"a2f9af0 (HEAD) commit using -a flag, means add then commit."],[19,0,33,"dc41349 add hello.h using -f flag."],[20,0,38,"211cb82 (tag: C) ignore object files..."],[21,0,67,"15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],[22,0,48,"8be895d (tag: A) README is from welcome.txt "],[23,0,40,"cb5775e restore file: welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,0],["cp",0,1],["cp",0,2],[18,0,13,"33333333366663"],[19,0,6,["a","3"]],[20,0,15,["a","3"]],[21,0,31,["a","3"]],["cp",20,22],["cp",19,23]],"B":[["cp",3,0],["cp",0,1],["cp",0,2],[18,9,12,["a","1"]],[20,9,14,["a","1"]],[21,9,30,"1111111111111100111111"],["cp",20,22]],"t":1305119224.52157},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119234.92196},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119235.02546},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119235.09752},{"y":25,"x":15,"t":1305119235.16995},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305119236.20173},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119236.35364},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119236.42557},{"y":25,"x":19,"t":1305119236.48949},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119236.64171},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305119236.80958},{"y":25,"d":[[24,20,"p"]],"x":22,"t":1305119237.03361},{"y":25,"d":[[24,21,"r"]],"x":23,"t":1305119237.13773},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119237.28156},{"y":25,"d":[[24,23,"t"]],"x":25,"t":1305119237.44968},{"y":25,"d":[[24,24,"t"]],"x":26,"t":1305119237.62566},{"y":25,"d":[[24,25,"y"]],"x":27,"t":1305119237.78551},{"y":25,"x":28,"t":1305119238.8577},{"y":25,"x":27,"t":1305119239.19355},{"y":25,"d":[[24,26,"="]],"x":28,"t":1305119240.36155},{"y":25,"d":[[24,27,"f"]],"x":29,"t":1305119240.48958},{"y":25,"d":[[24,28,"u"]],"x":30,"t":1305119240.62551},{"y":25,"d":[[24,29,"l"]],"x":31,"t":1305119240.83363},{"y":25,"d":[[24,30,"l"]],"x":32,"t":1305119240.99332},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305119241.1216},{"y":25,"d":[[24,32,"r"]],"x":34,"t":1305119241.16933},{"y":25,"x":35,"t":1305119241.4253},{"y":25,"d":[[24,34,"-"]],"x":36,"t":1305119241.78575},{"y":25,"d":[[24,35,"-"]],"x":37,"t":1305119241.96133},{"y":25,"d":[[24,36,"d"]],"x":38,"t":1305119242.72926},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305119242.9943},{"y":25,"d":[[24,38,"c"]],"x":40,"t":1305119243.25731},{"y":25,"d":[[24,39,"o"]],"x":41,"t":1305119243.3372},{"y":25,"d":[[24,40,"r"]],"x":42,"t":1305119243.47353},{"y":25,"d":[[24,41,"a"]],"x":43,"t":1305119243.8976},{"y":25,"d":[[24,42,"t"]],"x":44,"t":1305119244.02532},{"y":25,"d":[[24,43,"e"]],"x":45,"t":1305119244.18518},{"y":25,"x":46,"t":1305119244.29775},{"y":25,"d":[[24,45,"-"]],"x":47,"t":1305119244.98508},{"y":25,"d":[[24,46,"2"]],"x":48,"t":1305119245.13837},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",2,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",18,22],["cp",0,23]],"B":[["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",0,22]],"t":1305119245.41767},{"y":25,"d":[["cp",11,0],["cp",16,1],["cp",17,2],["cp",18,3],["cp",19,4],["cp",20,5],["cp",21,6],["cp",22,7],["cp",23,8],[9,0,53,"commit a2f9af0b099d0a0d28b9c15dda475bcbcc3bf920 (HEAD)"],[10,0,49,"Author: Jiang Xin "],[11,0,48,"AuthorDate: Wed May 11 20:18:54 2011 +0800 "],[12,0,41,"Commit: Jiang Xin "],[13,0,41,"CommitDate: Wed May 11 21:06:57 2011 +0800"],["cp",24,14],[15,1,48," commit using -a flag, means add then commit. "],["cp",14,16],[17,0,58,"commit dc4134948d33602c3d258ab2f23c5fcfb6f79ecf "],["cp",10,18],[19,0,41,"AuthorDate: Wed May 11 20:18:04 2011 +0800"],["cp",12,20],[21,0,42,"CommitDate: Wed May 11 21:06:50 2011 +0800 "],["cp",14,22],[23,0,46," add hello.h using -f flag. "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",17,2],["cp",18,3],["cp",19,4],["cp",20,5],["cp",4,6],["cp",3,7],[9,0,53,"333333333333333333333333333333333333333333333333366663"],[17,9,46,["a","3"]],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"B":[["cp",17,2],["cp",19,4],["cp",20,5],["cp",4,6],[9,49,52,["a","1"]],["cp",0,17],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305119245.43246},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119253.09709},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119253.16882},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119253.25713},{"y":25,"x":15,"t":1305119253.35293},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119253.56095},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119253.697},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119253.77704},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119253.94498},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119254.00876},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119254.1529},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119254.24926},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119254.32104},{"y":25,"x":24,"t":1305119254.41684},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119254.56116},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119254.68905},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119254.82528},{"d":[["r"," 1 files changed, 1 insertions(+), 0 deletions(-) "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","a2f9af0 (HEAD) commit using -a flag, means add then commit. "],["r","dc41349 add hello.h using -f flag. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ git log --pretty=fuller --decorate -2 "],["r","commit a2f9af0b099d0a0d28b9c15dda475bcbcc3bf920 (HEAD) "],["r","Author: Jiang Xin "],["r","AuthorDate: Wed May 11 20:18:54 2011 +0800 "],["r","Commit: Jiang Xin "],["r","CommitDate: Wed May 11 21:06:57 2011 +0800 "],["a"," "],["r"," commit using -a flag, means add then commit. "],["a"," "],["r","commit dc4134948d33602c3d258ab2f23c5fcfb6f79ecf "],["r","Author: Jiang Xin "],["r","AuthorDate: Wed May 11 20:18:04 2011 +0800 "],["r","Commit: Jiang Xin "],["r","CommitDate: Wed May 11 21:06:50 2011 +0800 "],["a"," "],["r"," add hello.h using -f flag. "],["r","bash-3.2$ git checkout mast "]],"x":28,"B":[["a","0"],"d",["r","00000000011110000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000000000000000000000000000000000000000000001111000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","33333333366663777777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","33333333333333333333333333333333333333333333333336666377777777777777777777777777"],["a","7"],"d","d","d","d","d","d",["r","33333333333333333333333333333333333333333333333777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119254.92902,"i":1},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119255.08096},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305119255.15283},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",13,15],["cp",17,16],["cp",9,17],["cp",19,18],["cp",11,19],["cp",21,20],["cp",13,21],["cp",23,22],["cp",24,23],["cp",13,24]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",2,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",17,16],["cp",0,17]],"B":[["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",0,6],["cp",9,8],["cp",0,9]],"t":1305119255.98465},{"y":25,"d":[["cp",12,0],["cp",13,1],["cp",14,2],["cp",1,3],["cp",16,4],["cp",9,5],["cp",18,6],["cp",11,7],["cp",20,8],["cp",1,9],["cp",22,10],["cp",23,11],[12,0,58,"Warning: you are leaving 2 commits behind, not connected to"],[13,0,20,"any of your branches:"],["cp",1,14],[15,2,53,"a2f9af0 commit using -a flag, means add then commit."],[16,0,46," dc41349 add hello.h using -f flag. "],["cp",1,17],[18,0,73,"If you want to keep them by creating a new branch, this may be a good time"],[19,0,41,"to do so with: "],["cp",1,20],[21,1,67,"git branch new_branch_name a2f9af0b099d0a0d28b9c15dda475bcbcc3bf920"],["cp",1,22],[23,0,28,"Switched to branch 'master' "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],["cp",0,2],["cp",0,3],["cp",16,4],["cp",0,5],["cp",0,6],["cp",0,8],["cp",0,16]],"B":[["cp",0,1],["cp",0,3],["cp",0,4],["cp",0,5],["cp",0,8]],"t":1305119255.99766},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119256.56878},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119256.63267},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119256.74475},{"y":25,"x":15,"t":1305119256.80083},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119257.0411},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119257.17677},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119257.32086},{"y":25,"d":[[24,17,"t"]],"x":19,"t":1305119257.52071},{"y":25,"d":[[24,17," "]],"x":18,"t":1305119258.11287},{"y":25,"d":[[24,16," "]],"x":17,"t":1305119258.59257},{"y":25,"d":[[24,15," "]],"x":16,"t":1305119258.79278},{"y":25,"d":[[24,14," "]],"x":15,"t":1305119258.96062},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119259.41662},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119259.56874},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119259.71277},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119259.77664},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119259.89656},{"y":25,"x":21,"t":1305119260.05669},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119260.28067},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119260.46478},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305119261.30457},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305119261.36892},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119261.4809},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305119261.65657},{"y":25,"x":28,"t":1305119261.8009},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305119262.28056},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305119262.3365},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305119262.49682},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305119262.57658},{"y":25,"d":[[24,31,"@"]],"x":33,"t":1305119263.86488},{"y":25,"d":[[24,32,"{"]],"x":34,"t":1305119264.40076},{"y":25,"d":[[24,33,"1"]],"x":35,"t":1305119264.6164},{"y":25,"d":[[24,34,"}"]],"x":36,"t":1305119264.94449},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",0,19],["cp",21,20],["cp",0,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",4,3],["cp",0,4]],"t":1305119265.21642},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",1,12],["cp",14,13],["cp",15,14],["cp",1,15],["cp",17,16],["cp",18,17],["cp",1,18],["cp",20,19],["cp",1,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at a2f9af0 commit using -a flag, means add then commit."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",0,3]],"t":1305119265.2269},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119266.01646},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119266.09639},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119266.20842},{"y":25,"x":15,"t":1305119266.29636},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305119266.44051},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119266.60873},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119266.74468},{"y":25,"x":19,"t":1305119266.8246},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119267.60861},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305119267.79235},{"y":25,"d":[[24,20,"d"]],"x":22,"t":1305119268.02424},{"y":25,"d":[[24,21,"e"]],"x":23,"t":1305119268.2003},{"y":25,"d":[[24,22,"c"]],"x":24,"t":1305119268.36842},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305119268.45644},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119268.53658},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305119268.68855},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119268.80863},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119268.93629},{"y":25,"x":30,"t":1305119269.07215},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305119270.36044},{"y":25,"d":[[24,30,"-"]],"x":32,"t":1305119270.53636},{"y":25,"d":[[24,31,"o"]],"x":33,"t":1305119270.74428},{"y":25,"d":[[24,32,"n"]],"x":34,"t":1305119270.88014},{"y":25,"d":[[24,33,"e"]],"x":35,"t":1305119271.00828},{"y":25,"d":[[24,34,"l"]],"x":36,"t":1305119271.04848},{"y":25,"d":[[24,35,"i"]],"x":37,"t":1305119271.20042},{"y":25,"d":[[24,36,"n"]],"x":38,"t":1305119271.31214},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305119271.37624},{"y":25,"x":40,"t":1305119271.48031},{"y":25,"d":[[24,39,"-"]],"x":41,"t":1305119271.8884},{"y":25,"d":[[24,40,"6"]],"x":42,"t":1305119272.21618},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",0,11],["cp",13,12],["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",0,17],["cp",19,18],["cp",0,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",2,1],["cp",0,2]],"t":1305119272.32017},{"y":25,"d":[["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",0,5],["cp",12,6],["cp",13,7],["cp",0,8],["cp",15,9],["cp",16,10],["cp",18,12],["cp",0,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,67,"a2f9af0 (HEAD, master) commit using -a flag, means add then commit. "],[19,0,33,"dc41349 add hello.h using -f flag."],[20,0,38,"211cb82 (tag: C) ignore object files..."],[21,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[22,0,66,"8be895d (tag: A) README is from welcome.txt "],[23,0,40,"cb5775e restore file: welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",0,1],[18,0,21,"3333333336666332222223"],[19,0,6,["a","3"]],[20,0,15,["a","3"]],[21,0,31,["a","3"]],["cp",20,22],["cp",19,23]],"B":[[18,9,20,"111100111111"],[20,9,14,["a","1"]],[21,9,30,"1111111111111100111111"],["cp",20,22]],"t":1305119272.33433},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119279.09587},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119279.2161},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119279.28796},{"y":25,"x":15,"t":1305119279.368},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119280.63987},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119280.7201},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119280.82375},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119280.99185},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119281.06371},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119281.19973},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119281.28787},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119281.36779},{"y":25,"x":24,"t":1305119281.43979},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119281.55974},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119281.66389},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119281.80807},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119281.95196},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119282.11322},{"y":25,"d":[["cp",2,24]],"x":30,"t":1305119282.19168},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",1,23],["cp",4,24]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",18,22],["cp",0,23]],"B":[["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",0,22]],"t":1305119282.51975},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22],[23,0,28,"Already on 'master' "]],"x":1,"f":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",17,21],["cp",0,22]],"B":[["cp",17,16],["cp",0,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",0,21]],"t":1305119282.52862},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119282.81505},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119283.75977},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119283.86383},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119283.96796},{"y":25,"x":15,"t":1305119284.02366},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119284.42367},{"d":[["r","bash-3.2$ git checkout master "],["r","Warning: you are leaving 2 commits behind, not connected to "],["r","any of your branches: "],["a"," "],["r"," a2f9af0 commit using -a flag, means add then commit. "],["r"," dc41349 add hello.h using -f flag. "],["a"," "],["r","If you want to keep them by creating a new branch, this may be a good time "],["r","to do so with: "],["a"," "],["r"," git branch new_branch_name a2f9af0b099d0a0d28b9c15dda475bcbcc3bf920 "],["a"," "],["r","Switched to branch 'master' "],["r","bash-3.2$ git reset --hard HEAD@{1} "],["r","HEAD is now at a2f9af0 commit using -a flag, means add then commit. "],["r","bash-3.2$ git log --decorate --oneline -6 "],["r","a2f9af0 (HEAD, master) commit using -a flag, means add then commit. "],["r","dc41349 add hello.h using -f flag. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ git checkout master "],["r","Already on 'master' "],["r","bash-3.2$ git re "]],"x":17,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","00000000011110011111100000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","33333333366663322222237777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119284.57598,"i":1},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119284.71981},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119284.77603},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119284.87969},{"y":25,"x":21,"t":1305119285.0248},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119285.18387},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119285.37598},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305119286.98364},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305119287.04822},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119287.17559},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305119287.40786},{"y":25,"x":28,"t":1305119287.56762},{"y":25,"d":[[24,27,"F"]],"x":29,"t":1305119287.87973},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",17,19],["cp",16,20],["cp",0,21]],"B":[["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",17,19],["cp",0,20]],"t":1305119288.10391},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at 8e715bc commit using -a flag, means add then commit."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",16,18],["cp",15,19],["cp",0,20]],"B":[["cp",15,14],["cp",0,15],["cp",17,16],["cp",18,17],["cp",16,18],["cp",0,19]],"t":1305119288.11517},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119289.32784},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119289.41551},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119289.51156},{"y":25,"x":15,"t":1305119289.55948},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305119289.83157},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119289.99953},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119290.05555},{"y":25,"x":19,"t":1305119290.11964},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119290.27946},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305119290.46409},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305119290.64769},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305119290.78366},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119290.84768},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305119291.74356},{"y":25,"d":[[24,24,26,"ine"]],"x":29,"t":1305119291.95326},{"y":25,"d":[[24,28,"-"]],"x":30,"t":1305119292.65624},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305119292.84727},{"y":25,"d":[[24,30,"d"]],"x":32,"t":1305119293.06359},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305119293.24757},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305119293.43142},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305119293.53534},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305119293.62363},{"y":25,"d":[[24,35,37,"ate"]],"x":39,"t":1305119293.93296},{"y":25,"x":40,"t":1305119294.68747},{"y":25,"d":[[24,39,"-"]],"x":41,"t":1305119294.89541},{"y":25,"d":[[24,40,"6"]],"x":42,"t":1305119295.50322},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",15,17],["cp",14,18],["cp",0,19]],"B":[["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",15,17],["cp",0,18]],"t":1305119295.84747},{"y":25,"d":[["cp",7,1],["cp",0,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,74,"8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit."],[19,0,42,"fd33ea2 (tag: E) add hello.h using -f flag."],[20,0,60,"4ad14d4 (tag: D) ignore works even move .gitignore to subdir."],["cp",9,21],["cp",10,22],["cp",11,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",9,11],["cp",8,12],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],[18,7,29,"33666633333333332222223"],["cp",9,19],["cp",9,20],["cp",9,21],["cp",10,22],["cp",9,23]],"B":[["cp",13,7],["cp",15,9],["cp",16,10],["cp",9,11],["cp",0,13],["cp",0,15],["cp",0,16],["cp",0,17],[18,9,28,"11110011111100111111"],["cp",9,19],["cp",9,20],["cp",9,21],["cp",10,22],["cp",9,23]],"t":1305119295.86061},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119299.8471},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119299.93516},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119300.02313},{"y":25,"x":15,"t":1305119300.07929},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119300.25529},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119300.39117},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119300.45541},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119300.62336},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119300.67127},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119300.82327},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119300.9031},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119300.9672},{"y":25,"x":24,"t":1305119301.06323},{"y":25,"d":[[24,23,"D"]],"x":25,"t":1305119301.32744},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",8,20],["cp",9,21],["cp",10,22],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",7,11],["cp",0,12],["cp",18,17],["cp",8,18],["cp",9,21],["cp",8,22],["cp",0,23]],"B":[["cp",7,6],["cp",0,7],["cp",9,8],["cp",10,9],["cp",8,10],["cp",0,11],["cp",18,17],["cp",8,18],["cp",9,21],["cp",8,22],["cp",0,23]],"t":1305119301.51897},{"y":25,"d":[["cp",12,0],["cp",13,1],["cp",14,2],["cp",15,3],["cp",16,4],["cp",17,5],["cp",18,6],["cp",19,7],["cp",23,11],[12,0,28,"Note: checking out 'D'. "],["cp",24,13],[14,0,71,"You are in 'detached HEAD' state. You can look around, make experimental"],[15,0,72,"changes and commit them, and you can discard any commits you make in this"],[16,0,67,"state without impacting any branches by performing another checkout."],["cp",13,17],[18,0,71,"If you want to create a new branch to retain commits you create, you may"],[19,0,73,"do so (now or later) by using -b with the checkout command again. Example:"],["cp",13,20],[21,0,56," git checkout -b new_branch_name "],["cp",13,22],[23,0,69,"HEAD is now at 4ad14d4... ignore works even move .gitignore to subdir."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",17,5],["cp",8,6],["cp",6,7],["cp",0,11],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"B":[["cp",17,5],["cp",8,6],["cp",6,7],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"t":1305119301.52977},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119303.43107},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119303.51111},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119303.61506},{"y":25,"x":15,"t":1305119303.67095},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119303.93492},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119304.09494},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119304.23105},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119304.29499},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119304.39902},{"y":25,"x":21,"t":1305119304.49506},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119304.67903},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119304.84707},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305119304.97491},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305119305.08692},{"y":25,"d":[[24,24,"f"]],"x":26,"t":1305119305.16683},{"y":25,"d":[[24,25,"t"]],"x":27,"t":1305119305.37476},{"y":25,"x":28,"t":1305119305.47899},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305119305.86306},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305119305.94296},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305119306.09483},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305119306.19092},{"y":25,"d":[[24,31,"^"]],"x":33,"t":1305119307.30305},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305119307.48688},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],["cp",12,24]],"x":1,"f":[["cp",5,4],["cp",6,5],["cp",9,8],["cp",5,9],["cp",0,10]],"B":[["cp",5,4],["cp",6,5],["cp",9,8],["cp",5,9],["cp",0,10]],"t":1305119309.4951},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119309.50497},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119310.37578},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119310.47083},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119310.56684},{"y":25,"x":15,"t":1305119310.65487},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119311.81481},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119311.90288},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305119312.06258},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305119312.22267},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305119312.38283},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305119312.43086},{"y":25,"x":22,"t":1305119312.53473},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119312.679},{"y":25,"d":[[24,22,"C"]],"x":24,"t":1305119313.04703},{"y":25,"x":25,"t":1305119313.27067},{"y":25,"d":[[24,24,"C"]],"x":26,"t":1305119313.60676},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",11,24]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",8,7],["cp",4,8],["cp",0,9]],"B":[["cp",4,3],["cp",5,4],["cp",8,7],["cp",4,8],["cp",0,9]],"t":1305119315.00675},{"d":[["r","8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit. "],["r","fd33ea2 (tag: E) add hello.h using -f flag. "],["r","4ad14d4 (tag: D) ignore works even move .gitignore to subdir. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","bash-3.2$ git checkout D "],["r","Note: checking out 'D'. "],["a"," "],["r","You are in 'detached HEAD' state. You can look around, make experimental "],["r","changes and commit them, and you can discard any commits you make in this "],["r","state without impacting any branches by performing another checkout. "],["a"," "],["r","If you want to create a new branch to retain commits you create, you may "],["r","do so (now or later) by using -b with the checkout command again. Example: "],["a"," "],["r"," git checkout -b new_branch_name "],["a"," "],["r","HEAD is now at 4ad14d4... ignore works even move .gitignore to subdir. "],["r","bash-3.2$ git reset --soft HEAD^^ "],["r","bash-3.2$ git commit -C C "],["r","[detached HEAD 47dbcd0] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 src/.gitignore "],["r","bash-3.2$ "]],"x":11,"B":[["r","00000000011110011111100111111000000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],"d","d",["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["r","33333333366663333333333222222377777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],"d","d",["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119315.29728,"i":1},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119315.77458},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119315.84672},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119315.95869},{"y":25,"x":15,"t":1305119316.02284},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119316.18266},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119316.31854},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119316.38264},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119316.56647},{"y":25,"d":[[24,17," "]],"x":18,"t":1305119317.40652},{"y":25,"d":[[24,17,"r"]],"x":19,"t":1305119317.79046},{"y":25,"d":[[24,18,"r"]],"x":20,"t":1305119317.95058},{"y":25,"d":[[24,19,"y"]],"x":21,"t":1305119318.22443},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119318.71043},{"y":25,"d":[[24,21,"p"]],"x":23,"t":1305119319.01453},{"y":25,"d":[[24,22,"i"]],"x":24,"t":1305119319.21462},{"y":25,"d":[[24,23,24,"ck"]],"x":27,"t":1305119319.34741},{"y":25,"d":[[24,26,"E"]],"x":28,"t":1305119320.39847},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",7,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"f":[["cp",1,0],["cp",4,3],["cp",0,4],["cp",6,5]],"B":[["cp",1,0],["cp",4,3],["cp",0,4],["cp",6,5]],"t":1305119320.63043},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",12,11],["cp",13,12],["cp",6,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,49,"[detached HEAD ad8c6ca] add hello.h using -f flag."]],"x":1,"f":[["cp",3,2],["cp",0,3],["cp",5,4]],"B":[["cp",3,2],["cp",0,3],["cp",5,4]],"t":1305119320.93692},{"y":25,"d":[["cp",2,0],["cp",3,1],["cp",4,2],["cp",5,3],["cp",6,4],["cp",7,5],["cp",8,6],["cp",9,7],["cp",4,8],["cp",11,9],["cp",12,10],["cp",4,11],["cp",14,12],["cp",16,14],["cp",17,15],["cp",18,16],["cp",19,17],["cp",20,18],["cp",21,19],["cp",22,20],["cp",23,21],[22,0,48," 1 files changed, 1 insertions(+), 0 deletions(-)"],[23,0,49," create mode 100644 src/hello.h "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",4,2],["cp",2,3]],"B":[["cp",2,0],["cp",4,2],["cp",2,3]],"t":1305119320.93866},{"y":25,"d":[["cp",20,24]],"x":28,"t":1305119324.03013},{"y":25,"d":[[24,26," "]],"x":27,"t":1305119324.46217},{"y":25,"d":[[24,26,"F"]],"x":28,"t":1305119324.86257},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",2,1]],"B":[["cp",1,0],["cp",2,1]],"t":1305119325.24616},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",2,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,67,"[detached HEAD e26385a] commit using -a flag, means add then commit."]],"x":1,"f":[["cp",1,0]],"B":[["cp",1,0]],"t":1305119325.54865},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",19,23],[24,0,8,"bash-3.2$"]],"x":11,"t":1305119325.55048},{"y":25,"d":[["cp",21,24]],"x":11,"t":1305119327.42237},{"y":25,"d":[[24,10,26,"/ "]],"x":12,"t":1305119327.59016},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305119327.78211},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305119327.96717},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305119328.04626},{"y":25,"d":[[24,10,40,"git log --oneline --decorate -6"]],"x":11,"t":1305119328.18222},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305119329.40613},{"y":25,"d":[["cp",6,0],["cp",4,1],["cp",8,2],["cp",1,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",12,16],["cp",23,17],[18,0,58,"e26385a (HEAD) commit using -a flag, means add then commit."],[19,0,33,"ad8c6ca add hello.h using -f flag."],[20,0,29,"47dbcd0 ignore object files..."],[21,0,67,"15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],[22,0,48,"8be895d (tag: A) README is from welcome.txt "],[23,0,40,"cb5775e restore file: welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[[18,0,13,"33333333366663"],[19,0,6,["a","3"]],["cp",19,20],[21,0,31,["a","3"]],[22,0,15,["a","3"]],["cp",19,23]],"B":[[18,9,12,["a","1"]],[21,9,30,"1111111111111100111111"],[22,9,14,["a","1"]]],"t":1305119329.42073},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119337.50191},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119337.58989},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119338.18985},{"y":25,"x":15,"t":1305119338.31785},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119338.98979},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119339.07784},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119339.16573},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119339.33372},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119339.42162},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119339.56582},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119339.66969},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119339.72565},{"y":25,"x":24,"t":1305119339.81363},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119339.97385},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119340.09355},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119340.22979},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119340.34949},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119340.50151},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305119340.55782},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",18,22],["cp",0,23]],"B":[["cp",18,17],["cp",0,18],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305119340.72588},{"y":25,"d":[["cp",13,0],["cp",14,1],["cp",11,2],["cp",16,3],["cp",17,4],["cp",18,5],["cp",19,6],["cp",20,7],["cp",21,8],["cp",22,9],["cp",23,10],[11,0,58,"Warning: you are leaving 3 commits behind, not connected to"],[12,0,30,"any of your branches: "],["cp",24,13],[14,0,67," e26385a commit using -a flag, means add then commit. "],[15,1,48," ad8c6ca add hello.h using -f flag. "],[16,0,40," 47dbcd0 ignore object files... "],["cp",13,17],[18,0,73,"If you want to keep them by creating a new branch, this may be a good time"],[19,0,29,"to do so with: "],["cp",13,20],[21,0,67," git branch new_branch_name e26385afafc98e3202555e8ea0a0cf996c1da323"],["cp",13,22],[23,0,28,"Switched to branch 'master' "]],"x":1,"f":[["cp",17,4],["cp",18,5],["cp",5,6],["cp",20,7],["cp",21,8],["cp",5,9],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22]],"B":[["cp",17,4],["cp",20,7],["cp",21,8],["cp",0,17],["cp",0,20],["cp",0,21]],"t":1305119340.73828},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119341.02567},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119341.62971},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119341.70972},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119341.81362},{"y":25,"x":15,"t":1305119341.87746},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119342.5895},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119342.73379},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119342.86952},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119342.9494},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119343.01355},{"y":25,"x":21,"t":1305119343.12555},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119343.26959},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119343.45356},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305119343.6297},{"y":25,"d":[[24,23,"r"]],"x":25,"t":1305119343.76551},{"y":25,"d":[[24,23," "]],"x":24,"t":1305119344.22175},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305119344.37361},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119344.95746},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305119345.15748},{"y":25,"x":28,"t":1305119345.82954},{"y":25,"d":[[24,27,"m"]],"x":29,"t":1305119346.13338},{"y":25,"d":[[24,27," "]],"x":28,"t":1305119346.50116},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305119346.85332},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305119347.55742},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305119347.70941},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305119347.8373},{"y":25,"d":[[24,31,"@"]],"x":33,"t":1305119348.62958},{"y":25,"d":[[24,32,"{"]],"x":34,"t":1305119349.06148},{"y":25,"d":[[24,33,"1"]],"x":35,"t":1305119349.24546},{"y":25,"d":[[24,34,"}"]],"x":36,"t":1305119349.5735},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],["cp",12,24]],"x":1,"f":[["cp",4,3],["cp",5,4],["cp",7,6],["cp",8,7],["cp",4,8],["cp",0,9]],"B":[["cp",4,3],["cp",0,4],["cp",7,6],["cp",8,7],["cp",0,8]],"t":1305119349.85313},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at e26385a commit using -a flag, means add then commit."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",3,2],["cp",4,3],["cp",6,5],["cp",7,6],["cp",3,7],["cp",0,8]],"B":[["cp",3,2],["cp",0,3],["cp",6,5],["cp",7,6],["cp",0,7]],"t":1305119349.86628},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305119350.74194},{"y":25,"d":[[24,10,34,"/ "]],"x":12,"t":1305119350.90953},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305119351.11727},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305119351.29325},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305119351.35736},{"y":25,"d":[["cp",1,24]],"x":11,"t":1305119351.5012},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",16,15],["cp",17,16],["cp",10,17],["cp",19,18],["cp",10,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",0,23],["cp",10,24]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",5,4],["cp",6,5],["cp",2,6],["cp",0,7]],"B":[["cp",2,1],["cp",0,2],["cp",5,4],["cp",6,5],["cp",0,6]],"t":1305119352.62926},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",4,8],["cp",15,9],["cp",16,10],["cp",4,11],["cp",18,12],["cp",4,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,67,"e26385a (HEAD, master) commit using -a flag, means add then commit. "],[19,0,33,"ad8c6ca add hello.h using -f flag."],[20,0,29,"47dbcd0 ignore object files..."],[21,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[22,0,66,"8be895d (tag: A) README is from welcome.txt "],["cp",0,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",2,0],["cp",7,1],["cp",1,2],["cp",1,3],["cp",1,4],["cp",1,5],["cp",1,6],[18,0,21,"3333333336666332222223"],["cp",0,19],["cp",0,20],[21,0,31,["a","3"]],[22,0,15,["a","3"]],["cp",0,23]],"B":[["cp",0,1],["cp",0,4],["cp",0,5],[18,9,20,"111100111111"],[21,9,30,"1111111111111100111111"],[22,9,14,["a","1"]]],"t":1305119352.64234},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",1,0],["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",18,22],["cp",0,23]],"B":[["cp",18,17],["cp",0,18],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305119359.53322},{"y":25,"d":[["cp",23,24]],"x":11,"t":1305119359.53333},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",2,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",2,24]],"x":1,"f":[["cp",17,16],["cp",18,17],["cp",20,19],["cp",21,20],["cp",17,21],["cp",0,22]],"B":[["cp",17,16],["cp",0,17],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305119359.68487},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305119359.68498},{"d":[["r","Warning: you are leaving 3 commits behind, not connected to "],["r","any of your branches: "],["a"," "],["r"," e26385a commit using -a flag, means add then commit. "],["r"," ad8c6ca add hello.h using -f flag. "],["r"," 47dbcd0 ignore object files... "],["a"," "],["r","If you want to keep them by creating a new branch, this may be a good time "],["r","to do so with: "],["a"," "],["r"," git branch new_branch_name e26385afafc98e3202555e8ea0a0cf996c1da323 "],["a"," "],["r","Switched to branch 'master' "],["r","bash-3.2$ git reset --hard HEAD@{1} "],["r","HEAD is now at e26385a commit using -a flag, means add then commit. "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","e26385a (HEAD, master) commit using -a flag, means add then commit. "],["r","ad8c6ca add hello.h using -f flag. "],["r","47dbcd0 ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ "],"d",["r","bash-3.2$ g "]],"x":12,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","00000000011110011111100000000000000000000000000000000000000000000000000000000000"],["a","0"],"d",["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d",["r","33333333366663322222237777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],"d",["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119360.41332,"i":1},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119360.48506},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119360.61296},{"y":25,"x":15,"t":1305119360.65288},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119361.1491},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119361.23676},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119361.32488},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119361.48509},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119361.565},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119361.70082},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119361.76504},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119361.85271},{"y":25,"x":24,"t":1305119361.93286},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119362.02885},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119362.15672},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119362.30908},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119362.41312},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119362.55705},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305119362.61284},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",24,23],["cp",1,24]],"x":1,"f":[["cp",16,15],["cp",17,16],["cp",19,18],["cp",20,19],["cp",16,20],["cp",0,21]],"B":[["cp",16,15],["cp",0,16],["cp",19,18],["cp",20,19],["cp",0,20]],"t":1305119362.76472},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",23,22],[23,0,28,"Already on 'master' "]],"x":1,"f":[["cp",15,14],["cp",16,15],["cp",18,17],["cp",19,18],["cp",15,19],["cp",0,20]],"B":[["cp",15,14],["cp",0,15],["cp",18,17],["cp",19,18],["cp",0,19]],"t":1305119362.77401},{"y":25,"d":[["cp",20,24]],"x":11,"t":1305119363.06023},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119363.09307},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119363.17275},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119363.27711},{"y":25,"x":15,"t":1305119363.34096},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119363.49285},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119363.65292},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119363.78888},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119363.86889},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119363.91666},{"y":25,"x":21,"t":1305119364.0287},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119364.17259},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119364.33278},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305119364.58069},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305119364.6608},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119364.74078},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305119364.90856},{"y":25,"x":28,"t":1305119365.04487},{"y":25,"d":[[24,27,"F"]],"x":29,"t":1305119365.40566},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",3,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",22,21],["cp",23,22],["cp",24,23],["cp",3,24]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",17,16],["cp",18,17],["cp",14,18],["cp",0,19]],"B":[["cp",14,13],["cp",0,14],["cp",17,16],["cp",18,17],["cp",0,18]],"t":1305119366.97288},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",2,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at 8e715bc commit using -a flag, means add then commit."],["cp",18,24]],"x":11,"f":[["cp",13,12],["cp",14,13],["cp",16,15],["cp",17,16],["cp",13,17],["cp",0,18]],"B":[["cp",13,12],["cp",0,13],["cp",16,15],["cp",17,16],["cp",0,17]],"t":1305119366.98297},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",1,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"bash-3.2$ exit "],["cp",1,24]],"x":1,"f":[["cp",12,11],["cp",13,12],["cp",15,14],["cp",16,15],["cp",12,16],["cp",0,17]],"B":[["cp",12,11],["cp",0,12],["cp",15,14],["cp",16,15],["cp",0,16]],"t":1305119370.28496}]} \ No newline at end of file diff --git a/html/part2/ch12-02-back2future-2.html b/html/part2/ch12-02-back2future-2.html deleted file mode 100644 index 02e7e28f6..000000000 --- a/html/part2/ch12-02-back2future-2.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch12-02-back2future-2 -json_file: ch12-02-back2future-2.json ---- diff --git a/html/part2/ch12-02-back2future-2.json b/html/part2/ch12-02-back2future-2.json deleted file mode 100644 index 16aea2755..000000000 --- a/html/part2/ch12-02-back2future-2.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119515.91394,"i":1},{"y":1,"d":[[0,10,38,"cd /path/to/my/workspace/demo"]],"x":11,"t":1305119516.43105},{"y":2,"x":1,"t":1305119517.17512},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305119517.17536},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305119517.59928},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305119517.66307},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305119517.76696},{"y":2,"x":15,"t":1305119517.8231},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305119517.90318},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305119518.06293},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305119518.15097},{"y":2,"x":19,"t":1305119518.23923},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305119518.3991},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305119518.59102},{"y":2,"d":[[1,20,"o"]],"x":22,"t":1305119518.78298},{"y":2,"d":[[1,21,"n"]],"x":23,"t":1305119518.89497},{"y":2,"d":[[1,22,"e"]],"x":24,"t":1305119518.95909},{"y":2,"d":[[1,23,"l"]],"x":25,"t":1305119519.06276},{"y":2,"d":[[1,24,"i"]],"x":26,"t":1305119519.19908},{"y":2,"d":[[1,25,"n"]],"x":27,"t":1305119519.31918},{"y":2,"d":[[1,26,"e"]],"x":28,"t":1305119519.42304},{"y":2,"x":29,"t":1305119519.51096},{"y":2,"d":[[1,28,"-"]],"x":30,"t":1305119519.631},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305119519.81496},{"y":2,"d":[[1,30,"d"]],"x":32,"t":1305119520.639},{"y":2,"d":[[1,31,"e"]],"x":33,"t":1305119520.82328},{"y":2,"d":[[1,32,"c"]],"x":34,"t":1305119520.99878},{"y":2,"d":[[1,33,"o"]],"x":35,"t":1305119521.11889},{"y":2,"d":[[1,34,"r"]],"x":36,"t":1305119521.24697},{"y":2,"d":[[1,35,"a"]],"x":37,"t":1305119521.439},{"y":2,"d":[[1,36,"t"]],"x":38,"t":1305119521.83082},{"y":2,"d":[[1,37,"e"]],"x":39,"t":1305119521.98275},{"y":2,"x":40,"t":1305119522.1591},{"y":2,"d":[[1,39,"-"]],"x":41,"t":1305119522.33469},{"y":2,"d":[[1,40,"6"]],"x":42,"t":1305119523.11875},{"y":3,"x":1,"t":1305119523.34266},{"y":9,"d":[[2,0,74,"8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit."],[3,0,42,"fd33ea2 (tag: E) add hello.h using -f flag."],[4,0,60,"4ad14d4 (tag: D) ignore works even move .gitignore to subdir."],[5,0,38,"211cb82 (tag: C) ignore object files..."],[6,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[7,0,42,"8be895d (tag: A) README is from welcome.txt"],[8,0,8,"bash-3.2$"]],"x":11,"f":[[2,0,29,"333333333666633333333332222223"],[3,0,15,["a","3"]],["cp",3,4],["cp",3,5],[6,0,31,["a","3"]],["cp",3,7]],"B":[[2,9,28,"11110011111100111111"],[3,9,14,["a","1"]],["cp",3,4],["cp",3,5],[6,9,30,"1111111111111100111111"],["cp",3,7]],"t":1305119523.35681},{"y":9,"d":[[8,10,"g"]],"x":12,"t":1305119525.75115},{"y":9,"d":[[8,11,"i"]],"x":13,"t":1305119525.84673},{"y":9,"d":[[8,12,"t"]],"x":14,"t":1305119525.95884},{"y":9,"x":15,"t":1305119526.02252},{"y":9,"d":[[8,14,"r"]],"x":16,"t":1305119528.23081},{"y":9,"d":[[8,15,"e"]],"x":17,"t":1305119528.37493},{"y":9,"d":[[8,16,"b"]],"x":18,"t":1305119528.58257},{"y":9,"d":[[8,17,"a"]],"x":19,"t":1305119528.75869},{"y":9,"d":[[8,18,"s"]],"x":20,"t":1305119528.91862},{"y":9,"d":[[8,19,"e"]],"x":21,"t":1305119529.03869},{"y":9,"x":22,"t":1305119529.22239},{"y":9,"d":[[8,21,"-"]],"x":23,"t":1305119529.47895},{"y":9,"d":[[8,22,"-"]],"x":24,"t":1305119529.66266},{"y":9,"d":[[8,23,"o"]],"x":25,"t":1305119529.87049},{"y":9,"d":[[8,24,"n"]],"x":26,"t":1305119530.03039},{"y":9,"d":[[8,25,"t"]],"x":27,"t":1305119530.18252},{"y":9,"d":[[8,26,"o"]],"x":28,"t":1305119530.29497},{"y":9,"x":29,"t":1305119530.85469},{"y":9,"d":[[8,28,"C"]],"x":30,"t":1305119531.70274},{"y":9,"x":31,"t":1305119531.97474},{"y":9,"d":[[8,30,"E"]],"x":32,"t":1305119533.31877},{"y":9,"d":[[8,31,"^"]],"x":33,"t":1305119534.24717},{"y":9,"x":34,"t":1305119534.78249},{"y":9,"d":[[8,33,"F"]],"x":35,"t":1305119535.15049},{"y":10,"x":1,"t":1305119535.71858},{"y":11,"d":[[9,0,56,"First, rewinding head to replay your work on top of it..."]],"x":1,"t":1305119536.09306},{"y":12,"d":[[10,0,35,"Applying: add hello.h using -f flag."]],"x":1,"t":1305119536.24774},{"y":13,"d":[[11,0,53,"Applying: commit using -a flag, means add then commit."]],"x":1,"t":1305119536.3475},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305119536.40569},{"y":13,"d":[[12,10,"g"]],"x":12,"t":1305119537.79058},{"y":13,"d":[[12,11,"i"]],"x":13,"t":1305119537.87034},{"y":13,"d":[[12,12,"t"]],"x":14,"t":1305119537.99839},{"y":13,"x":15,"t":1305119538.04613},{"y":13,"d":[[12,14,"l"]],"x":16,"t":1305119538.75835},{"y":13,"d":[[12,15,"o"]],"x":17,"t":1305119538.918},{"y":13,"d":[[12,16,"g"]],"x":18,"t":1305119539.04627},{"y":13,"x":17,"t":1305119539.43037},{"y":13,"d":[["cp",8,12]],"x":11,"t":1305119539.51017},{"y":13,"d":[[12,10,33,"/ "]],"x":12,"t":1305119539.6784},{"y":13,"d":[[12,11,"l"]],"x":13,"t":1305119539.87807},{"y":13,"d":[[12,12,"o"]],"x":14,"t":1305119540.05398},{"y":13,"d":[[12,13,"g"]],"x":15,"t":1305119540.06185},{"y":13,"d":[["cp",1,12]],"x":11,"t":1305119540.26991},{"y":14,"x":1,"t":1305119540.91002},{"y":20,"d":[[13,0,58,"8c17f39 (HEAD) commit using -a flag, means add then commit."],[14,0,33,"7c8d7d0 add hello.h using -f flag."],["cp",5,15],["cp",6,16],["cp",7,17],[18,0,32,"cb5775e restore file: welcome.txt"],[19,0,8,"bash-3.2$"]],"x":11,"f":[[13,0,13,"33333333366663"],[14,0,6,["a","3"]],["cp",3,15],["cp",6,16],["cp",3,17],["cp",14,18]],"B":[[13,9,12,["a","1"]],["cp",3,15],["cp",6,16],["cp",3,17]],"t":1305119540.92276},{"y":20,"d":[[19,10,"g"]],"x":12,"t":1305119545.06237},{"y":20,"d":[[19,11,"i"]],"x":13,"t":1305119545.15777},{"y":20,"d":[[19,12,"t"]],"x":14,"t":1305119545.25412},{"y":20,"x":15,"t":1305119545.29397},{"y":20,"d":[[19,14,"c"]],"x":16,"t":1305119545.51783},{"y":20,"d":[[19,15,"h"]],"x":17,"t":1305119545.63829},{"y":20,"d":[[19,16,"e"]],"x":18,"t":1305119545.71816},{"y":20,"d":[[19,17,"c"]],"x":19,"t":1305119545.87811},{"y":20,"d":[[19,18,"k"]],"x":20,"t":1305119545.93391},{"y":20,"d":[[19,19,"o"]],"x":21,"t":1305119546.06208},{"y":20,"d":[[19,20,"u"]],"x":22,"t":1305119546.15808},{"y":20,"d":[[19,21,"t"]],"x":23,"t":1305119546.18985},{"y":20,"x":24,"t":1305119546.2781},{"y":20,"d":[[19,23,"m"]],"x":25,"t":1305119546.40613},{"y":20,"d":[[19,24,"a"]],"x":26,"t":1305119546.50199},{"y":20,"d":[[19,25,"s"]],"x":27,"t":1305119546.64599},{"y":20,"d":[[19,26,"t"]],"x":28,"t":1305119546.74205},{"y":20,"d":[[19,27,"e"]],"x":29,"t":1305119546.9017},{"d":[["r","bash-3.2$ cd /path/to/my/workspace/demo "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit. "],["r","fd33ea2 (tag: E) add hello.h using -f flag. "],["r","4ad14d4 (tag: D) ignore works even move .gitignore to subdir. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","bash-3.2$ git rebase --onto C E^ F "],["r","First, rewinding head to replay your work on top of it... "],["r","Applying: add hello.h using -f flag. "],["r","Applying: commit using -a flag, means add then commit. "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","8c17f39 (HEAD) commit using -a flag, means add then commit. "],["r","7c8d7d0 add hello.h using -f flag. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ git checkout master "],["a"," "],"d","d","d","d"],"x":30,"B":[["a","0"],"d",["r","00000000011110011111100111111000000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],"d","d",["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d",["r","00000000011110000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d"],"y":20,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d",["r","33333333366663333333333222222377777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],"d","d",["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d",["r","33333333366663777777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119546.98183,"i":1},{"y":21,"x":1,"t":1305119547.10989},{"y":25,"d":[["cp",8,0],["cp",9,1],["cp",10,2],["cp",11,3],["cp",12,4],["cp",13,5],["cp",14,6],["cp",15,7],["cp",16,8],["cp",17,9],["cp",18,10],["cp",19,11],[12,0,58,"Warning: you are leaving 2 commits behind, not connected to"],[13,0,58,"any of your branches: "],["cp",20,14],[15,0,53," 8c17f39 commit using -a flag, means add then commit."],[16,0,12," 7c8d7d0 add"],[16,19,56,".h using -f flag. "],["cp",14,17],[18,0,73,"If you want to keep them by creating a new branch, this may be a good time"],[19,0,28,"to do so with: "],[21,1,67,"git branch new_branch_name 8c17f39f0a1a4f13bb7f5e8c32542d0dd5c3d892"],[23,0,26,"Switched to branch 'master'"]],"x":1,"f":[["cp",0,2],["cp",0,3],["cp",0,4],["cp",13,5],["cp",14,6],["cp",16,8],["cp",7,9],["cp",6,10],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18]],"B":[["cp",0,2],["cp",0,3],["cp",0,4],["cp",13,5],["cp",0,6],["cp",16,8],["cp",7,9],["cp",0,13],["cp",0,15],["cp",0,16],["cp",0,17]],"t":1305119547.12144},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119547.40489},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119548.24583},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119548.33381},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119548.43799},{"y":25,"x":15,"t":1305119548.49377},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119548.67017},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119548.84579},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119549.00595},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119549.10174},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119549.34996},{"y":25,"x":21,"t":1305119549.60587},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119549.99784},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119550.18178},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305119550.33377},{"y":25,"d":[[24,22," "]],"x":23,"t":1305119550.78187},{"y":25,"d":[[24,22,"h"]],"x":24,"t":1305119551.01391},{"y":25,"d":[[24,23,"a"]],"x":25,"t":1305119551.12596},{"y":25,"d":[[24,24,"r"]],"x":26,"t":1305119551.21381},{"y":25,"d":[[24,25,"d"]],"x":27,"t":1305119551.38994},{"y":25,"x":28,"t":1305119551.56595},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305119553.32557},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305119553.42167},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305119553.60564},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305119553.72571},{"y":25,"d":[[24,31,"@"]],"x":33,"t":1305119554.58978},{"y":25,"d":[[24,32,"{"]],"x":34,"t":1305119555.17385},{"y":25,"d":[[24,33,"1"]],"x":35,"t":1305119555.35768},{"y":25,"d":[[24,34,"}"]],"x":36,"t":1305119555.7099},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",13,16],["cp",18,17],["cp",19,18],["cp",13,19],["cp",21,20],["cp",13,21],["cp",23,22],["cp",24,23],["cp",13,24]],"x":1,"f":[["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",5,9],["cp",0,10]],"B":[["cp",5,4],["cp",0,5],["cp",7,6],["cp",8,7],["cp",6,8],["cp",0,9]],"t":1305119555.98163},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",12,15],["cp",17,16],["cp",18,17],["cp",12,18],["cp",20,19],["cp",12,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at 8c17f39 commit using -a flag, means add then commit."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",4,8],["cp",0,9]],"B":[["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",5,7],["cp",0,8]],"t":1305119555.99292},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119556.7975},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119556.89367},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119557.02948},{"y":25,"x":13,"t":1305119557.50149},{"y":25,"d":[["cp",22,24]],"x":11,"t":1305119557.58162},{"y":25,"d":[[24,10,34,"/ "]],"x":12,"t":1305119557.76554},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305119557.95747},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305119558.13326},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305119558.22147},{"y":25,"d":[["cp",2,24]],"x":11,"t":1305119558.35732},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",11,14],["cp",16,15],["cp",17,16],["cp",11,17],["cp",19,18],["cp",11,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",1,23],["cp",11,24]],"x":1,"f":[["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",3,7],["cp",0,8]],"B":[["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",4,6],["cp",0,7]],"t":1305119559.32532},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",5,8],["cp",15,9],["cp",16,10],["cp",18,12],["cp",5,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,67,"8c17f39 (HEAD, master) commit using -a flag, means add then commit. "],[19,0,33,"7c8d7d0 add hello.h using -f flag."],[20,0,38,"211cb82 (tag: C) ignore object files..."],[21,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],["cp",0,22],["cp",1,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",4,0],["cp",3,1],["cp",8,2],["cp",2,3],["cp",2,4],["cp",2,5],["cp",2,6],["cp",2,7],[18,0,21,"3333333336666332222223"],["cp",1,19],["cp",0,20],[21,0,31,["a","3"]],["cp",0,22],["cp",1,23]],"B":[["cp",4,0],["cp",1,2],["cp",1,4],["cp",1,5],["cp",1,6],[18,9,20,"111100111111"],["cp",0,20],[21,9,30,"1111111111111100111111"],["cp",0,22]],"t":1305119559.33937},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119567.03737},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119567.09346},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119567.19713},{"y":25,"x":15,"t":1305119567.29327},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119567.42912},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119567.5651},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119567.66125},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119567.84529},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119567.93304},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119568.09323},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119568.16508},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119568.24499},{"y":25,"x":24,"t":1305119568.32549},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119568.92524},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119569.053},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119569.21307},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119569.33307},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119569.4929},{"y":25,"d":[["cp",2,24]],"x":30,"t":1305119569.56518},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",4,7],["cp",9,8],["cp",10,9],["cp",4,10],["cp",12,11],["cp",4,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22],["cp",1,23],["cp",4,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",0,22],["cp",1,23]],"B":[["cp",1,0],["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",19,21],["cp",0,22]],"t":1305119569.69298},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",3,6],["cp",8,7],["cp",9,8],["cp",3,9],["cp",11,10],["cp",3,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22],[23,0,28,"Already on 'master' "]],"x":1,"f":[["cp",1,0],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",17,21],["cp",0,22]],"B":[["cp",17,16],["cp",0,17],["cp",19,18],["cp",20,19],["cp",18,20],["cp",0,21]],"t":1305119569.70233},{"y":25,"d":[[24,0,"g"]],"x":2,"t":1305119569.9892},{"y":25,"d":[[24,1,11,"bash-3.2$ g"]],"x":13,"t":1305119569.99511},{"y":25,"d":[[24,12,"i"]],"x":14,"t":1305119570.06895},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305119570.17298},{"y":25,"x":16,"t":1305119570.30139},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305119571.46903},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119571.62091},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305119571.73302},{"y":25,"d":[[24,18,"e"]],"x":20,"t":1305119571.82221},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305119571.88512},{"y":25,"x":22,"t":1305119571.96512},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119572.12487},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305119572.30903},{"y":25,"d":[[24,23,"h"]],"x":25,"t":1305119572.52508},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119572.63706},{"y":25,"d":[[24,25,"r"]],"x":27,"t":1305119572.71712},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305119572.87685},{"y":25,"x":29,"t":1305119573.01304},{"y":25,"d":[[24,28,"F"]],"x":30,"t":1305119573.27757},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",2,5],["cp",7,6],["cp",8,7],["cp",2,8],["cp",10,9],["cp",2,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",2,24]],"x":1,"f":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",17,19],["cp",16,20],["cp",0,21]],"B":[["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",17,19],["cp",0,20]],"t":1305119573.50077},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",1,4],["cp",6,5],["cp",7,6],["cp",1,7],["cp",9,8],["cp",1,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at 8e715bc commit using -a flag, means add then commit."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",16,18],["cp",15,19],["cp",0,20]],"B":[["cp",15,14],["cp",0,15],["cp",17,16],["cp",18,17],["cp",16,18],["cp",0,19]],"t":1305119573.51215},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119576.71708},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119576.79704},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119576.92468},{"y":25,"x":15,"t":1305119576.98088},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119577.1568},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119577.2529},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119577.3567},{"y":25,"d":[[24,17,"c"]],"x":19,"t":1305119577.51704},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119577.61283},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119577.76469},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119577.84472},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119577.95838},{"y":25,"x":24,"t":1305119578.04484},{"d":[["r","any of your branches: "],["a"," "],["r"," 8c17f39 commit using -a flag, means add then commit. "],["r"," 7c8d7d0 add hello.h using -f flag. "],["a"," "],["r","If you want to keep them by creating a new branch, this may be a good time "],["r","to do so with: "],["a"," "],["r"," git branch new_branch_name 8c17f39f0a1a4f13bb7f5e8c32542d0dd5c3d892 "],["a"," "],["r","Switched to branch 'master' "],["r","bash-3.2$ git reset --hard HEAD@{1} "],["r","HEAD is now at 8c17f39 commit using -a flag, means add then commit. "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","8c17f39 (HEAD, master) commit using -a flag, means add then commit. "],["r","7c8d7d0 add hello.h using -f flag. "],["r","211cb82 (tag: C) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ git checkout master "],["r","Already on 'master' "],["r","gbash-3.2$ git reset --hard F "],["r","HEAD is now at 8e715bc commit using -a flag, means add then commit. "],["r","bash-3.2$ git checkout D "]],"x":25,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d",["r","00000000011110011111100000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d",["r","33333333366663322222237777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119578.45299,"i":1},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",0,3],["cp",5,4],["cp",6,5],["cp",0,6],["cp",8,7],["cp",0,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",15,17],["cp",14,18],["cp",0,19]],"B":[["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",15,17],["cp",0,18]],"t":1305119579.04493},{"y":25,"d":[["cp",12,0],["cp",13,1],["cp",14,2],["cp",15,3],["cp",16,4],["cp",17,5],["cp",18,6],["cp",19,7],["cp",20,8],["cp",21,9],["cp",22,10],["cp",23,11],[12,0,40,"Note: checking out 'D'. "],["cp",24,13],[14,0,71,"You are in 'detached HEAD' state. You can look around, make experimental"],[15,0,72,"changes and commit them, and you can discard any commits you make in this"],[16,0,67,"state without impacting any branches by performing another checkout."],["cp",13,17],[18,0,71,"If you want to create a new branch to retain commits you create, you may"],[19,0,73,"do so (now or later) by using -b with the checkout command again. Example:"],["cp",13,20],[21,0,32," git checkout -b new_branch_name"],["cp",13,22],[23,0,69,"HEAD is now at 4ad14d4... ignore works even move .gitignore to subdir."],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",13,1],["cp",14,2],["cp",15,3],["cp",16,4],["cp",3,5],["cp",2,6],["cp",0,13],["cp",0,14],["cp",0,15],["cp",0,16],["cp",0,17],["cp",0,18]],"B":[["cp",13,1],["cp",15,3],["cp",16,4],["cp",3,5],["cp",0,13],["cp",0,15],["cp",0,16],["cp",0,17]],"t":1305119579.0554},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119580.42876},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119580.4928},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119580.60468},{"y":25,"x":15,"t":1305119580.6687},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119580.89269},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119581.02874},{"y":25,"d":[[24,16,"s"]],"x":18,"t":1305119581.15682},{"y":25,"d":[[24,17,"e"]],"x":19,"t":1305119581.25247},{"y":25,"d":[[24,18,"t"]],"x":20,"t":1305119581.33247},{"y":25,"x":21,"t":1305119581.45275},{"y":25,"d":[[24,20,"-"]],"x":22,"t":1305119581.66067},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119581.84463},{"y":25,"d":[[24,22,"s"]],"x":24,"t":1305119581.96471},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305119582.07652},{"y":25,"d":[[24,24,"f"]],"x":26,"t":1305119582.18053},{"y":25,"d":[[24,25,"t"]],"x":27,"t":1305119582.38047},{"y":25,"x":28,"t":1305119582.54055},{"y":25,"d":[[24,27,"H"]],"x":29,"t":1305119584.01254},{"y":25,"d":[[24,28,"E"]],"x":30,"t":1305119584.06067},{"y":25,"d":[[24,29,"A"]],"x":31,"t":1305119584.24452},{"y":25,"d":[[24,30,"D"]],"x":32,"t":1305119584.32478},{"y":25,"d":[[24,31,"^"]],"x":33,"t":1305119585.29314},{"y":25,"d":[[24,32,"^"]],"x":34,"t":1305119585.46069},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",18,17],["cp",19,18],["cp",12,19],["cp",21,20],["cp",12,21],["cp",23,22],["cp",24,23],["cp",12,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",1,5],["cp",7,6]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",2,4],["cp",1,5]],"t":1305119585.98859},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119586.0005},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119588.10868},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119588.20442},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119588.30867},{"y":25,"x":15,"t":1305119588.36422},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119588.78029},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119588.87641},{"y":25,"d":[[24,16,"m"]],"x":18,"t":1305119589.05224},{"y":25,"d":[[24,17,"m"]],"x":19,"t":1305119589.2043},{"y":25,"d":[[24,18,"i"]],"x":20,"t":1305119589.3886},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305119589.50042},{"y":25,"x":22,"t":1305119589.6123},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119589.78866},{"y":25,"d":[[24,22,"C"]],"x":24,"t":1305119590.26863},{"y":25,"x":25,"t":1305119590.46834},{"y":25,"d":[[24,24,"C"]],"x":26,"t":1305119590.86056},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",17,16],["cp",18,17],["cp",11,18],["cp",20,19],["cp",11,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",11,24]],"x":1,"f":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",0,4],["cp",6,5]],"B":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",1,3],["cp",0,4]],"t":1305119591.20433},{"y":25,"d":[["cp",3,0],["cp",4,1],["cp",5,2],["cp",6,3],["cp",7,4],["cp",8,5],["cp",9,6],["cp",10,7],["cp",11,8],["cp",12,9],["cp",13,10],["cp",14,11],["cp",8,12],["cp",16,13],["cp",17,14],["cp",19,16],["cp",8,17],["cp",21,18],["cp",22,19],["cp",23,20],[21,0,69,"[detached HEAD b0b142a] ignore object files... "],[22,0,48," 1 files changed, 3 insertions(+), 0 deletions(-)"],[23,0,33," create mode 100644 src/.gitignore"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",1,0],["cp",4,1],["cp",5,2],["cp",2,3],["cp",2,4]],"B":[["cp",1,0],["cp",4,1],["cp",1,2],["cp",1,3]],"t":1305119591.29522},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119593.86842},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119593.96411},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119594.06809},{"y":25,"x":15,"t":1305119594.14014},{"y":25,"d":[[24,14,"t"]],"x":16,"t":1305119594.37206},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305119594.53212},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119594.65237},{"y":25,"x":19,"t":1305119594.964},{"y":25,"d":[[24,18,"n"]],"x":20,"t":1305119595.58835},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305119595.68421},{"y":25,"d":[[24,20,"w"]],"x":22,"t":1305119596.38807},{"y":25,"d":[[24,21,"b"]],"x":23,"t":1305119596.66057},{"y":25,"d":[[24,22,"a"]],"x":24,"t":1305119596.86796},{"y":25,"d":[[24,23,"s"]],"x":25,"t":1305119597.02802},{"y":25,"d":[[24,24,"e"]],"x":26,"t":1305119597.14008},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",7,11],["cp",13,12],["cp",14,13],["cp",7,14],["cp",16,15],["cp",7,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",7,24]],"x":1,"f":[["cp",1,0],["cp",2,1]],"B":[["cp",1,0]],"t":1305119597.62796},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119597.63509},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119599.10011},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119599.20407},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119599.3078},{"y":25,"x":15,"t":1305119599.36407},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119599.52393},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119599.66007},{"y":25,"d":[[24,16,"v"]],"x":18,"t":1305119599.82793},{"y":25,"d":[[24,17,"-"]],"x":19,"t":1305119599.95603},{"y":25,"d":[[24,18,"p"]],"x":20,"t":1305119600.17986},{"y":25,"d":[[24,19,"a"]],"x":21,"t":1305119600.32406},{"y":25,"d":[[24,20,"r"]],"x":22,"t":1305119600.52388},{"y":25,"d":[[24,21,"s"]],"x":23,"t":1305119600.6838},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119600.81973},{"y":25,"x":25,"t":1305119600.92377},{"y":25,"d":[[24,24,"n"]],"x":26,"t":1305119601.37186},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305119601.42804},{"y":25,"d":[[24,26,"w"]],"x":28,"t":1305119601.53986},{"y":25,"d":[[24,27,"b"]],"x":29,"t":1305119601.83577},{"y":25,"d":[[24,28,"a"]],"x":30,"t":1305119602.02781},{"y":25,"d":[[24,29,"s"]],"x":31,"t":1305119602.196},{"y":25,"d":[[24,30,"e"]],"x":32,"t":1305119602.27591},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",6,10],["cp",12,11],["cp",13,12],["cp",6,13],["cp",15,14],["cp",6,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",6,24]],"x":1,"f":[["cp",1,0]],"t":1305119602.5237},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",5,9],["cp",11,10],["cp",12,11],["cp",5,12],["cp",14,13],["cp",5,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,1,39,"0b142a6756f330be41de0b928c544990048845c"],[24,0,8,"bash-3.2$"]],"x":11,"t":1305119602.53043},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119604.12372},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119604.25162},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119604.33995},{"y":25,"x":15,"t":1305119604.41173},{"y":25,"d":[[24,14,"r"]],"x":16,"t":1305119604.5876},{"y":25,"d":[[24,15,"e"]],"x":17,"t":1305119604.7159},{"y":25,"d":[[24,16,"b"]],"x":18,"t":1305119604.93157},{"y":25,"d":[[24,17,"a"]],"x":19,"t":1305119605.15562},{"y":25,"d":[[24,18,"s"]],"x":20,"t":1305119605.32385},{"y":25,"d":[[24,19,"e"]],"x":21,"t":1305119605.4599},{"y":25,"x":22,"t":1305119605.66757},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119605.95685},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305119606.14801},{"y":25,"d":[[24,23,"o"]],"x":25,"t":1305119606.41153},{"y":25,"d":[[24,24,"n"]],"x":26,"t":1305119606.5957},{"d":[["r","Already on 'master' "],["r","gbash-3.2$ git reset --hard F "],["r","HEAD is now at 8e715bc commit using -a flag, means add then commit. "],["r","bash-3.2$ git checkout D "],["r","Note: checking out 'D'. "],["a"," "],["r","You are in 'detached HEAD' state. You can look around, make experimental "],["r","changes and commit them, and you can discard any commits you make in this "],["r","state without impacting any branches by performing another checkout. "],["a"," "],["r","If you want to create a new branch to retain commits you create, you may "],["r","do so (now or later) by using -b with the checkout command again. Example: "],["a"," "],["r"," git checkout -b new_branch_name "],["a"," "],["r","HEAD is now at 4ad14d4... ignore works even move .gitignore to subdir. "],["r","bash-3.2$ git reset --soft HEAD^^ "],["r","bash-3.2$ git commit -C C "],["r","[detached HEAD b0b142a] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 src/.gitignore "],["r","bash-3.2$ git tag newbase "],["r","bash-3.2$ git rev-parse newbase "],["r","b0b142a6756f330be41de0b928c544990048845c "],["r","bash-3.2$ git rebase --ont "]],"x":27,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119606.73953,"i":1},{"y":25,"d":[[24,26,"o"]],"x":28,"t":1305119606.85156},{"y":25,"x":29,"t":1305119607.03563},{"y":25,"d":[[24,28,"n"]],"x":30,"t":1305119607.83555},{"y":25,"d":[[24,29,"e"]],"x":31,"t":1305119607.93958},{"y":25,"d":[[24,30,"w"]],"x":32,"t":1305119608.06772},{"y":25,"d":[[24,31,"b"]],"x":33,"t":1305119608.33172},{"y":25,"d":[[24,32,"a"]],"x":34,"t":1305119608.52356},{"y":25,"d":[[24,33,"s"]],"x":35,"t":1305119608.73954},{"y":25,"d":[[24,34,"e"]],"x":36,"t":1305119609.24369},{"y":25,"x":37,"t":1305119609.49979},{"y":25,"d":[[24,36,"E"]],"x":38,"t":1305119610.74021},{"y":25,"d":[[24,37,"^"]],"x":39,"t":1305119611.7076},{"y":25,"x":40,"t":1305119612.16372},{"y":25,"d":[[24,39,"m"]],"x":41,"t":1305119612.58736},{"y":25,"d":[[24,40,"a"]],"x":42,"t":1305119612.6754},{"y":25,"d":[[24,41,"s"]],"x":43,"t":1305119612.85155},{"y":25,"d":[[24,42,"t"]],"x":44,"t":1305119612.93939},{"y":25,"d":[[24,43,"e"]],"x":45,"t":1305119613.11571},{"y":25,"d":[[24,44,"r"]],"x":46,"t":1305119613.1874},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",4,8],["cp",10,9],["cp",11,10],["cp",4,11],["cp",13,12],["cp",4,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",4,24]],"x":1,"t":1305119613.37134},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",3,7],["cp",9,8],["cp",10,9],["cp",3,10],["cp",12,11],["cp",3,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,56,"First, rewinding head to replay your work on top of it..."]],"x":1,"t":1305119613.45566},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",2,6],["cp",8,7],["cp",9,8],["cp",2,9],["cp",11,10],["cp",2,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,56,"Applying: add hello.h using -f flag. "]],"x":1,"t":1305119613.83545},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",1,5],["cp",7,6],["cp",8,7],["cp",1,8],["cp",10,9],["cp",1,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,10,53,"commit using -a flag, means add then commit."]],"x":1,"t":1305119613.92131},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119613.98665},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119616.54732},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119616.63533},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119616.74721},{"y":25,"x":15,"t":1305119616.80365},{"y":25,"d":[[24,14,"l"]],"x":16,"t":1305119616.93124},{"y":25,"d":[[24,15,"o"]],"x":17,"t":1305119617.10725},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119617.19531},{"y":25,"x":19,"t":1305119617.31524},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119617.44338},{"y":25,"d":[[24,19,"-"]],"x":21,"t":1305119617.6353},{"y":25,"d":[[24,20,"o"]],"x":22,"t":1305119617.92316},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305119618.06753},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119618.15525},{"y":25,"d":[[24,23,"l"]],"x":25,"t":1305119619.27504},{"y":25,"d":[[24,24,"i"]],"x":26,"t":1305119619.42736},{"y":25,"d":[[24,25,"e"]],"x":27,"t":1305119619.53113},{"y":25,"d":[[24,25," "]],"x":26,"t":1305119620.16314},{"y":25,"d":[[24,25,"n"]],"x":27,"t":1305119620.37929},{"y":25,"d":[[24,26,"e"]],"x":28,"t":1305119620.45928},{"y":25,"x":29,"t":1305119620.55555},{"y":25,"d":[[24,28,"-"]],"x":30,"t":1305119620.7072},{"y":25,"d":[[24,29,"-"]],"x":31,"t":1305119620.9072},{"y":25,"d":[[24,30,"d"]],"x":32,"t":1305119620.97115},{"y":25,"d":[[24,31,"e"]],"x":33,"t":1305119621.14727},{"y":25,"d":[[24,32,"c"]],"x":34,"t":1305119621.3152},{"y":25,"d":[[24,33,"o"]],"x":35,"t":1305119621.39531},{"y":25,"d":[[24,34,"r"]],"x":36,"t":1305119621.46718},{"y":25,"d":[[24,35,"a"]],"x":37,"t":1305119621.63507},{"y":25,"d":[[24,36,"t"]],"x":38,"t":1305119621.73908},{"y":25,"d":[[24,37,"e"]],"x":39,"t":1305119621.81901},{"y":25,"x":40,"t":1305119621.93913},{"y":25,"d":[[24,39,"-"]],"x":41,"t":1305119622.0432},{"y":25,"d":[[24,40,"6"]],"x":42,"t":1305119622.52312},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",0,4],["cp",6,5],["cp",7,6],["cp",0,7],["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"t":1305119622.99504},{"y":25,"d":[["cp",6,0],["cp",4,1],["cp",8,2],["cp",1,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",22,16],["cp",23,17],[18,0,66,"f75a3b2 (HEAD, master) commit using -a flag, means add then commit."],[19,0,44,"38bb147 add hello.h using -f flag. "],[20,0,56,"b0b142a (tag: newbase) ignore object files... "],[21,0,12,"15f507b (tag:"],[21,19,56,"_1.0, tag: B) Hello world initialized."],[22,0,53,"8be895d (tag: A) README is from welcome.txt "],[23,0,40,"cb5775e restore file: welcome.txt "],[24,0,8,"bash-3.2$"]],"x":11,"f":[[18,0,21,"3333333336666332222223"],[19,0,6,["a","3"]],[20,0,21,["a","3"]],[21,0,31,["a","3"]],[22,0,15,["a","3"]],["cp",19,23]],"B":[[18,9,20,"111100111111"],[20,9,20,["a","1"]],[21,9,30,"1111111111111100111111"],[22,9,14,["a","1"]]],"t":1305119623.0087},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119627.12306},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119627.21105},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119627.2909},{"y":25,"x":15,"t":1305119627.37881},{"y":25,"d":[[24,14,"b"]],"x":16,"t":1305119627.54686},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305119627.73086},{"y":25,"d":[[24,16,"a"]],"x":18,"t":1305119627.89085},{"y":25,"d":[[24,17,"n"]],"x":19,"t":1305119628.01108},{"y":25,"d":[[24,18,"c"]],"x":20,"t":1305119628.11496},{"y":25,"d":[[24,19,"h"]],"x":21,"t":1305119628.22691},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",18,22],["cp",0,23]],"B":[["cp",18,17],["cp",0,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",0,22]],"t":1305119628.43505},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,19,"* master "],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",17,21],["cp",0,22],[23,2,7,["a","2"]]],"B":[["cp",17,16],["cp",0,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",0,21]],"t":1305119628.44226},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119631.25079},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119631.33868},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119631.41853},{"y":25,"x":15,"t":1305119631.51474},{"y":25,"d":[[24,14,"t"]],"x":16,"t":1305119631.67478},{"y":25,"d":[[24,15,"a"]],"x":17,"t":1305119631.83471},{"y":25,"d":[[24,16,"g"]],"x":18,"t":1305119631.94666},{"y":25,"x":19,"t":1305119632.09898},{"y":25,"d":[[24,18,"-"]],"x":20,"t":1305119632.23481},{"y":25,"d":[[24,19,"d"]],"x":21,"t":1305119633.09874},{"y":25,"x":22,"t":1305119633.2199},{"y":25,"d":[[24,21,"n"]],"x":23,"t":1305119633.52251},{"y":25,"d":[[24,22,"e"]],"x":24,"t":1305119633.58677},{"y":25,"d":[[24,23,"w"]],"x":25,"t":1305119634.14665},{"y":25,"d":[[24,24,"b"]],"x":26,"t":1305119634.43461},{"y":25,"d":[[24,25,"a"]],"x":27,"t":1305119634.64255},{"y":25,"d":[[24,26,"s"]],"x":28,"t":1305119634.80261},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119634.89069},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],["cp",0,24]],"x":1,"f":[["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",16,20],["cp",0,21],["cp",23,22],["cp",0,23]],"B":[["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",0,20]],"t":1305119635.13052},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,34,"Deleted tag 'newbase' (was b0b142a)"],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",15,19],["cp",0,20],["cp",22,21],["cp",0,22]],"B":[["cp",15,14],["cp",0,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",0,19]],"t":1305119635.13846},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23]],"x":11,"f":[["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",14,18],["cp",0,19],["cp",21,20],["cp",0,21]],"B":[["cp",14,13],["cp",0,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",0,18]],"t":1305119638.58675},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119638.81849},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119638.89835},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119638.97845},{"y":25,"x":15,"t":1305119639.08235},{"y":25,"d":[[24,14,"c"]],"x":16,"t":1305119639.32235},{"y":25,"d":[[24,15,"h"]],"x":17,"t":1305119639.42627},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119639.50639},{"d":[["r","bash-3.2$ git reset --soft HEAD^^ "],["r","bash-3.2$ git commit -C C "],["r","[detached HEAD b0b142a] ignore object files... "],["r"," 1 files changed, 3 insertions(+), 0 deletions(-) "],["r"," create mode 100644 src/.gitignore "],["r","bash-3.2$ git tag newbase "],["r","bash-3.2$ git rev-parse newbase "],["r","b0b142a6756f330be41de0b928c544990048845c "],["r","bash-3.2$ git rebase --onto newbase E^ master "],["r","First, rewinding head to replay your work on top of it... "],["r","Applying: add hello.h using -f flag. "],["r","Applying: commit using -a flag, means add then commit. "],["r","bash-3.2$ git log --oneline --decorate -6 "],["r","f75a3b2 (HEAD, master) commit using -a flag, means add then commit. "],["r","38bb147 add hello.h using -f flag. "],["r","b0b142a (tag: newbase) ignore object files... "],["r","15f507b (tag: hello_1.0, tag: B) Hello world initialized. "],["r","8be895d (tag: A) README is from welcome.txt "],["r","cb5775e restore file: welcome.txt "],["r","bash-3.2$ git branch "],["r","* master "],["r","bash-3.2$ git tag -d newbase "],["r","Deleted tag 'newbase' (was b0b142a) "],["r","bash-3.2$ "],["r","bash-3.2$ git chec "]],"x":19,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","00000000011110011111100000000000000000000000000000000000000000000000000000000000"],["a","0"],["r","00000000011111111111100000000000000000000000000000000000000000000000000000000000"],["r","00000000011111111111111001111110000000000000000000000000000000000000000000000000"],["r","00000000011111100000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d"],"y":25,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d",["r","33333333366663322222237777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333337777777777777777777777777777777777777777777777777777777777"],["r","33333333333333333333333333333333777777777777777777777777777777777777777777777777"],["r","33333333333333337777777777777777777777777777777777777777777777777777777777777777"],["r","33333337777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],["r","77222222777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119639.67439,"i":1},{"y":25,"d":[[24,18,"k"]],"x":20,"t":1305119639.76241},{"y":25,"d":[[24,19,"o"]],"x":21,"t":1305119639.92238},{"y":25,"d":[[24,20,"u"]],"x":22,"t":1305119640.00217},{"y":25,"d":[[24,21,"t"]],"x":23,"t":1305119640.0824},{"y":25,"x":24,"t":1305119640.1705},{"y":25,"d":[[24,23,"m"]],"x":25,"t":1305119640.40249},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119640.7305},{"y":25,"d":[[24,25,"s"]],"x":27,"t":1305119640.89828},{"y":25,"d":[[24,26,"t"]],"x":28,"t":1305119641.04216},{"y":25,"d":[[24,27,"e"]],"x":29,"t":1305119641.20235},{"y":25,"d":[[24,28,"r"]],"x":30,"t":1305119641.25827},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",13,17],["cp",0,18],["cp",20,19],["cp",0,20]],"B":[["cp",13,12],["cp",0,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",0,17]],"t":1305119641.37831},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,28,"Already on 'master' "]],"x":1,"f":[["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",12,16],["cp",0,17],["cp",19,18],["cp",0,19]],"B":[["cp",12,11],["cp",0,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16]],"t":1305119641.38798},{"y":25,"d":[[24,0,"g"]],"x":2,"t":1305119641.61851},{"y":25,"d":[[24,1,11,"bash-3.2$ g"]],"x":13,"t":1305119641.68043},{"y":25,"d":[[24,12,"i"]],"x":14,"t":1305119641.71419},{"y":25,"d":[[24,13,"t"]],"x":15,"t":1305119641.81032},{"y":25,"x":16,"t":1305119641.89035},{"y":25,"d":[[24,15,"r"]],"x":17,"t":1305119642.05024},{"y":25,"d":[[24,16,"e"]],"x":18,"t":1305119642.1863},{"y":25,"d":[[24,17,"s"]],"x":19,"t":1305119642.33038},{"y":25,"d":[[24,18,"e"]],"x":20,"t":1305119642.39424},{"y":25,"d":[[24,19,"t"]],"x":21,"t":1305119642.4663},{"y":25,"x":22,"t":1305119642.55431},{"y":25,"d":[[24,21,"-"]],"x":23,"t":1305119642.66643},{"y":25,"d":[[24,22,"-"]],"x":24,"t":1305119642.85042},{"y":25,"d":[[24,23,"h"]],"x":25,"t":1305119643.04216},{"y":25,"d":[[24,24,"a"]],"x":26,"t":1305119643.1062},{"y":25,"d":[[24,25,"r"]],"x":27,"t":1305119643.1947},{"y":25,"d":[[24,26,"d"]],"x":28,"t":1305119643.37015},{"y":25,"x":29,"t":1305119643.71462},{"y":25,"d":[[24,28,"F"]],"x":30,"t":1305119643.98642},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",24,23],[24,["a"," "]]],"x":1,"f":[["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",11,15],["cp",0,16],["cp",18,17],["cp",0,18]],"B":[["cp",11,10],["cp",0,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",0,15]],"t":1305119644.81836},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"HEAD is now at 8e715bc commit using -a flag, means add then commit."],["cp",19,24]],"x":11,"f":[["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",10,14],["cp",0,15],["cp",17,16],["cp",0,17]],"B":[["cp",10,9],["cp",0,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",0,14]],"t":1305119644.829},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],[23,0,66,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",9,13],["cp",0,14],["cp",16,15],["cp",0,16]],"B":[["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",0,13]],"t":1305119647.37848}]} \ No newline at end of file diff --git a/html/part2/ch12-03-back2future-3.html b/html/part2/ch12-03-back2future-3.html deleted file mode 100644 index 07d47ae75..000000000 --- a/html/part2/ch12-03-back2future-3.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: ch12-03-back2future-3 -json_file: ch12-03-back2future-3.json ---- diff --git a/html/part2/ch12-03-back2future-3.json b/html/part2/ch12-03-back2future-3.json deleted file mode 100644 index 0f6807b99..000000000 --- a/html/part2/ch12-03-back2future-3.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305119677.38603,"i":1},{"y":1,"d":[[0,10,38,"cd /path/to/my/workspace/demo"]],"x":11,"t":1305119677.91316},{"y":2,"x":1,"t":1305119678.62489},{"y":2,"d":[[1,0,8,"bash-3.2$"]],"x":11,"t":1305119678.62514},{"y":2,"d":[[1,10,"g"]],"x":12,"t":1305119679.27294},{"y":2,"d":[[1,11,"i"]],"x":13,"t":1305119679.36092},{"y":2,"d":[[1,12,"t"]],"x":14,"t":1305119679.44085},{"y":2,"x":15,"t":1305119679.53779},{"y":2,"d":[[1,14,"l"]],"x":16,"t":1305119679.65695},{"y":2,"d":[[1,15,"o"]],"x":17,"t":1305119679.84102},{"y":2,"d":[[1,16,"g"]],"x":18,"t":1305119679.92879},{"y":2,"x":19,"t":1305119680.0088},{"y":2,"d":[[1,18,"-"]],"x":20,"t":1305119680.16108},{"y":2,"d":[[1,19,"-"]],"x":21,"t":1305119680.34503},{"y":2,"d":[[1,20,"d"]],"x":22,"t":1305119680.45697},{"y":2,"d":[[1,21,"e"]],"x":23,"t":1305119680.62479},{"y":2,"d":[[1,22,"c"]],"x":24,"t":1305119680.80909},{"y":2,"d":[[1,23,"o"]],"x":25,"t":1305119680.92074},{"y":2,"d":[[1,24,"r"]],"x":26,"t":1305119680.98507},{"y":2,"d":[[1,25,"a"]],"x":27,"t":1305119681.16093},{"y":2,"d":[[1,26,"t"]],"x":28,"t":1305119681.29698},{"y":2,"d":[[1,27,"e"]],"x":29,"t":1305119681.40893},{"y":2,"x":30,"t":1305119681.56077},{"y":2,"d":[[1,29,"-"]],"x":31,"t":1305119681.75272},{"y":2,"d":[[1,30,"-"]],"x":32,"t":1305119681.95271},{"y":2,"d":[[1,31,"o"]],"x":33,"t":1305119682.30457},{"y":2,"d":[[1,32,"n"]],"x":34,"t":1305119682.4491},{"y":2,"d":[[1,33,"e"]],"x":35,"t":1305119683.08877},{"y":2,"d":[[1,34,"l"]],"x":36,"t":1305119683.28866},{"y":2,"d":[[1,35,"i"]],"x":37,"t":1305119683.45674},{"y":2,"d":[[1,36,"n"]],"x":38,"t":1305119683.57683},{"y":2,"d":[[1,37,"e"]],"x":39,"t":1305119683.69666},{"y":2,"x":40,"t":1305119683.78474},{"y":2,"d":[[1,39,"-"]],"x":41,"t":1305119684.02468},{"y":2,"d":[[1,40,"6"]],"x":42,"t":1305119684.81683},{"y":3,"x":1,"t":1305119684.9288},{"y":9,"d":[[2,0,74,"8e715bc (HEAD, tag: F, master) commit using -a flag, means add then commit."],[3,0,42,"fd33ea2 (tag: E) add hello.h using -f flag."],[4,0,60,"4ad14d4 (tag: D) ignore works even move .gitignore to subdir."],[5,0,38,"211cb82 (tag: C) ignore object files..."],[6,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[7,0,42,"8be895d (tag: A) README is from welcome.txt"],[8,0,8,"bash-3.2$"]],"x":11,"f":[[2,0,29,"333333333666633333333332222223"],[3,0,15,["a","3"]],["cp",3,4],["cp",3,5],[6,0,31,["a","3"]],["cp",3,7]],"B":[[2,9,28,"11110011111100111111"],[3,9,14,["a","1"]],["cp",3,4],["cp",3,5],[6,9,30,"1111111111111100111111"],["cp",3,7]],"t":1305119684.94269},{"y":10,"x":1,"t":1305119687.59253},{"y":10,"d":[["cp",8,9]],"x":11,"t":1305119687.59269},{"y":10,"d":[[9,10,"g"]],"x":12,"t":1305119688.08871},{"y":10,"d":[[9,11,"i"]],"x":13,"t":1305119688.19271},{"y":10,"d":[[9,12,"t"]],"x":14,"t":1305119688.3365},{"y":10,"x":15,"t":1305119688.39253},{"y":10,"d":[[9,14,"r"]],"x":16,"t":1305119688.62471},{"y":10,"d":[[9,15,"e"]],"x":17,"t":1305119688.76124},{"y":10,"d":[[9,16,"b"]],"x":18,"t":1305119689.08046},{"y":10,"d":[[9,17,"a"]],"x":19,"t":1305119689.30458},{"y":10,"d":[[9,18,"s"]],"x":20,"t":1305119689.48864},{"y":10,"d":[[9,19,"e"]],"x":21,"t":1305119689.64046},{"y":10,"x":22,"t":1305119689.82464},{"y":10,"d":[[9,21,"-"]],"x":23,"t":1305119691.65662},{"y":10,"d":[[9,22,"i"]],"x":24,"t":1305119691.90443},{"y":10,"x":25,"t":1305119692.1446},{"y":10,"d":[[9,24,"D"]],"x":26,"t":1305119693.11262},{"y":10,"d":[[9,25,"^"]],"x":27,"t":1305119693.67249},{"y":11,"x":1,"t":1305119694.3764},{"y":11,"x":1,"t":1305119694.85056},{"y":1,"d":[[0,0,56,"pick 4ad14d4 ignore works even move .gitignore to subdir."],[1,0,40,"pick fd33ea2 add hello.h using -f flag. "],[2,0,74,"pick 8e715bc commit using -a flag, means add then commit. "],["cp",10,3],[4,0,60,"# Rebase 211cb82..8e715bc onto 211cb82 "],[5,0,38,"# "],[6,0,56,"# Commands: "],[7,0,42,"# p, pick = use commit "],[8,0,53,"# r, reword = use commit, but edit the commit message"],[9,0,45,"# e, edit = use commit, but stop for amending"],[10,0,55,"# s, squash = use commit, but meld into previous commit"],[11,0,65,"# f, fixup = like \"squash\", but discard this commit's log message"],[12,0,58,"# x, exec = run command (the rest of the line) using shell"],["cp",5,13],[14,0,52,"# If you remove a line here THAT COMMIT WILL BE LOST."],[15,0,63,"# However, if you remove everything, the rebase will be aborted."],["cp",5,16],[17,0,"~"],["cp",17,18],["cp",17,19],["cp",17,20],["cp",17,21],[22,0,77,"...\" to unstage)"],[14,0,"#"],[15,0,27,"# new file: src/.gitignore"],["cp",14,16],[17,0,"~"],["cp",17,18],["cp",17,19],["cp",17,20],["cp",17,21],[22,0,31,"\".git/COMMIT_EDITMSG\" 17L, 451Cc"]],"x":1,"f":[[0,0,36,["a","4"]],[1,0,31,"44555555555555555555555555555555"],[5,0,32,"445555555555555555555555555555555"],[9,0,65,["a","4"]],[10,0,66,["a","4"]],[11,0,29,"445555555555555555555555555555"],[12,0,25,"44555555555555555555555555"],[13,0,46,["a","4"]],[14,0,"4"],[15,0,27,"4422222222441111111111111111"],["cp",14,16],[17,0,77,["a","4"]],["cp",17,18],["cp",17,19],["cp",17,20],["cp",17,21]],"B":[[17,0,77,["a","1"]],["cp",17,18],["cp",17,19],["cp",17,20],["cp",17,21]],"t":1305119748.21491},{"y":23,"d":[[22,0,31,": "]],"x":2,"t":1305119750.81472},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305119752.47009},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305119752.71006},{"y":23,"d":[[22,2," "]],"x":3,"t":1305119754.56615},{"y":23,"d":[[22,1," "]],"x":2,"t":1305119755.11821},{"y":1,"d":[["cp",2,22]],"x":1,"t":1305119755.66189},{"y":23,"d":[[22,0,":"]],"x":2,"t":1305119758.07818},{"y":23,"d":[[22,1,"w"]],"x":3,"t":1305119758.19824},{"y":23,"d":[[22,2,"q"]],"x":4,"t":1305119758.39791},{"y":23,"x":1,"t":1305119758.53384},{"y":23,"d":[[22,0,20,"\".git/COMMIT_EDITMSG\""]],"x":22,"t":1305119758.53405},{"y":23,"d":[[22,22,38,"17L, 451C written"]],"x":40,"t":1305119758.81332},{"y":25,"d":[["cp",2,0],["cp",0,1],["cp",0,3],["cp",0,5],["cp",0,7],[8,0,50,"Successfully rebased and updated refs/heads/master."],[9,0,65,"bash-3.2$ git log --decorate --oneline -6 "],[10,0,58,"b542daf (HEAD, master) commit using -a flag, means add then"],[11,0,33,"aae1601 add hello.h using -f flag."],[12,0,38,"211cb82 (tag: C) ignore object files..."],[13,0,56,"15f507b (tag: hello_1.0, tag: B) Hello world initialized."],[14,0,42,"8be895d (tag: A) README is from welcome.txt"],[15,0,32,"cb5775e restore file: welcome.txt"],[16,0,28,"bash-3.2$ git checkout master"],[17,0,18,"Already on 'master'"],[18,0,27,"bash-3.2$ git reset --hard F"],[19,0,66,"HEAD is now at 8e715bc commit using -a flag, means add then commit."],[20,0,25,"bash-3.2$ git rebase -i C^"],[21,0,45,"[detached HEAD 3366181] ignore object files..."],[22,0,48," 1 files changed, 3 insertions(+), 0 deletions(-)"],[23,1,33,"create mode 100644 src/.gitignore"],[24,0,13,"Rebasing (3/4)"]],"x":1,"f":[["cp",2,0],["cp",0,1],["cp",0,5],["cp",0,9],[10,0,66,"3333333336666332222223777777777777777777777777777777777777777777777"],[11,0,29,"333333377777777777777777777777"],[12,0,25,"33333333333333337777777777"],[13,0,46,"33333333333333333333333333333333777777777777777"],["cp",12,14],["cp",11,15],["cp",0,16],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"B":[[10,9,20,"111100111111"],[12,9,14,["a","1"]],[13,9,30,"1111111111111100111111"],["cp",12,14],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21]],"t":1305119758.86191},{"y":25,"d":[[24,10,"4"]],"x":1,"t":1305119758.92479},{"y":25,"d":[["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",23,22],["cp",7,23],["cp",0,24]],"x":1,"f":[["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",10,14],["cp",0,15]],"B":[["cp",10,9],["cp",0,10],["cp",12,11],["cp",13,12],["cp",11,13],["cp",0,14]],"t":1305119759.24175},{"y":25,"d":[[24,0,8,"bash-3.2$"]],"x":11,"t":1305119759.24301},{"y":25,"d":[[24,10,"g"]],"x":12,"t":1305119760.28576},{"y":25,"d":[[24,11,"i"]],"x":13,"t":1305119760.37365},{"y":25,"d":[[24,12,"t"]],"x":14,"t":1305119760.50175},{"y":25,"x":15,"t":1305119760.60578},{"y":25,"x":14,"t":1305119761.04563},{"y":25,"d":[["cp",19,24]],"x":11,"t":1305119761.12578},{"y":25,"d":[[24,10,25,"/ "]],"x":12,"t":1305119761.31775},{"y":25,"d":[[24,11,"l"]],"x":13,"t":1305119761.50175},{"y":25,"d":[[24,12,"o"]],"x":14,"t":1305119761.66995},{"y":25,"d":[[24,13,"g"]],"x":15,"t":1305119761.74992},{"y":25,"d":[["cp",8,24]],"x":11,"t":1305119761.8937},{"y":25,"d":[["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",17,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",6,22],["cp",7,23],["cp",0,24]],"x":1,"f":[["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",9,13],["cp",0,14]],"B":[["cp",9,8],["cp",0,9],["cp",11,10],["cp",12,11],["cp",10,12],["cp",0,13]],"t":1305119762.87783},{"y":25,"d":[["cp",6,0],["cp",7,1],["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",12,6],["cp",13,7],["cp",14,8],["cp",15,9],["cp",16,10],["cp",17,11],["cp",18,12],["cp",19,13],["cp",20,14],["cp",21,15],["cp",0,16],["cp",1,17],[18,0,66,"21e3c82 (HEAD, master) commit using -a flag, means add then commit."],[19,0,45,"65a2bc8 add hello.h using -f flag. "],[20,0,48,"3366181 ignore object files... "],["cp",5,21],["cp",6,22],["cp",7,23],[24,0,8,"bash-3.2$"]],"x":11,"f":[["cp",8,2],["cp",9,3],["cp",10,4],["cp",11,5],["cp",4,6],["cp",3,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,12],["cp",0,13],["cp",2,18],["cp",3,19],["cp",3,20],["cp",5,21],["cp",4,22],["cp",3,23]],"B":[["cp",8,2],["cp",10,4],["cp",11,5],["cp",4,6],["cp",0,8],["cp",0,10],["cp",0,11],["cp",0,12],["cp",2,18],["cp",5,21],["cp",4,22]],"t":1305119762.89342},{"y":25,"d":[["cp",1,0],["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",6,5],["cp",7,6],["cp",8,7],["cp",9,8],["cp",10,9],["cp",11,10],["cp",12,11],["cp",13,12],["cp",14,13],["cp",15,14],["cp",16,15],["cp",0,16],["cp",18,17],["cp",19,18],["cp",20,19],["cp",4,20],["cp",5,21],["cp",6,22],[23,0,32,"bash-3.2$ exit "],[24,["a"," "]]],"x":1,"f":[["cp",2,1],["cp",3,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",2,6],["cp",0,7],["cp",1,17],["cp",2,18],["cp",4,20],["cp",3,21],["cp",2,22],["cp",0,23]],"B":[["cp",2,1],["cp",0,2],["cp",4,3],["cp",5,4],["cp",3,5],["cp",0,6],["cp",1,17],["cp",0,18],["cp",4,20],["cp",3,21],["cp",0,22]],"t":1305119768.38188}]} \ No newline at end of file diff --git a/html/part3/smart-and-dump-protocol.html b/html/part3/smart-and-dump-protocol.html deleted file mode 100644 index da5d62898..000000000 --- a/html/part3/smart-and-dump-protocol.html +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: smart-and-dump-protocol -json_file: smart-and-dump-protocol.json ---- diff --git a/html/part3/smart-and-dump-protocol.json b/html/part3/smart-and-dump-protocol.json deleted file mode 100644 index c246fa77a..000000000 --- a/html/part3/smart-and-dump-protocol.json +++ /dev/null @@ -1 +0,0 @@ -{"width":"80","height":"25","timeline":[{"d":[["r","bash-3.2$ "],["a"," "],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"x":11,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":1,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020687.94266,"i":1},{"y":1,"d":[[0,10,"p"]],"x":12,"t":1305020688.64734},{"y":1,"d":[[0,11,"w"]],"x":13,"t":1305020688.73494},{"y":1,"d":[[0,12,"d"]],"x":14,"t":1305020688.87085},{"y":2,"x":1,"t":1305020689.50309},{"y":3,"d":[[1,0,24,"/Users/jiangxin/workspace"],[2,0,8,"bash-3.2$"]],"x":11,"t":1305020689.50327},{"y":3,"d":[[2,10,"s"]],"x":12,"t":1305020689.90299},{"y":3,"d":[[2,11,"c"]],"x":13,"t":1305020690.0951},{"y":3,"d":[[2,12,"r"]],"x":14,"t":1305020690.28719},{"y":3,"d":[[2,13,"e"]],"x":15,"t":1305020690.47092},{"y":3,"d":[[2,14,"e"]],"x":16,"t":1305020690.64712},{"y":3,"d":[[2,15,"n"]],"x":17,"t":1305020690.71906},{"y":4,"x":1,"t":1305020691.05594},{"y":1,"d":[["cp",3,0],["cp",0,1],["cp",0,2]],"x":1,"t":1305020691.06221},{"y":1,"x":1,"t":1305020691.37607},{"y":1,"b":[[23,0,5,["a","4"]]],"d":[[23,0,5,"0 bash"],[23,54,76,"@jx - 2011/05/10, 5:44"]],"x":1,"t":1305020691.37931},{"y":1,"d":[[0,0,8,"bash-3.2$"]],"x":11,"t":1305020691.72076},{"y":24,"b":[["cp",23,11],[23,2,5,["a","0"]]],"d":[["cp",23,11],[23,0,9,"- 0 bash"],[23,54,76,["a"," "]]],"x":30,"t":1305020693.19927},{"y":1,"d":[[23,54,76,"@jx - 2011/05/10, 5:44"]],"x":11,"t":1305020693.19934},{"y":1,"d":[[0,10,"g"]],"x":12,"t":1305020694.079},{"y":1,"d":[[0,11,"i"]],"x":13,"t":1305020694.16758},{"y":1,"d":[[0,12,"t"]],"x":14,"t":1305020694.27105},{"y":1,"x":15,"t":1305020694.36679},{"y":1,"d":[[0,14,"c"]],"x":16,"t":1305020694.5272},{"y":1,"d":[[0,15,"l"]],"x":17,"t":1305020694.59117},{"y":1,"d":[[0,16,"o"]],"x":18,"t":1305020694.7351},{"y":1,"d":[[0,17,"n"]],"x":19,"t":1305020694.86304},{"y":1,"d":[[0,18,"e"]],"x":20,"t":1305020694.9752},{"y":1,"x":21,"t":1305020695.13657},{"y":1,"d":[[0,20,"g"]],"x":22,"t":1305020695.43104},{"y":1,"d":[[0,21,"i"]],"x":23,"t":1305020695.55893},{"y":1,"d":[[0,22,"t"]],"x":24,"t":1305020695.783},{"y":1,"d":[[0,23,"@"]],"x":25,"t":1305020697.04712},{"y":1,"d":[[0,24,"g"]],"x":26,"t":1305020697.50298},{"y":1,"d":[[0,25,"i"]],"x":27,"t":1305020697.61484},{"y":1,"d":[[0,26,"t"]],"x":28,"t":1305020697.70289},{"y":1,"d":[[0,27,"."]],"x":29,"t":1305020697.85493},{"y":1,"d":[[0,28,"b"]],"x":30,"t":1305020698.03888},{"y":1,"d":[[0,29,"j"]],"x":31,"t":1305020698.1267},{"y":1,"d":[[0,30,"."]],"x":32,"t":1305020698.36704},{"y":1,"d":[[0,31,"o"]],"x":33,"t":1305020698.56695},{"y":1,"d":[[0,32,"s"]],"x":34,"t":1305020698.71124},{"y":1,"d":[[0,33,"s"]],"x":35,"t":1305020698.87869},{"y":1,"d":[[0,34,"x"]],"x":36,"t":1305020699.05494},{"y":1,"d":[[0,35,"p"]],"x":37,"t":1305020699.13482},{"y":1,"d":[[0,36,"."]],"x":38,"t":1305020699.28677},{"y":1,"d":[[0,37,"c"]],"x":39,"t":1305020699.3429},{"y":1,"d":[[0,38,"o"]],"x":40,"t":1305020699.4868},{"y":1,"d":[[0,39,"m"]],"x":41,"t":1305020699.58263},{"y":1,"d":[[0,40,":"]],"x":42,"t":1305020700.02527},{"y":1,"d":[[11,76,"5"]],"x":42,"t":1305020700.10019},{"y":1,"d":[[23,76,"5"]],"x":42,"t":1305020700.10027},{"y":1,"d":[[0,41,"m"]],"x":43,"t":1305020700.39102},{"y":1,"d":[[0,42,"i"]],"x":44,"t":1305020700.56789},{"y":1,"d":[[0,43,"r"]],"x":45,"t":1305020700.74263},{"y":1,"d":[[0,44,"r"]],"x":46,"t":1305020700.91874},{"y":1,"d":[[0,45,"o"]],"x":47,"t":1305020701.00672},{"y":1,"d":[[0,46,"r"]],"x":48,"t":1305020701.11065},{"y":1,"d":[[0,47,"s"]],"x":49,"t":1305020701.31072},{"y":1,"d":[[0,48,"/"]],"x":50,"t":1305020701.45494},{"y":1,"d":[[0,49,"g"]],"x":51,"t":1305020701.65479},{"y":1,"d":[[0,50,"i"]],"x":52,"t":1305020701.71058},{"y":1,"d":[[0,51,"t"]],"x":53,"t":1305020701.82283},{"y":1,"d":[[0,52,"."]],"x":54,"t":1305020701.9348},{"y":1,"d":[[0,53,"g"]],"x":55,"t":1305020702.08663},{"y":1,"d":[[0,54,"i"]],"x":56,"t":1305020702.16701},{"y":1,"d":[[0,55,"t"]],"x":57,"t":1305020702.2788},{"y":2,"x":1,"t":1305020702.46414},{"y":3,"d":[[1,0,18,"Cloning into git..."]],"x":1,"t":1305020702.47068},{"y":13,"x":1,"t":1305020703.94222},{"y":13,"d":[[2,0,30,"remote: Counting objects: 37699"]],"x":1,"t":1305020704.08927},{"y":13,"b":[[23,0,1,["a","0"]],[23,8,13,["a","4"]]],"d":[[11,8,13,"1 bash"],["cp",11,23]],"x":1,"t":1305020704.83927},{"y":13,"d":[[2,26,30,"68891"]],"x":1,"t":1305020705.08881},{"y":13,"d":[[12,0,8,"bash-3.2$"]],"x":11,"t":1305020705.1739},{"y":13,"d":[[2,26,31,"102643"]],"x":11,"t":1305020706.08879},{"y":13,"d":[[2,27,38,"40068, done."]],"x":11,"t":1305020706.93117},{"y":13,"d":[[12,10,"w"]],"x":12,"t":1305020707.05478},{"y":13,"d":[[3,0,42,"remote: Compressing objects: 0% (1/38121)"]],"x":12,"t":1305020707.12552},{"y":13,"d":[[3,31,"3"],[3,36,45,"144/38121)"]],"x":12,"t":1305020707.16759},{"y":13,"d":[[3,31,38,"6% (2288"]],"x":12,"t":1305020707.21749},{"y":13,"d":[[3,31,38,"9% (3431"],[12,11,"a"]],"x":13,"t":1305020707.26426},{"y":13,"d":[[3,30,38,"12% (4575"]],"x":13,"t":1305020707.31194},{"y":13,"d":[[3,31,38,"6% (6100"]],"x":13,"t":1305020707.36127},{"y":13,"d":[[3,30,38,"20% (7625"]],"x":13,"t":1305020707.40942},{"y":13,"d":[[3,31,38,"3% (8768"],[12,12,"t"]],"x":14,"t":1305020707.44994},{"y":13,"d":[[3,31,38,"6% (9912"]],"x":14,"t":1305020707.4972},{"y":13,"d":[[3,30,46,"30% (11437/38121)"]],"x":14,"t":1305020707.54324},{"y":13,"d":[[3,31,"5"],[3,36,39,"3343"],[12,13,"c"]],"x":15,"t":1305020707.59139},{"y":13,"d":[[3,30,31,"40"],[3,36,39,"5249"]],"x":15,"t":1305020707.63418},{"y":13,"d":[[3,31,"5"],[3,36,39,"7155"],[12,14,"h"]],"x":16,"t":1305020707.68023},{"y":13,"d":[[3,30,31,"51"],[3,36,39,"9442"]],"x":16,"t":1305020707.71976},{"y":13,"d":[[3,31,39,"5% (20967"]],"x":16,"t":1305020707.76262},{"y":13,"x":17,"t":1305020707.83042},{"y":13,"d":[[3,31,"6"],[3,36,39,"1348"]],"x":17,"t":1305020707.84094},{"y":13,"d":[[3,31,"7"],[3,37,39,"729"]],"x":17,"t":1305020707.89669},{"y":13,"d":[[12,16,"-"]],"x":18,"t":1305020707.9424},{"y":13,"d":[[3,31,"8"],[3,36,39,"2111"]],"x":18,"t":1305020707.95051},{"y":13,"d":[[3,31,"9"],[3,37,39,"492"]],"x":18,"t":1305020707.99452},{"y":13,"d":[[3,30,31,"60"],[3,37,39,"873"]],"x":18,"t":1305020708.04031},{"y":13,"d":[[3,31,"1"],[3,36,39,"3254"]],"x":18,"t":1305020708.08566},{"d":[["r","bash-3.2$ git clone git@git.bj.ossxp.com:mirrors/git.git "],["r","Cloning into git... "],["r","remote: Counting objects: 140068, done. "],["r","remote: Compressing objects: 61% (23385/38121) "],["a"," "],"d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["r","bash-3.2$ watch - "],["a"," "],"d","d","d","d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["a"," "]],"x":18,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":13,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","44444400000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","00000000444444000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020708.11223,"i":1},{"y":13,"d":[[3,31,"2"],[3,37,39,"636"]],"x":18,"t":1305020708.14008},{"y":13,"d":[[3,31,"3"],[3,36,39,"4017"],[12,17,"n"]],"x":19,"t":1305020708.17833},{"y":13,"d":[[3,31,"4"],[3,37,39,"398"]],"x":19,"t":1305020708.21768},{"y":13,"d":[[3,31,"5"],[3,37,39,"779"]],"x":19,"t":1305020708.26338},{"y":13,"d":[[3,31,"6"],[3,36,39,"5160"]],"x":19,"t":1305020708.29825},{"y":13,"d":[[3,31,"7"],[3,37,39,"542"]],"x":19,"t":1305020708.33354},{"y":13,"d":[[3,31,"8"],[3,37,39,"923"],[12,18,"1"]],"x":20,"t":1305020708.36659},{"y":13,"d":[[3,31,"9"],[3,36,39,"6304"]],"x":20,"t":1305020708.40473},{"y":13,"d":[[3,30,31,"70"],[3,37,39,"685"]],"x":20,"t":1305020708.44076},{"y":13,"d":[[3,31,"2"],[3,36,39,"7448"]],"x":20,"t":1305020708.49007},{"y":13,"d":[[3,31,"4"],[3,36,39,"8210"]],"x":20,"t":1305020708.5344},{"y":13,"d":[[3,31,"6"],[3,37,39,"972"]],"x":20,"t":1305020708.57439},{"y":13,"d":[[3,31,"8"],[3,36,39,"9735"]],"x":21,"t":1305020708.61578},{"y":13,"d":[[3,30,39,"80% (30497"]],"x":21,"t":1305020708.65164},{"y":13,"d":[[3,31,"2"],[3,36,39,"1260"]],"x":21,"t":1305020708.6952},{"y":13,"d":[[3,31,"3"],[3,37,39,"641"]],"x":21,"t":1305020708.75642},{"y":13,"d":[[3,31,"5"],[3,36,39,"2403"]],"x":21,"t":1305020708.80056},{"y":13,"d":[[3,31,"6"],[3,37,39,"785"]],"x":21,"t":1305020708.87678},{"y":13,"d":[[3,31,"7"],[3,36,39,"3166"],[12,20,"d"]],"x":22,"t":1305020708.9163},{"y":13,"d":[[3,31,"8"],[3,37,39,"547"]],"x":22,"t":1305020708.97437},{"y":13,"d":[[12,21,"u"]],"x":23,"t":1305020709.00653},{"y":13,"d":[[3,31,"9"],[3,37,39,"928"]],"x":23,"t":1305020709.07869},{"y":13,"d":[[3,36,39,"4026"]],"x":24,"t":1305020709.1185},{"y":13,"d":[[3,30,31,"93"],[3,36,39,"5453"]],"x":24,"t":1305020709.16805},{"y":13,"d":[[3,31,"4"],[3,37,39,"834"]],"x":24,"t":1305020709.20602},{"y":13,"d":[[3,31,"5"],[3,36,39,"6215"]],"x":24,"t":1305020709.31873},{"y":13,"d":[[3,31,"6"],[3,37,39,"597"]],"x":24,"t":1305020709.44136},{"y":13,"d":[[12,23,"-"]],"x":25,"t":1305020709.49456},{"y":13,"d":[[12,24,"0"]],"x":26,"t":1305020709.51852},{"y":13,"d":[[3,31,"7"],[3,37,39,"978"]],"x":26,"t":1305020709.56081},{"y":13,"d":[[3,31,"8"],[3,36,39,"7359"]],"x":26,"t":1305020709.68859},{"y":13,"d":[[3,31,"9"],[3,37,39,"740"]],"x":26,"t":1305020709.7178},{"y":13,"d":[[3,29,31,"100"],[3,36,39,"8121"]],"x":26,"t":1305020709.83798},{"y":13,"d":[[3,47,53,", done."],[4,0,36,"Receiving objects: 1% (1401/140068)"]],"x":26,"t":1305020709.88511},{"y":13,"d":[[4,21,28,"2% (2802"]],"x":26,"t":1305020709.92861},{"y":13,"d":[[4,21,28,"3% (4203"]],"x":26,"t":1305020709.97112},{"y":13,"d":[[4,21,26,"4% (56"]],"x":26,"t":1305020710.00993},{"y":13,"d":[[4,21,28,"5% (7004"],[12,24," "]],"x":25,"t":1305020710.05225},{"y":13,"d":[[4,21,28,"6% (8405"]],"x":25,"t":1305020710.09438},{"y":13,"d":[[4,21,26,"7% (98"]],"x":25,"t":1305020710.13448},{"y":13,"d":[[12,24,"s"]],"x":26,"t":1305020710.15901},{"y":13,"d":[[4,21,37,"8% (11206/140068)"]],"x":26,"t":1305020710.18616},{"y":13,"d":[[4,21,"9"],[4,26,29,"2607"]],"x":26,"t":1305020710.22294},{"y":13,"d":[[4,20,21,"10"],[4,26,27,"40"],[12,25,"h"]],"x":27,"t":1305020710.27288},{"y":13,"d":[[4,21,"1"],[4,26,29,"5408"]],"x":27,"t":1305020710.30766},{"y":13,"d":[[4,21,"2"],[4,26,29,"6809"],[4,38,61,", 5.57 MiB | 11.10 MiB/s"]],"x":27,"t":1305020710.34856},{"y":13,"d":[[4,21,"3"],[4,26,27,"82"]],"x":27,"t":1305020710.38754},{"y":13,"d":[[4,21,"4"],[4,26,29,"9610"]],"x":28,"t":1305020710.43127},{"y":13,"d":[[4,21,29,"5% (21011"]],"x":28,"t":1305020710.49145},{"y":13,"d":[[4,21,"6"],[4,26,27,"24"]],"x":28,"t":1305020710.52811},{"y":13,"d":[[4,21,"7"],[4,26,29,"3812"]],"x":28,"t":1305020710.56771},{"y":13,"d":[[12,27,"*"]],"x":29,"t":1305020710.7744},{"y":13,"d":[[4,26,29,"4278"],[4,40,43,"8.01"],[4,51,61,"7.10 MiB/s "]],"x":29,"t":1305020710.96592},{"y":13,"d":[[4,21,"8"],[4,26,29,"5213"]],"x":29,"t":1305020710.9891},{"y":13,"d":[[4,21,"9"],[4,26,27,["a","6"]]],"x":29,"t":1305020711.02635},{"y":13,"d":[[4,20,21,"20"],[4,26,29,"8014"]],"x":29,"t":1305020711.06334},{"y":23,"d":[[12,0,27,"Every 1.0s: du -sh git "],[12,53,76,"Tue May 10 17:45:11 2011"],[14,0,3,"9.8M"],[14,8,10,"git"]],"x":77,"t":1305020711.10739},{"y":23,"d":[[4,21,"1"],[4,26,29,"9415"]],"x":77,"t":1305020711.12442},{"y":23,"d":[[4,21,27,"2% (308"]],"x":77,"t":1305020711.26735},{"y":23,"d":[[4,21,"3"],[4,26,29,"2216"]],"x":77,"t":1305020711.31032},{"y":23,"d":[[4,21,"5"],[4,26,29,"5017"]],"x":77,"t":1305020711.3481},{"y":23,"d":[[4,21,"6"],[4,26,29,"6418"],[4,40,61,"15.58 MiB | 9.57 MiB/s"]],"x":77,"t":1305020711.48293},{"y":23,"d":[[4,21,"7"],[4,26,29,"7819"]],"x":77,"t":1305020711.6498},{"y":23,"d":[[4,21,29,"9% (40620"]],"x":77,"t":1305020711.68024},{"y":23,"d":[[4,20,21,"31"],[4,26,29,"3422"]],"x":77,"t":1305020711.71867},{"y":23,"d":[[4,21,"4"],[4,26,29,"7624"]],"x":77,"t":1305020711.76729},{"y":23,"d":[[4,21,29,"6% (50425"]],"x":77,"t":1305020711.8156},{"y":23,"d":[[4,21,"8"],[4,26,29,"3226"]],"x":77,"t":1305020711.85763},{"y":23,"d":[[4,20,21,"40"],[4,26,29,"6028"]],"x":77,"t":1305020711.90429},{"y":23,"d":[[4,21,"2"],[4,26,29,"8829"]],"x":77,"t":1305020711.93485},{"y":23,"d":[[4,21,29,"4% (61630"],[4,40,44,"21.20"],[4,54,55,"95"]],"x":77,"t":1305020711.96831},{"y":23,"d":[[4,21,"7"],[4,26,29,"5832"]],"x":77,"t":1305020712.01636},{"y":23,"d":[[4,21,"8"],[4,26,29,"7233"]],"x":77,"t":1305020712.06864},{"y":23,"d":[[4,20,29,"50% (70034"],[12,71,"2"],[14,0,2," 23"]],"x":77,"t":1305020712.11361},{"y":23,"d":[[4,21,"2"],[4,26,29,"2836"]],"x":77,"t":1305020712.162},{"y":23,"d":[[4,21,"3"],[4,26,29,"4237"]],"x":77,"t":1305020712.20617},{"y":23,"d":[[4,21,"4"],[4,26,27,"56"]],"x":77,"t":1305020712.34927},{"y":23,"d":[[4,20,29,"60% (84041"]],"x":77,"t":1305020712.39397},{"y":23,"d":[[4,21,"4"],[4,26,29,"9644"]],"x":77,"t":1305020712.43042},{"y":23,"d":[[4,21,29,"6% (92445"]],"x":77,"t":1305020712.46331},{"y":23,"d":[[4,21,"9"],[4,26,29,"6647"],[4,41,44,"6.68"],[4,52,62,"10.14 MiB/s"]],"x":77,"t":1305020712.50744},{"y":23,"d":[[4,20,21,"71"],[4,26,29,"9449"]],"x":77,"t":1305020712.5447},{"y":23,"d":[[4,21,63,"3% (102250/140068), 26.68 MiB | 10.14 MiB/s"]],"x":77,"t":1305020712.58},{"y":23,"d":[[4,21,"6"],[4,27,30,"6452"]],"x":77,"t":1305020712.62606},{"y":23,"d":[[4,21,"8"],[4,27,30,"9254"]],"x":77,"t":1305020712.6616},{"y":23,"d":[[4,20,21,"80"],[4,26,30,"12055"]],"x":77,"t":1305020712.69036},{"y":23,"d":[[4,21,"2"],[4,27,30,"4856"]],"x":77,"t":1305020712.73394},{"y":23,"d":[[4,21,"3"],[4,27,30,"6257"]],"x":77,"t":1305020712.75919},{"y":23,"d":[[4,21,"5"],[4,27,30,"9058"]],"x":77,"t":1305020712.80776},{"y":23,"d":[[4,21,"7"],[4,26,30,"21860"]],"x":77,"t":1305020712.84888},{"y":23,"d":[[4,21,"9"],[4,27,30,"4661"]],"x":77,"t":1305020712.88988},{"y":23,"d":[[4,20,21,"90"],[4,27,30,"6062"]],"x":77,"t":1305020712.91736},{"y":23,"d":[[4,21,"1"],[4,27,28,"74"],[4,41,45,"32.01"],[4,53,63,"9.83 MiB/s "]],"x":77,"t":1305020713.09538},{"y":23,"d":[[4,21,"6"],[4,26,30,"34466"],[12,71,"3"],[14,1,"3"]],"x":77,"t":1305020713.13965},{"y":23,"d":[[4,0,64,"remote: Total 140068 (delta 104201), reused 135829 (delta 100047)"],[5,0,69,"Receiving objects: 100% (140068/140068), 33.98 MiB | 9.83 MiB/s, done."]],"x":77,"t":1305020713.1879},{"y":23,"d":[[6,0,32,"Resolving deltas: 0% (0/104201)"]],"x":77,"t":1305020713.21976},{"y":23,"d":[[6,20,35,"1% (1185/104201)"]],"x":77,"t":1305020713.29949},{"y":23,"d":[[6,20,27,"2% (2087"]],"x":77,"t":1305020713.33608},{"y":23,"d":[[6,20,27,"3% (3135"]],"x":77,"t":1305020713.46701},{"d":[["r","bash-3.2$ git clone git@git.bj.ossxp.com:mirrors/git.git "],["r","Cloning into git... "],["r","remote: Counting objects: 140068, done. "],["r","remote: Compressing objects: 100% (38121/38121), done. "],["r","remote: Total 140068 (delta 104201), reused 135829 (delta 100047) "],["r","Receiving objects: 100% (140068/140068), 33.98 MiB | 9.83 MiB/s, done. "],["r","Resolving deltas: 4% (4183/104201) "],["a"," "],"d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["r","Every 1.0s: du -sh git Tue May 10 17:45:13 2011 "],["a"," "],["r"," 33M git "],["a"," "],"d","d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["a"," "]],"x":77,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":23,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","44444400000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","00000000444444000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020713.50558,"i":1},{"y":23,"d":[[6,20,27,"5% (5217"]],"x":77,"t":1305020713.54964},{"y":23,"d":[[6,20,26,"6% (625"]],"x":77,"t":1305020713.59087},{"y":23,"d":[[6,20,27,"7% (7386"]],"x":77,"t":1305020713.65065},{"y":23,"d":[[6,20,27,"8% (8338"]],"x":77,"t":1305020713.70535},{"y":23,"d":[[6,20,27,"9% (9379"]],"x":77,"t":1305020713.91859},{"y":23,"d":[[6,19,36,"10% (10790/104201)"]],"x":77,"t":1305020714.05249},{"y":23,"d":[[12,71,"4"],[14,0,"4"]],"x":77,"t":1305020714.12437},{"y":23,"d":[[6,20,"1"],[6,25,28,"1517"]],"x":77,"t":1305020714.12902},{"y":23,"d":[[6,20,"2"],[6,25,28,"2530"]],"x":77,"t":1305020714.21412},{"y":23,"d":[[6,26,28,"639"]],"x":77,"t":1305020714.22099},{"y":23,"d":[[6,20,"3"],[6,25,28,"3551"]],"x":77,"t":1305020714.29937},{"y":23,"d":[[6,20,"4"],[6,25,28,"4706"]],"x":77,"t":1305020714.42495},{"y":23,"d":[[6,20,"5"],[6,25,28,"5644"]],"x":77,"t":1305020714.48492},{"y":23,"d":[[6,20,"6"],[6,25,28,"6716"]],"x":77,"t":1305020714.56351},{"y":23,"d":[[6,20,"7"],[6,25,28,"7774"]],"x":77,"t":1305020714.65343},{"y":23,"d":[[6,20,"8"],[6,25,28,"8818"]],"x":77,"t":1305020714.71222},{"y":23,"d":[[6,20,"9"],[6,25,28,"9941"]],"x":77,"t":1305020714.89323},{"y":23,"d":[[6,19,28,"20% (20863"]],"x":77,"t":1305020714.95557},{"y":23,"d":[[6,20,"1"],[6,25,28,"1884"]],"x":77,"t":1305020715.05089},{"y":23,"d":[[12,71,"5"]],"x":77,"t":1305020715.12939},{"y":23,"d":[[6,20,"2"],[6,25,28,"3117"]],"x":77,"t":1305020715.17076},{"y":23,"d":[[6,26,28,"895"]],"x":77,"t":1305020715.22417},{"y":23,"d":[[6,20,"3"],[6,25,28,"4318"]],"x":77,"t":1305020715.43405},{"y":23,"d":[[6,20,"4"],[6,25,28,"5024"]],"x":77,"t":1305020715.64769},{"y":23,"d":[[6,20,"5"],[6,25,27,"623"]],"x":77,"t":1305020715.78998},{"y":23,"d":[[6,20,"6"],[6,25,28,"7260"]],"x":77,"t":1305020715.85821},{"y":23,"d":[[6,20,"7"],[6,25,28,"8158"]],"x":77,"t":1305020715.93716},{"y":23,"d":[[12,71,"6"]],"x":77,"t":1305020716.13549},{"y":23,"d":[[6,20,28,"9% (30221"]],"x":77,"t":1305020716.17214},{"y":23,"d":[[6,19,20,"30"],[6,25,28,"1399"]],"x":77,"t":1305020716.22041},{"y":23,"d":[[6,20,"1"],[6,25,28,"2307"]],"x":77,"t":1305020716.25254},{"y":23,"d":[[6,20,"2"],[6,25,27,"334"]],"x":77,"t":1305020716.28587},{"y":23,"d":[[6,20,"3"],[6,25,28,"4409"]],"x":77,"t":1305020716.33173},{"y":23,"d":[[6,20,"4"],[6,25,28,"5444"]],"x":77,"t":1305020716.38454},{"y":23,"d":[[6,20,"5"],[6,25,28,"6567"]],"x":77,"t":1305020716.45897},{"y":23,"d":[[6,20,"6"],[6,25,27,"798"]],"x":77,"t":1305020716.53602},{"y":23,"d":[[6,20,"7"],[6,25,28,"8593"]],"x":77,"t":1305020716.55782},{"y":23,"d":[[6,20,28,"9% (40690"]],"x":77,"t":1305020716.69331},{"y":23,"d":[[6,19,20,"40"],[6,25,28,"1681"]],"x":77,"t":1305020716.7875},{"y":23,"d":[[6,20,"1"],[6,25,28,"2725"]],"x":77,"t":1305020716.82744},{"y":23,"d":[[6,20,"2"],[6,25,28,"3809"]],"x":77,"t":1305020716.93408},{"y":7,"x":1,"t":1305020716.93435},{"y":7,"d":[[6,20,"3"],[6,25,28,"4820"]],"x":1,"t":1305020716.9842},{"y":7,"d":[[6,20,"4"],[6,25,28,"5856"]],"x":1,"t":1305020717.01996},{"y":7,"d":[[6,20,"5"],[6,25,28,"6934"]],"x":1,"t":1305020717.08574},{"y":7,"d":[[12,71,"7"]],"x":1,"t":1305020717.14109},{"y":7,"d":[[6,20,"6"],[6,25,28,"8090"]],"x":1,"t":1305020717.15105},{"y":7,"d":[[6,26,28,"964"]],"x":1,"t":1305020717.22235},{"y":7,"d":[[6,20,"7"],[6,25,28,"9495"]],"x":1,"t":1305020717.29038},{"y":7,"d":[[6,20,28,"8% (50093"]],"x":1,"t":1305020717.36488},{"y":7,"d":[[6,20,"9"],[6,25,28,"1417"]],"x":1,"t":1305020717.4689},{"y":7,"d":[[6,19,20,"50"],[6,25,28,"2785"]],"x":1,"t":1305020717.58785},{"y":7,"d":[[6,20,"1"],[6,25,28,"3267"]],"x":1,"t":1305020717.63218},{"y":7,"d":[[6,20,"3"],[6,25,28,"5540"]],"x":1,"t":1305020717.83959},{"y":7,"d":[[6,20,"4"],[6,25,28,"6275"]],"x":1,"t":1305020717.90315},{"y":7,"d":[[6,20,"5"],[6,25,28,"7718"]],"x":1,"t":1305020718.11081},{"y":7,"d":[[6,20,"6"],[6,25,28,"8354"],[12,71,"8"]],"x":1,"t":1305020718.15052},{"y":7,"d":[[6,20,28,"7% (60042"]],"x":1,"t":1305020718.28814},{"y":7,"d":[[6,20,"8"],[6,25,28,"1058"]],"x":1,"t":1305020718.35917},{"y":7,"d":[[6,20,"9"],[6,26,28,"671"]],"x":1,"t":1305020718.41107},{"y":7,"d":[[6,19,20,"60"],[6,25,28,"2724"]],"x":1,"t":1305020718.47655},{"y":7,"d":[[6,20,"1"],[6,25,28,"3761"]],"x":1,"t":1305020718.54216},{"y":7,"d":[[6,20,"2"],[6,25,27,"461"]],"x":1,"t":1305020718.6366},{"y":7,"d":[[6,20,"3"],[6,25,28,"5697"]],"x":1,"t":1305020718.80663},{"y":7,"d":[[6,20,"4"],[6,25,28,"7038"]],"x":1,"t":1305020719.1178},{"y":7,"d":[[6,20,"5"],[6,26,28,"843"],[12,71,"9"]],"x":1,"t":1305020719.15872},{"y":7,"d":[[6,25,28,"8617"]],"x":1,"t":1305020719.22452},{"y":7,"d":[[6,20,"6"],[6,25,28,"9439"]],"x":1,"t":1305020719.26766},{"y":7,"d":[[6,20,"7"],[6,26,28,"983"]],"x":1,"t":1305020719.29027},{"y":7,"d":[[6,20,28,"8% (70867"]],"x":1,"t":1305020719.33405},{"y":7,"d":[[6,20,"9"],[6,25,28,"1972"]],"x":1,"t":1305020719.63299},{"y":7,"d":[[6,19,20,"70"],[6,25,28,"3136"]],"x":1,"t":1305020719.682},{"y":7,"d":[[6,20,"1"],[6,25,28,"4402"]],"x":1,"t":1305020719.74529},{"y":7,"d":[[6,20,"2"],[6,25,28,"5164"]],"x":1,"t":1305020719.78149},{"y":7,"d":[[6,20,"3"],[6,25,28,"6402"]],"x":1,"t":1305020719.83806},{"y":7,"d":[[6,20,"4"],[6,25,28,"7130"]],"x":1,"t":1305020719.86386},{"y":7,"d":[[6,20,"5"],[6,25,28,"8258"]],"x":1,"t":1305020719.93337},{"y":7,"d":[[6,20,"6"],[6,25,28,"9256"]],"x":1,"t":1305020720.02577},{"y":7,"d":[[6,20,28,"7% (80320"]],"x":1,"t":1305020720.11178},{"y":7,"d":[[12,70,71,"20"]],"x":1,"t":1305020720.15996},{"y":7,"d":[[6,20,"8"],[6,25,28,"1277"]],"x":1,"t":1305020720.16697},{"y":7,"d":[[6,26,28,"774"]],"x":1,"t":1305020720.22998},{"y":7,"d":[[6,20,"9"],[6,25,27,"243"]],"x":1,"t":1305020720.26596},{"y":7,"d":[[6,19,20,"80"],[6,25,28,"3396"]],"x":1,"t":1305020720.31813},{"y":7,"d":[[6,20,"1"],[6,25,28,"4415"]],"x":1,"t":1305020720.39351},{"y":7,"d":[[6,20,"2"],[6,25,28,"5520"]],"x":1,"t":1305020720.46067},{"y":7,"d":[[6,20,"3"],[6,25,28,"6517"]],"x":1,"t":1305020720.51847},{"y":7,"d":[[6,20,"4"],[6,25,28,"7532"]],"x":1,"t":1305020720.56627},{"y":7,"d":[[6,20,"5"],[6,25,28,"8606"]],"x":1,"t":1305020720.62693},{"y":7,"d":[[6,20,"6"],[6,25,28,"9744"]],"x":1,"t":1305020720.75205},{"y":7,"d":[[6,20,27,"7% (9066"]],"x":1,"t":1305020720.79595},{"y":7,"d":[[6,20,"8"],[6,25,28,"1861"]],"x":1,"t":1305020721.06728},{"y":7,"d":[[6,20,"9"],[6,25,28,"2752"]],"x":1,"t":1305020721.11608},{"y":7,"d":[[12,71,"1"]],"x":1,"t":1305020721.16878},{"y":7,"d":[[6,19,20,"90"],[6,25,28,"3781"]],"x":1,"t":1305020721.20179},{"y":7,"d":[[6,25,28,"4257"]],"x":1,"t":1305020721.2225},{"y":7,"d":[[6,20,"1"],[6,26,28,"941"]],"x":1,"t":1305020721.25745},{"y":7,"d":[[6,20,"2"],[6,25,28,"5873"]],"x":1,"t":1305020721.30115},{"y":7,"d":[[6,20,"3"],[6,25,28,"7029"]],"x":1,"t":1305020721.3836},{"d":[["r","bash-3.2$ git clone git@git.bj.ossxp.com:mirrors/git.git "],["r","Cloning into git... "],["r","remote: Counting objects: 140068, done. "],["r","remote: Compressing objects: 100% (38121/38121), done. "],["r","remote: Total 140068 (delta 104201), reused 135829 (delta 100047) "],["r","Receiving objects: 100% (140068/140068), 33.98 MiB | 9.83 MiB/s, done. "],["r","Resolving deltas: 94% (98122/104201) "],["a"," "],"d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["r","Every 1.0s: du -sh git Tue May 10 17:45:21 2011 "],["a"," "],["r","433M git "],["a"," "],"d","d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["a"," "]],"x":1,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":7,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","44444400000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","00000000444444000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"f":[["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020721.4369,"i":1},{"y":7,"d":[[6,20,"5"],[6,26,28,"994"]],"x":1,"t":1305020721.47729},{"y":7,"d":[[6,20,37,"6% (100059/104201)"]],"x":1,"t":1305020721.51565},{"y":7,"d":[[6,20,"7"],[6,26,29,"1222"]],"x":1,"t":1305020721.55977},{"y":7,"d":[[6,20,"8"],[6,26,29,"2123"]],"x":1,"t":1305020721.5905},{"y":7,"d":[[6,20,"9"],[6,26,29,"3165"]],"x":1,"t":1305020721.62645},{"y":8,"d":[[6,18,20,"100"],[6,26,29,"4201"],[6,38,44,", done."]],"x":1,"t":1305020721.6572},{"y":8,"d":[[12,71,"2"],[14,0,2," 48"]],"x":1,"t":1305020722.18091},{"y":8,"d":[[7,0,8,"bash-3.2$"]],"x":11,"t":1305020722.66684},{"y":8,"d":[[12,71,"3"],[14,1,2,["a","5"]]],"x":11,"t":1305020723.1996},{"y":8,"d":[[12,71,"4"]],"x":11,"t":1305020724.21736},{"y":8,"d":[[12,71,"5"]],"x":11,"t":1305020725.23505},{"y":8,"d":[[7,10,"l"]],"x":12,"t":1305020725.45417},{"y":8,"d":[[7,11,"s"]],"x":13,"t":1305020725.53395},{"y":9,"x":1,"t":1305020725.73517},{"y":10,"d":[[8,0,2,"git"],[9,0,8,"bash-3.2$"]],"x":11,"f":[[8,0,2,["a","4"]]],"t":1305020725.73996},{"y":10,"d":[[12,71,"6"]],"x":11,"t":1305020726.25263},{"y":10,"d":[[9,10,"g"]],"x":12,"t":1305020727.26182},{"y":10,"d":[[12,71,"7"]],"x":12,"t":1305020727.27262},{"y":10,"d":[[9,11,"i"]],"x":13,"t":1305020727.34195},{"y":10,"d":[[9,12,"t"]],"x":14,"t":1305020727.44585},{"y":10,"x":15,"t":1305020727.53391},{"y":10,"d":[[9,14,"c"]],"x":16,"t":1305020728.24697},{"y":10,"d":[[12,71,"8"]],"x":16,"t":1305020728.29107},{"y":10,"d":[[9,15,"l"]],"x":17,"t":1305020728.35784},{"y":10,"d":[[9,16,"o"]],"x":18,"t":1305020728.52584},{"y":10,"d":[[9,17,"n"]],"x":19,"t":1305020728.63759},{"y":10,"d":[[9,18,"e"]],"x":20,"t":1305020728.71784},{"y":10,"x":21,"t":1305020728.80565},{"y":10,"d":[[9,20,"g"]],"x":22,"t":1305020729.03805},{"y":10,"d":[[9,21,"i"]],"x":23,"t":1305020729.10988},{"y":10,"d":[[9,22,"t"]],"x":24,"t":1305020729.23782},{"y":10,"d":[[12,71,"9"]],"x":24,"t":1305020729.3086},{"y":10,"d":[[9,22," "]],"x":23,"t":1305020730.006},{"y":10,"d":[[9,21," "]],"x":22,"t":1305020730.14961},{"y":10,"d":[[9,20," "]],"x":21,"t":1305020730.31754},{"y":10,"d":[[12,70,71,"30"]],"x":21,"t":1305020730.32785},{"y":10,"d":[[9,20,"h"]],"x":22,"t":1305020730.58154},{"y":10,"d":[[9,21,"t"]],"x":23,"t":1305020730.7655},{"y":10,"d":[[9,22,"t"]],"x":24,"t":1305020730.9256},{"y":10,"d":[[9,23,"p"]],"x":25,"t":1305020731.05346},{"y":10,"d":[[12,71,"1"]],"x":25,"t":1305020731.34662},{"y":10,"d":[[9,24,":"]],"x":26,"t":1305020731.47775},{"y":10,"d":[[9,25,"/"]],"x":27,"t":1305020731.67739},{"y":10,"d":[[9,26,"/"]],"x":28,"t":1305020731.8294},{"y":10,"d":[[9,27,"g"]],"x":29,"t":1305020732.33351},{"y":10,"d":[[12,71,"2"]],"x":29,"t":1305020732.36538},{"y":10,"d":[[9,28,"i"]],"x":30,"t":1305020732.4225},{"y":10,"d":[[9,29,"t"]],"x":31,"t":1305020732.5414},{"y":10,"d":[[9,30,"."]],"x":32,"t":1305020732.76548},{"y":10,"d":[[9,31,"b"]],"x":33,"t":1305020733.08539},{"y":10,"d":[[9,32,"j"]],"x":34,"t":1305020733.18931},{"y":10,"d":[[9,33,"."]],"x":35,"t":1305020733.37346},{"y":10,"d":[[12,71,"3"]],"x":35,"t":1305020733.38877},{"y":10,"d":[[9,34,"o"]],"x":36,"t":1305020733.57326},{"y":10,"d":[[9,35,"s"]],"x":37,"t":1305020733.68526},{"y":10,"d":[[9,36,"s"]],"x":38,"t":1305020733.8534},{"y":10,"d":[[9,37,"x"]],"x":39,"t":1305020734.0455},{"y":10,"d":[[9,38,"p"]],"x":40,"t":1305020734.14971},{"y":10,"d":[[9,39,"."]],"x":41,"t":1305020734.30163},{"y":10,"d":[[9,40,"c"]],"x":42,"t":1305020734.37477},{"y":10,"d":[[12,71,"4"]],"x":42,"t":1305020734.40748},{"y":10,"d":[[9,41,"o"]],"x":43,"t":1305020734.50959},{"y":10,"d":[[9,42,"m"]],"x":44,"t":1305020734.61369},{"y":10,"d":[[9,43,"/"]],"x":45,"t":1305020734.82941},{"y":10,"d":[[9,44,"m"]],"x":46,"t":1305020735.23776},{"y":10,"d":[[9,45,"i"]],"x":47,"t":1305020735.37378},{"y":10,"d":[[12,71,"5"]],"x":47,"t":1305020735.42479},{"y":10,"d":[[9,46,"r"]],"x":48,"t":1305020735.52555},{"y":10,"d":[[9,47,"r"]],"x":49,"t":1305020735.67774},{"y":10,"d":[[9,48,"o"]],"x":50,"t":1305020735.74969},{"y":10,"d":[[9,49,"r"]],"x":51,"t":1305020735.87762},{"y":10,"d":[[9,50,"s"]],"x":52,"t":1305020736.08562},{"y":10,"d":[[9,51,"/"]],"x":53,"t":1305020736.20526},{"y":10,"d":[[12,71,"6"]],"x":53,"t":1305020736.44282},{"y":10,"d":[[9,52,"g"]],"x":54,"t":1305020736.83755},{"y":10,"d":[[9,53,"i"]],"x":55,"t":1305020736.89338},{"y":10,"d":[[9,54,"t"]],"x":56,"t":1305020737.0213},{"y":10,"d":[[9,55,"."]],"x":57,"t":1305020737.17352},{"y":10,"d":[[9,56,57,"^P"]],"x":59,"t":1305020737.18119},{"y":10,"d":[[9,58,"g"]],"x":60,"t":1305020737.30171},{"y":10,"d":[[12,71,"7"]],"x":60,"t":1305020737.46007},{"y":10,"d":[[9,58," "]],"x":59,"t":1305020737.74958},{"y":10,"d":[[9,56,57,["a"," "]]],"x":57,"t":1305020737.90148},{"y":10,"d":[[9,56,"g"]],"x":58,"t":1305020738.28558},{"y":10,"d":[[9,57,"i"]],"x":59,"t":1305020738.37351},{"y":10,"d":[[12,71,"8"]],"x":59,"t":1305020738.47858},{"y":10,"d":[[9,58,"t"]],"x":60,"t":1305020738.48544},{"y":10,"x":61,"t":1305020739.46967},{"y":10,"d":[[12,71,"9"]],"x":61,"t":1305020739.49607},{"y":10,"d":[[9,60,"g"]],"x":62,"t":1305020739.82923},{"y":10,"d":[[9,61,"i"]],"x":63,"t":1305020739.91762},{"y":10,"d":[[9,62,"t"]],"x":64,"t":1305020740.02958},{"y":10,"d":[[9,63,"-"]],"x":65,"t":1305020740.2531},{"y":10,"d":[[12,0,1,"40"]],"x":65,"t":1305020740.51451},{"y":10,"d":[[9,64,"h"]],"x":66,"t":1305020740.58117},{"y":10,"d":[[9,65,"t"]],"x":67,"t":1305020740.71749},{"y":10,"d":[[9,66,"t"]],"x":68,"t":1305020740.86954},{"y":10,"d":[[9,67,"p"]],"x":69,"t":1305020740.98152},{"y":11,"x":1,"t":1305020741.42948},{"d":[["r","Cloning into git... "],["r","remote: Counting objects: 140068, done. "],["r","remote: Compressing objects: 100% (38121/38121), done. "],["r","remote: Total 140068 (delta 104201), reused 135829 (delta 100047) "],["r","Receiving objects: 100% (140068/140068), 33.98 MiB | 9.83 MiB/s, done. "],["r","Resolving deltas: 100% (104201/104201), done. "],["r","bash-3.2$ ls "],["r","git "],["r","bash-3.2$ git clone http://git.bj.ossxp.com/mirrors/git.git git-http "],["r","Cloning into git-http... "],["a"," "],["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["r","40ery 1.0s: du -sh git Tue May 10 17:45:39 2011 "],["a"," "],["r"," 55M git "],["a"," "],"d","d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:45 "],["a"," "]],"x":1,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":11,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","44444400000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","00000000444444000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"f":[["a","7"],"d","d","d","d","d","d",["r","44477777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020741.44755,"i":1},{"y":11,"d":[[12,71,"1"]],"x":1,"t":1305020741.53192},{"y":11,"d":[[12,71,"2"]],"x":1,"t":1305020742.54971},{"y":11,"d":[[12,71,"3"]],"x":1,"t":1305020743.56748},{"y":23,"x":77,"t":1305020744.39733},{"y":23,"d":[[12,71,"4"]],"x":77,"t":1305020744.5866},{"y":23,"d":[[12,71,"5"]],"x":77,"t":1305020745.60424},{"y":23,"x":1,"t":1305020745.72551},{"y":23,"d":[[22,0,8,"bash-3.2$"]],"x":11,"t":1305020745.72648},{"y":23,"d":[[22,10,27,"watch -n1 du -sh *"]],"x":29,"t":1305020746.32615},{"y":23,"d":[["cp",10,12],["cp",14,13],["cp",10,14],["cp",22,21],["cp",10,22]],"x":1,"t":1305020747.06906},{"y":23,"d":[[12,0,30,"Every 1.0s: du -sh git git-http"],[12,53,76,"Tue May 10 17:45:47 2011"],["cp",10,13],[14,0,2,"55M"],[14,7,9,"git"],[15,0,3,"3.1M"],[15,8,15,"git-http"],["cp",10,21]],"x":77,"t":1305020747.09542},{"y":23,"d":[[12,71,"8"],[15,0,"9"]],"x":77,"t":1305020748.11758},{"y":23,"d":[[12,71,"9"],[15,0,"4"]],"x":77,"t":1305020749.13983},{"y":23,"d":[[12,70,71,"50"],[15,0,"6"]],"x":77,"t":1305020750.1651},{"y":23,"d":[[12,71,"1"],[15,0,2,"5.7"]],"x":77,"t":1305020751.18945},{"y":23,"d":[[12,71,"2"],[15,0,2,"6.4"]],"x":77,"t":1305020752.21332},{"y":23,"d":[[12,71,"3"],[15,0,2,"7.3"]],"x":77,"t":1305020753.23587},{"y":23,"d":[[12,71,"4"],[15,0,2,"8.6"]],"x":77,"t":1305020754.25832},{"y":23,"d":[[12,71,"5"],[15,0,2,"9.8"]],"x":77,"t":1305020755.28087},{"y":23,"d":[[12,71,"6"],[15,0,2," 11"]],"x":77,"t":1305020756.30475},{"y":23,"d":[[12,71,"7"],[15,0,"2"]],"x":77,"t":1305020757.32896},{"y":23,"x":1,"t":1305020758.10908},{"y":23,"d":[[22,0,8,"bash-3.2$"]],"x":11,"t":1305020758.10981},{"y":23,"d":[[22,10,27,"watch -n1 du -sh *"]],"x":29,"t":1305020758.49285},{"y":23,"d":[["cp",10,12],["cp",14,13],["cp",15,14],["cp",10,15],["cp",22,21],["cp",10,22]],"x":1,"t":1305020758.79654},{"y":23,"d":[[12,0,30,"Every 1.0s: du -sh git git-http"],[12,53,76,"Tue May 10 17:45:58 2011"],["cp",10,13],[14,0,15,"55M git "],[15,1,3,"14M"],[15,8,15,"git-http"],["cp",10,21]],"x":77,"t":1305020758.82536},{"y":23,"d":[[12,71,"9"],[15,0,"5"]],"x":77,"t":1305020759.8478},{"y":23,"d":[[11,76,"6"]],"x":77,"t":1305020760.10028},{"y":23,"d":[["cp",11,23]],"x":77,"t":1305020760.10033},{"y":23,"d":[[12,68,71,"6:00"],[15,0,"6"]],"x":77,"t":1305020760.8729},{"y":23,"d":[[12,71,"1"],[15,0,"8"]],"x":77,"t":1305020761.89534},{"y":23,"d":[[12,71,"2"],[15,0,"9"]],"x":77,"t":1305020762.92082},{"y":23,"d":[[12,71,"3"],[15,0,2," 20"]],"x":77,"t":1305020763.94438},{"y":23,"d":[[12,71,"4"],[15,0,"2"]],"x":77,"t":1305020764.96708},{"y":23,"d":[[12,71,"5"],[15,0,"3"]],"x":77,"t":1305020765.99314},{"y":23,"d":[[12,71,"6"],[15,0,"4"]],"x":77,"t":1305020767.01564},{"y":23,"d":[[12,71,"8"],[15,0,"5"]],"x":77,"t":1305020768.03844},{"y":23,"d":[[12,71,"9"],[15,0,"6"]],"x":77,"t":1305020769.06315},{"y":23,"d":[[12,70,71,"10"],[15,0,"8"]],"x":77,"t":1305020770.08619},{"y":23,"d":[[12,71,"1"],[15,0,"9"]],"x":77,"t":1305020771.10925},{"y":23,"d":[[12,71,"2"],[15,0,1," 3"]],"x":77,"t":1305020772.1315},{"y":23,"d":[[12,71,"3"],[15,0,"1"]],"x":77,"t":1305020773.1571},{"y":23,"d":[[12,71,"4"],[15,0,"2"]],"x":77,"t":1305020774.18224},{"y":23,"d":[[12,71,"5"]],"x":77,"t":1305020775.20851},{"y":23,"d":[[12,71,"6"]],"x":77,"t":1305020776.23479},{"y":23,"d":[[12,71,"7"]],"x":77,"t":1305020777.25969},{"y":23,"d":[[12,71,"8"]],"x":77,"t":1305020778.28638},{"y":23,"d":[[12,71,"9"]],"x":77,"t":1305020779.31288},{"y":23,"d":[[12,70,71,"20"]],"x":77,"t":1305020780.33642},{"y":23,"d":[[12,71,"1"]],"x":77,"t":1305020781.35929},{"y":23,"d":[[12,71,"2"],[15,0,"3"]],"x":77,"t":1305020782.38258},{"y":23,"d":[[12,71,"3"],[15,0,"4"]],"x":77,"t":1305020783.40473},{"y":23,"d":[[12,71,"4"],[15,0,"6"]],"x":77,"t":1305020784.42774},{"y":23,"d":[[12,71,"5"],[15,0,"7"]],"x":77,"t":1305020785.45023},{"y":23,"d":[[12,71,"6"],[15,0,"8"]],"x":77,"t":1305020786.47535},{"y":23,"d":[[12,71,"7"],[15,0,"9"]],"x":77,"t":1305020787.49788},{"y":23,"d":[[12,71,"8"],[15,0,2," 41"]],"x":77,"t":1305020788.52089},{"y":23,"d":[[12,71,"9"]],"x":77,"t":1305020789.54481},{"y":23,"d":[[12,70,71,"30"]],"x":77,"t":1305020790.56839},{"y":23,"d":[[12,71,"1"],[15,0,"2"]],"x":77,"t":1305020791.59092},{"y":23,"d":[[12,71,"2"]],"x":77,"t":1305020792.615},{"y":23,"d":[[12,71,"3"],[15,0,"3"]],"x":77,"t":1305020793.64071},{"y":23,"d":[[12,71,"4"],[15,0,"4"]],"x":77,"t":1305020794.66385},{"y":23,"d":[[12,71,"5"],[15,0,"5"]],"x":77,"t":1305020795.68664},{"y":23,"d":[[12,71,"6"]],"x":77,"t":1305020796.70964},{"y":23,"d":[[12,71,"7"],[15,0,"7"]],"x":77,"t":1305020797.73259},{"y":23,"d":[[12,71,"8"]],"x":77,"t":1305020798.75529},{"y":23,"d":[[12,71,"9"],[15,0,"8"]],"x":77,"t":1305020799.77958},{"y":23,"d":[[12,70,71,"40"],[15,0,"9"]],"x":77,"t":1305020800.8026},{"y":23,"d":[[12,71,"1"],[15,0,2," 50"]],"x":77,"t":1305020801.82734},{"y":23,"d":[[12,71,"2"],[15,0,"2"]],"x":77,"t":1305020802.85069},{"y":23,"d":[[12,71,"3"]],"x":77,"t":1305020803.87492},{"y":23,"d":[[12,71,"4"],[15,0,"3"]],"x":77,"t":1305020804.90066},{"y":23,"d":[[12,71,"5"],[15,0,"4"]],"x":77,"t":1305020805.92491},{"y":23,"d":[[12,71,"6"],[15,0,"5"]],"x":77,"t":1305020806.95081},{"y":23,"x":1,"t":1305020807.48336},{"y":23,"d":[[22,0,8,"bash-3.2$"]],"x":11,"t":1305020807.48427},{"y":23,"d":[[22,10,27,"watch -n1 du -sh *"]],"x":29,"t":1305020807.85109},{"y":23,"d":[["cp",10,12],["cp",14,13],["cp",15,14],["cp",10,15],["cp",22,21],["cp",10,22]],"x":1,"t":1305020808.28305},{"y":23,"d":[[12,0,30,"Every 1.0s: du -sh git git-http"],[12,53,76,"Tue May 10 17:46:48 2011"],["cp",10,13],[14,2,15,"M git "],[15,1,3,"57M"],[15,8,15,"git-http"],["cp",10,21]],"x":77,"t":1305020808.31304},{"y":23,"d":[[12,71,"9"]],"x":77,"t":1305020809.33727},{"y":23,"d":[[12,70,71,"50"],[15,0,"8"]],"x":77,"t":1305020810.36156},{"y":23,"d":[[12,71,"1"],[15,0,"9"]],"x":77,"t":1305020811.38642},{"y":23,"d":[[12,71,"2"],[15,0,2," 60"]],"x":77,"t":1305020812.41108},{"y":23,"d":[[12,71,"3"],[15,0,"1"]],"x":77,"t":1305020813.43572},{"y":23,"d":[[12,71,"4"],[15,0,"2"]],"x":77,"t":1305020814.46977},{"y":23,"d":[[12,71,"5"],[15,0,"3"]],"x":77,"t":1305020815.49411},{"y":23,"d":[[12,71,"6"],[15,0,"4"]],"x":77,"t":1305020816.51858},{"y":23,"d":[[12,71,"7"],[15,0,"5"]],"x":77,"t":1305020817.5431},{"y":23,"d":[[12,71,"8"],[15,0,"6"]],"x":77,"t":1305020818.56748},{"y":23,"d":[[12,71,"9"]],"x":77,"t":1305020819.59414},{"y":23,"d":[[11,76,"7"],["cp",11,23]],"x":77,"t":1305020820.10022},{"y":23,"d":[[12,68,71,"7:00"],[15,0,"7"]],"x":77,"t":1305020820.61847},{"y":23,"d":[[12,71,"1"],[15,0,"9"]],"x":77,"t":1305020821.64516},{"y":23,"d":[[12,71,"2"]],"x":77,"t":1305020822.66959},{"y":23,"d":[[12,71,"3"],[15,0,2," 71"]],"x":77,"t":1305020823.69525},{"y":23,"d":[[12,71,"4"],[15,0,"2"]],"x":77,"t":1305020824.722},{"y":23,"d":[[12,71,"5"],[15,0,"3"]],"x":77,"t":1305020825.7466},{"y":23,"d":[[12,71,"6"]],"x":77,"t":1305020826.77136},{"d":[["r","Cloning into git... "],["r","remote: Counting objects: 140068, done. "],["r","remote: Compressing objects: 100% (38121/38121), done. "],["r","remote: Total 140068 (delta 104201), reused 135829 (delta 100047) "],["r","Receiving objects: 100% (140068/140068), 33.98 MiB | 9.83 MiB/s, done. "],["r","Resolving deltas: 100% (104201/104201), done. "],["r","bash-3.2$ ls "],["r","git "],["r","bash-3.2$ git clone http://git.bj.ossxp.com/mirrors/git.git git-http "],["r","Cloning into git-http... "],["a"," "],["r","0 bash 1 bash @jx - 2011/05/10, 5:47 "],["r","Every 1.0s: du -sh git git-http Tue May 10 17:47:07 2011 "],["a"," "],["r","55M git "],["r","471M git-http "],["a"," "],"d","d","d","d","d","d",["r","0 bash 1 bash @jx - 2011/05/10, 5:47 "],["a"," "]],"x":77,"B":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"y":23,"b":[["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","44444400000000000000000000000000000000000000000000000000000000000000000000000000"],["a","0"],"d","d","d","d","d","d","d","d","d","d",["r","00000000444444000000000000000000000000000000000000000000000000000000000000000000"],["a","0"]],"f":[["a","7"],"d","d","d","d","d","d",["r","44477777777777777777777777777777777777777777777777777777777777777777777777777777"],["a","7"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"U":[["a","0"],"d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d","d"],"t":1305020827.79577,"i":1},{"y":23,"d":[[12,71,"8"],[15,0,"5"]],"x":77,"t":1305020828.82697},{"y":23,"d":[[12,71,"9"],[15,0,"6"]],"x":77,"t":1305020829.85243},{"y":23,"d":[[12,70,71,"10"],[15,0,"7"]],"x":77,"t":1305020830.87682},{"y":23,"d":[[12,71,"1"],[15,0,"8"]],"x":77,"t":1305020831.9016},{"y":23,"d":[[12,71,"2"],[15,0,"9"]],"x":77,"t":1305020832.92612},{"y":23,"d":[[12,71,"3"],[15,0,2," 80"]],"x":77,"t":1305020833.95601},{"y":23,"d":[[12,71,"4"],[15,0,"1"]],"x":77,"t":1305020834.98765},{"y":23,"d":[[12,71,"5"],[15,0,"2"]],"x":77,"t":1305020836.01256},{"y":23,"d":[[12,71,"7"],[15,0,"3"]],"x":77,"t":1305020837.04063},{"y":23,"d":[[12,71,"8"],[15,0,"4"]],"x":77,"t":1305020838.06611},{"y":23,"d":[[12,71,"9"],[15,0,"5"]],"x":77,"t":1305020839.09294},{"y":23,"d":[[12,70,71,"20"],[15,0,"6"]],"x":77,"t":1305020840.1214},{"y":23,"d":[[12,71,"1"],[15,0,"7"]],"x":77,"t":1305020841.14762},{"y":23,"d":[[12,71,"2"],[15,0,"8"]],"x":77,"t":1305020842.17679},{"y":23,"d":[[12,71,"3"],[15,0,"9"]],"x":77,"t":1305020843.20771},{"y":23,"d":[[12,71,"4"]],"x":77,"t":1305020844.2389},{"y":23,"d":[[12,71,"5"]],"x":77,"t":1305020845.27331},{"y":23,"d":[[12,71,"6"]],"x":77,"t":1305020846.30506},{"y":23,"d":[[22,76,78,"du:"]],"x":80,"t":1305020847.33273},{"y":23,"d":[[12,0,30,"980M git-http "],[12,53,76," 7 "],["cp",10,14],["cp",10,15],["cp",22,19],[20,0,79,"git-http/.git/objects/pack/pack-fe360d0e6ba0a81b6b7cb22f81575326aaf6347f.pack.te"],[21,0,28,"mp: No such file or directory"],["cp",10,22]],"x":77,"t":1305020847.33445},{"y":23,"d":[[12,71,"8"],[15,1,2,"90"]],"x":77,"t":1305020848.36702},{"y":23,"x":1,"t":1305020849.02604},{"y":23,"d":[[22,0,8,"bash-3.2$"]],"x":11,"t":1305020849.03105},{"y":23,"d":[[22,10,27,"watch -n1 du -sh *"]],"x":29,"t":1305020849.62577},{"y":23,"d":[["cp",10,12],["cp",15,14],["cp",10,15],["cp",19,18],["cp",20,19],["cp",21,20],["cp",22,21],["cp",10,22]],"x":1,"t":1305020850.29},{"y":23,"d":[[10,0,8,"bash-3.2$"]],"x":1,"t":1305020850.30728},{"y":23,"d":[[12,0,30,"Every 1.0s: du -sh git git-http"],[12,53,76,"Tue May 10 17:47:30 2011"],[14,0,2,"55M"],[14,7,9,"git"],[15,0,3,"107M"],[15,8,15,"git-http"],["cp",13,18],["cp",13,19],["cp",13,20],["cp",13,21]],"x":77,"t":1305020850.34856},{"y":23,"d":[[12,71,"1"]],"x":77,"t":1305020851.39061},{"y":23,"d":[[12,71,"2"]],"x":77,"t":1305020852.43289},{"y":23,"d":[[12,71,"3"]],"x":77,"t":1305020853.47156},{"y":23,"x":1,"t":1305020853.56218},{"y":23,"d":[["cp",10,22]],"x":11,"t":1305020853.5631},{"y":23,"d":[[22,10,"l"]],"x":12,"t":1305020854.28968},{"y":23,"d":[["cp",6,22]],"x":13,"t":1305020854.38556},{"y":23,"x":14,"t":1305020854.97763},{"y":23,"d":[[22,13,"-"]],"x":15,"t":1305020855.14541},{"y":23,"d":[[22,14,"F"]],"x":16,"t":1305020855.46582},{"y":23,"d":[["cp",13,12],["cp",14,13],["cp",15,14],["cp",12,15],["cp",22,21],["cp",12,22]],"x":1,"t":1305020855.63477},{"y":23,"d":[["cp",13,12],["cp",14,13],["cp",15,14],["cp",21,20],[21,0,18,"git/ git-http/"],["cp",10,22]],"x":11,"f":[[21,0,2,["a","4"]],[21,10,17,["a","4"]]],"t":1305020855.63995},{"y":23,"d":[[22,10,"d"]],"x":12,"t":1305020856.47338},{"y":23,"d":[[22,11,"u"]],"x":13,"t":1305020856.55347},{"y":23,"x":14,"t":1305020856.64983},{"y":23,"d":[[22,13,"-"]],"x":15,"t":1305020856.83331},{"y":23,"d":[[22,14,"s"]],"x":16,"t":1305020856.94549},{"y":23,"d":[[22,15,"h"]],"x":17,"t":1305020857.06552},{"y":23,"x":18,"t":1305020857.16122},{"y":23,"d":[[22,17,"*"]],"x":19,"t":1305020857.39371},{"y":23,"d":[["cp",13,12],["cp",14,13],["cp",20,19],["cp",21,20],["cp",22,21],["cp",13,22]],"x":1,"f":[["cp",21,20],["cp",0,21]],"t":1305020857.64944},{"y":23,"d":[["cp",13,12],["cp",19,17],["cp",20,18],["cp",21,19],[20,0,3," 55M"],[20,8,18,"git "],[21,0,17,"107M git-http "],["cp",10,22]],"x":11,"f":[["cp",20,18],["cp",0,20]],"t":1305020857.69576},{"y":5,"b":[["cp",0,11],["cp",0,23]],"d":[["cp",12,0],["cp",0,1],["cp",0,2],[3,0,64,"[detached] "],["cp",0,4],["cp",0,5],["cp",0,6],["cp",0,7],["cp",0,8],["cp",0,9],["cp",0,10],["cp",0,11],["cp",0,17],["cp",0,18],["cp",0,19],["cp",0,20],["cp",0,21],["cp",0,22],["cp",0,23]],"x":1,"f":[["cp",0,7],["cp",0,18]],"t":1305020860.23317},{"y":5,"d":[[4,0,8,"bash-3.2$"]],"x":11,"t":1305020860.23471},{"y":6,"d":[[4,10,13,"exit"]],"x":1,"t":1305020861.12965}]} \ No newline at end of file diff --git a/html/templates/index.erb b/html/templates/index.erb deleted file mode 100644 index 4d605c87f..000000000 --- a/html/templates/index.erb +++ /dev/null @@ -1,58 +0,0 @@ - - - -<%= @title %><% unless @subtitle.empty? then %> —— <% end %><%= @subtitle %> -<% @js_files.each do |t| %> - -<% end %> -<% @css_files.each do |t| %> - -<% end %> - - - - - - -
- -

<%= @title %>

-

<%= @subtitle %>

- --- - - - - - - - - - - - - - -
作者:蒋鑫
网址:http://gotgit.github.com/gotgit/
版本:<%= @version %>
日期:<%= @compile_time %>
版权信息:Creative Commons
- -<%= @markdown %> - -
- - - diff --git a/html/templates/scast.erb b/html/templates/scast.erb deleted file mode 100644 index 4a36cd3e6..000000000 --- a/html/templates/scast.erb +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: master -title: 操作回放 ---- - -

点击下面相应的链接通过Web网页观看操作回放。网页回放技术来自于 jsttyplay。 -

如需要更好的控制回复的速度、暂停等,请使用 ttyplay (Linux), termrec (Windows) 等软件回放扩展名为 ".ttyrec" 的文件。 -

您也可以使用 ttyrec 软件录制自己的回放,将文件以 ".ttyrec" 为扩展名保存在 ttyrec 目录下,然后执行 "rake" 命令,自动将新增回放放入本页面中。 -

从版本库 git://github.com/gotgit/gotgit.git 克隆并创建您自己的分支,与大家分享。 - -<% -parts = { '1' => '第1篇:初识Git', - '2' => '第2篇:Git独奏', - '3' => '第3篇:Git和声', - '4' => '第4篇:Git协同模型', - '5' => '第5篇:搭建Git服务器', - '6' => '第6篇:迁移到Git', - '7' => '第7篇:Git的其他应用', - '8' => '第8篇:Git杂谈', - '9' => '第9篇:附录', - 'others'=> '其它', - } -%> - -<% ttyrec_list.keys.sort.each do |key| %> -<% if parts.member?(key) %> -

<%= parts[key] %>

-<% else %> -

<%= key %>

-<% end %> - -<% end %> diff --git a/html/templates/ttyplay.erb b/html/templates/ttyplay.erb deleted file mode 100644 index 20e84f2fe..000000000 --- a/html/templates/ttyplay.erb +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: ttyrecord -title: <%=title %> -json_file: <%=json_file%> ---- diff --git a/images/android-gerrit-16993.png b/images/android-gerrit-16993.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7556d8445ef057d8a02b3c4b9d3e39901b5d23 GIT binary patch literal 78666 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 IwL9Ve1@qW;{Qv*} literal 0 HcmV?d00001 diff --git a/images/back-to-future.png b/images/back-to-future.png new file mode 100644 index 0000000000000000000000000000000000000000..2ecf48b83bdb9b56118f96baf780f09eac8ab7cf GIT binary patch literal 415137 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 z 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

<9`hmjYt4`WJ%QD!zy0UEyIwZ{X!!j2e)Tkx{ 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

sD)D+^k;fav$!XW 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

jHi{Nod*g!} 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 literal 0 HcmV?d00001 diff --git a/images/branch-feature-branch-answer.png b/images/branch-feature-branch-answer.png new file mode 100644 index 0000000000000000000000000000000000000000..9d55b8e1e172913239a17ea686f43d3141976a25 GIT binary patch literal 32679 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 literal 0 HcmV?d00001 diff --git a/images/branch-i18n-complete.png b/images/branch-i18n-complete.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4fda91d435874abc71ac613f6c4d68a0cded0d GIT binary patch literal 21085 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 Tl=>!D(1DSju6{1-oD!MBQg$}P}0x2%% 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 W*~irOJLBJvP>hXC4e5Iv!~YJn{^}tB literal 0 HcmV?d00001 diff --git a/images/branch-i18n-rebase-complete.png b/images/branch-i18n-rebase-complete.png new file mode 100644 index 0000000000000000000000000000000000000000..d3162a34d20db2d06effb12fcc419fed85e9f843 GIT binary patch literal 21216 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 literal 0 HcmV?d00001 diff --git a/images/branch-i18n-rebase.png b/images/branch-i18n-rebase.png new file mode 100644 index 0000000000000000000000000000000000000000..a2e625ed0dc50aee4b4343a11b87a7c7a3de4430 GIT binary patch literal 22025 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 literal 0 HcmV?d00001 diff --git a/images/branch-release-branch-answer.png b/images/branch-release-branch-answer.png new file mode 100644 index 0000000000000000000000000000000000000000..6cce84ceed19525294b3e48077b8e3d939c2fc23 GIT binary patch literal 40403 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 literal 0 HcmV?d00001 diff --git a/images/branch-release-branch-question.png b/images/branch-release-branch-question.png new file mode 100644 index 0000000000000000000000000000000000000000..72d7746233baf062dac769a5e11ecbbcf08b7931 GIT binary patch literal 39182 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 literal 0 HcmV?d00001 diff --git a/images/branch-vendor-branch.png b/images/branch-vendor-branch.png new file mode 100644 index 0000000000000000000000000000000000000000..005a455d6300aa49f83f81064a25f4d8f91a1c65 GIT binary patch literal 7607 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 a@hmIIO}yKGYrvCOgu2Q-)CZ-f0sjSu`mm<} literal 0 HcmV?d00001 diff --git a/images/central-model-workflow-1.png b/images/central-model-workflow-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a63407b48f519d25c51756afe2012e8c087f423 GIT binary patch literal 28133 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 X=EYry-4yY?ZIqq5MmmMswxRz8Dq4&> literal 0 HcmV?d00001 diff --git a/images/central-model-workflow-2.png b/images/central-model-workflow-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e148638407b8674506ed56163a1e036024c23478 GIT binary patch literal 57884 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 literal 0 HcmV?d00001 diff --git a/images/central-model.png b/images/central-model.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8ba2dca40933638856c788a846ecb7dc01ee13 GIT binary patch literal 16278 zcmX}T1yohv*EM`CLQs$pDN*T`ZczHt9nv5nDIp=HAV^4eOaG9Tl9rZkknWc5ei#4m z8Q*Xyj?1}c@3U9UHP<};3UU$;?i1ZdAP^6blA=lo#4R28e;XPK{9ASV6BYbGF_e}N zMO@$f`CgkHfj~S%AVpuRI45pSIXMR%U$^b9@KC!-QV3)7m1F0MTA8b1>q%|mXQ~cI z(~+7Hj}uub3YnLhs~ffbP%L?!|M!Kc@QW}}-+%U7Gi2E-*l~Z_-R<^VwABkc+_&tv zMtP2Tw(V2SuP}WmkT_oLXb&GQH~Zsi*Lx&cj21j1C6!fD!a+wzx0Ar#`>vEzR8i5^ z&~S^3i)(!-N2K=Sq1k8wX-`j&T^sKGFk!r@d1ik8#KVoz64ztvt*L5iCz4cb+9)X^ zPD{U#5G+AK!N23<9i&KSv9#64My5T91}y>jB>c|UWp5t5s=ObSqgu~`Pp6tKytMw8 zFS4~`9L0i|FK+O@OTXDr1{HP01x46j2`m@v$Bo{u6_t)_3`q2lTSX-$>3a1ZCue6$ zslxZ-a50#r@um!E*x4g_?3asdW&{x=QZaLfaJ3ABQXk^00n`%Re69vmt zJmpC#7&-9i>FHa)5jLIdE)*9Rhw-KDc!~Biic=sByW=^!lK5hVhE)DZ@eGvpV!!#| zhMTEG>%`yiJDGy={reU1;HQ6mdD$WY@accPpA(MfvSD&!pS$OmrX@o`MYVTzzHPtw z=Mmohd-;5>`^%sDH8kF|lgiQHTQMtKnAO5B*&@2X1;eDd1YWeMr ziuHuYj)Kc(IwR5>*Spn2G|6{4FHiT5YQ`m}zt)xm768IN1yerpCyu!`K9ny(O3S9oCUE9ySK`>)+gBQ) zyI_lr`iY5)?~Q2L*lte?m=C@C6Wd-=^z*T-@0Yw6joUvDCgdf*g``WzFkM{i_x`6s z2j8m1R@eKcA|-V{T|8)hy4F=CM-g=5Sl7+laV}4FwH=zDm8z6c{pFN0;UTV zNnlAJ{f$p9v60ST2+l5j17r1{lv{0AY;udC6tA4Fa#D4UGjxK=1V&o60gtIR!JwK2soyhNk zV@jZ2GkzS(7p#B#;{ln!aL(JMj;Ob9-@VsR@*-yUt!A@%qg97v+MB!t=L#Qzd&T&Q7{HQ^;BjI(RQPM+&O_<%Uto?*7fxh2{kHRX>>t&lrB z^ke2p=Fe3L-*^^VG`4KHXH+8TdPfa@x-#zDNdz8w`za3J_1aJ{*RN2R2e8bKmp>#5 zo-@l2^-fE7k4Cs_UU^D$f1FS866lGZ;VIgFpS&UZHIZC1!jl&n;U{0si@7?0dHo;t zz45F4A=;R+>a}Z)N_`Zr@Ffd@S+z1MPRFCW_wMb&sf^j7y_sjN?CMDo!g{58T=moP zdc9>3p&__`NK9mR$L9ri?|Cg(hDEt?TzfI%zrpSOtHT{PS>P*S6 zKgVbMl4us4q+DFax7I%UTC_^7;@87#|@bMNl?O*RdgNZuBMfz~W)J;};lJ0!};VPhM|2OAnv?Nk# zrSj_1)dedHC#-jqH?Ex^lmfl_{xN&>Q z8DG_6XbJX{DCDV&rxWL&Mqi>;VSQ`%O|ev%mHox{9_AX$HQ)N5ljVo2vWSP9yS+}X zq}At(ziMnI-kf<-`}U;SOlV#U9DU%tK0S~+54aVi8P-&OIOJbxeO^n5Ve4Sm+R#sk zN^L3?N5rgnQ~08Xb7Du zCwZ-*#Lj5uflWczjQ{w?yKFQ)>hzK?{hR`9rd!lj0$u1!ERR>-jVog;mj|8LZi;ur z=Kh>ajxe<$W?PHBn(?mY>Mk#^$j0xw{#AUny^^xhF3-DjnRBig%`=kHy`Fgon-pUw68w@Kps?2QyaM z@qKpuAhqI}5)hTUcD<=F;v0K?m2@HMy53M1Nxp_e&v?fkJKE*`GPR4^RMU?4wvTY8 zP@$D|>Wiy!b&`-xS&Qt8-g>n>?VxWbsG=>|sqFT`5rhehMv5h+KU*go!>Q$yL*wHE zqM~B`MVZo8J7`!GwXpL7cPCBtE>F(sgTNL6?6OpE7i|~6JAJ< zA}?}V+;@7s=Z~^7kp0)^V<`t$s38_)VyS7tNrWr711Ee;QQtGzq1I1zEL~6%*qb~J zl;?ky`qQ*=Md0K|MfoZ(*H!#z5})mhMJ_>2jTjfQvmLi7_oKYMMS}&G*aGoXyV>ni zk%P{CSAhrJjROJHV2q3mg(`=u`lolBu*E9Av~L=!$aU^pJRZq8p5Rv$@_Zyce`esh z#XsVas`peDC8Pb8>fsgd;Sk{dv!KLg_r;88glpjayf*b&Bmc z+^4%7Hm{?WmsZuJ=P$<4E-p>56B0j1?Z5h=Y3w;cE%di7JEcH0oMJsl1G%8o>-LDQ zYxmNTgu3lY@=y6Yw?v}u809vl^?DO*B@+g79eb8cuaD)A`DNr^E4A5Q>(*Qu?70f~ zgujLp*VM8InI0Gnw0?WN!aRA`>e9QT_H1rPhVMtIMBA^Ozuu3xf?WhhW{-t>%m0i%iOL6GgB7J(`$HjK~0&zd{LEz}t zAi-uA_4q^TWyeBg8zr$PXLpKC%ktmmVi87LX(21_#IhLN?_V>Q8YXFs5fOMT_2;Kt z&Kum5*&r*1Nza(j+I>Q&D;g21p6{j;A2X;0H-`*#`lFMt6JBLI*5+u9;Zrg@84O?# z43=)QO`XeyeuXIiSu)tOmk=M$(0L?(&H0&!{<_g*Ur;dd_>L_7cv#r`WKD9a_X5b* z2?iyELTOIrS#mCAFZ$XgtGcVku8pSt<#p<1?0mau++JItG^@T%-<_NsBI|y@g`mqN z(%g!9zjPPz@PVs=dM4$yy;e)~d#gu>F6m0qAGWVKQr0}^CI6@xsb(?KV%>Q%>cq@b zHW-!hmUsC5;_PNyhM3-L*f`3kU-t4^){|Gp>=@lqMa-@i!HIHnm>M-f<-uagcLxUt z5sD5=Q~?Fw99D(_%`TRh%!RY2jj=j0Y+z~M``tByP9U+_`!3T5mt&*aZc~Lu!ZWGk zbis3XPThVt@5F)VWXs)tYx7=_=|+{?sEh9F0Oteb=E9FW^Ys`Xn>xg&OpzFdjpUi{ zn~jqn9drzPuDXs;<@w|poK10*mp#6k8e3tYjE>msnw%S*=-C;L{78x85?6nclFX_2 zMnk_q>2|b?M%~l%UUBSUH^C-8m3#W5KRXez6Sd;z&F_A4a=OxG4`Lw2*f|y6nBON{ zdj}0hK%f~bF66%`dUcd%RCH;7%1>winLO^@U3gP^v|1(Co6~jT%M6Q9g6C>nErK1mfeMb*$ z5Pid&*ZzoQAeWzxp6krBIEagNh&w)4qfV1gKR83~ceV%{ zLigGLbz9Z0Pv~mLCPfz!$aBt7O&)u+8&Y5OUj}u`xno zV&ZU|rxD4~<|n%Elu)k!>GYPZzKvWqUga~U6{+Irs7n?W`-+}xTSVM8N*^*{w<=Sm z{^3tuvWGimeTa*9y-`^{I;1e1x7Cd)3GFGpcYdar*qX0*`}EFGJXgM)S%~ldV5fy( zk5g2!Quv%;`t;>c_SydD)m;~xx>(lWHbQfv2Pe_Y(;L#0V;yb>?QUHOHN9wsd8A4t z`@i~P2-;BUWRfhqmxahrGfanLK7LEX#wA66l_?dqr>XpsUD3fmL5BINPZBFl01hxpB8>+@bp|iwvVn?RpW@|HN?zLc}1Ijf5>{;2W2>^tU^;|E@}ICV7)Mxy>u}6 z!%K%r2}Eh`42o&*$AcYWiC5YZzK(;sUG~V;X`p}VD< z;ce9F*t!jSr)<9*cQN7P$LZhNWiSnyN?L=;j1ZF#9;XYT`#wkFq*fF{FSv7X5XmR! zPaROu^`^o)NGfxFdCA_4{q%SX=L-S8;|f(f(x2V(FSbNm&4ez7@6B~mF-)@i%iS*F zk+1#)b>4t}g}(Z6$4;FphjvrhR2pcj?p8T%Km6Uo)&}Q|tvi`nGM+Y3X3?`?jV2}y zUB&F?W>8cV{)!wa)k3|lh?l|>YrT3=711Zq3qz|%bUO3;CAXqO(5Lit^6BYm3L)g; zKY#C=mHrghmy*i)Vv#Y~DYaSksN)`DE?a%*OtPF!DUx)4KBq*IHg_k_nd}zWC2L_eK zYR)7ORPxCT;`nT=aKAX_`U@OXRMeg%UWWKkbY|m?s?6pV(f*&t(r3rp%uXb8JU3VU zH11?|KXX8E7HGdx`4Y>jMe}R0?P$L@Oh7|Ri_K|E8!x~s_>c+@9}cAN)2%x<{di8h zyvE@I!zKH?S7=P%#OSGgw;`hLbeZ^vO3n-W7tg8T#ymda;n zElu7Bz7L4SXX*@_d5tK29oY@T!on~~xI_E;6wHT?^bZy_H75Qpc}k>; zR+4>8$efW~KpOJvR682Chg1Hi!pucet?vwLR2CJzoc_4M_~ONjoBpww%tLIAb!qX2 z39umO-I)k4ykP>|&yN`N>aQCZ51&xVaYepT zd}Ls$UHpl!q5$ZllUZ*p=i@0SF=-z|V2ca^S&S6ubSCoHOCpgCBL#RULL^F1CVedlwvl9<6vCPLebZTm9-w4@!cNf}>jEu;gMCb1Lr)hoD zfj-N)Gun3c_pKrGO%)-g0{on*@3c2Olw0PHNIQqt@m94&-T`G=t zLpL}6=;&yb93`K44hy9UYaMVNiHUM6TRXdOzGMZzuEmGX@CwX_f6UF!z7iI`4L#Zt ztd5wh_ndj_5qAV-Zk%ak%)w|NTeP5!E@q*3#bY zUoqp6072XLpCWl&IJ%GQw_1fRF;UT-&59YNTs6k=3Y*@l4;w%6Cqo3!B(ofRY=CMx z^F+OS_x=8|Ea4ztG6dT|jmthmr=gLNW{opTa&j`e#mF~G>1b>+W|Ru%tsA=!nR8rS zU6oo*MANDMcxg4x?&a-muQQ{v+@_Q}>~?uLsu}HmIIPZ^N$WOM^`Y~y-1GV}=6KpQ zWN)c+f83(b7TCCm(?g{Jzd?)^Nm0?eKx!Ee|4@aKs(*D{TwYGa$vHw{g4LIF>=q3f zw>(?)A0)m+BDsu5}-@#%v zyRF1&A4FKl1FTu1BO{w(iLnw>ETGGlz-z}wG=IH+PUg1r8FTIaC}ard^UVtT8rd8b z96UTxU}FQgRp*Fb>LWZab|uP}fOUGi_$LhZ@jzZ)o~1{ag{o)mv5}*rBN+P*0Rh2N zA&+lynn#a6L1_qkt~m$WbldOda+wyi7|DAf^On0Z$rB45J=Np#jNN)t18>q$4uaNt zZ6MR_bSVZnz~$bQl%;YwpM>WAnP^6>Uv^7UbsNCI;48jpS_7Ucx;`l>DUQS9v3Xhi zYj2dBlXvk#_mRK}$lsi(kfw{0Qlh~d0IO3V!!wq<6Qn=gl{9Mo7RED|tDHNm1RU65 zFKywqo15EWuoevzii6&@%j20CxV$xljQLi$x3{;$+5lx7?)}1>gtER}e;sXUX-V-a zp3OAa;}poYL$bf!30$4AMei?m+sHKU=VoVT59Modp@)L=GpK@Fc5V_d>qheJ(I;@* zrd^$`-nTR{$znI_dxjo5IXRgzJF6e3eE)x>@+#c#X34vf3vD62c3N(3HCK0tadF9& z8yi#m%`(6w>nXi(5EMb;=|b!0rzgsAde0)k};W<@5`>GZhXJ>9;FrEntCd1hmoAswLRK(D!285AI%r7me z{!75Inkat|B;Eu^rkFc?urbO!Aw~gIE)-{AaZvzPEQ7NHgY-J9*(V(?{yR2S{C=*H zp_7q;VdwaGrEFA}oSQpVxAvp|Q}dQkV4Ec!9N4F-ov4Ap4<_aN3G0%Wx|0fgEJc>S zdGF-3GT#yiIgTuob-Ut6TpS@d>?~xUzY`M#io#7rrKK4_DPj__(@a=BeE9I+co~M1 zlhf@xcOZK`7ZA|#jcn}15vz!ml#|O+FVxkpb0fsU!n(M;EG{bgV>>mf=a~e)PGH;E zxH2~vW>f5*3~O+h54}`KOJlQ{<|iQ`v8(BBY4L%Gnq6LQg>nznc!meIYr_d7am>|t zjC&|3O8IX%Zr{Fbcll~v1xl^o0J<++9KEu+wY7D2e3OjhxNQv|QR3=G0Xr%ePT}V6 zK2~gm%EZLC;o1}j5>)!Es(=);B@IFUw`1FijXR~TQo0^+8at_^0Fm=DvzZ~j)= zXSZXHGvWn5B;_qKXhMO!KA0_U3Xx$afpf#bKhnDS@=8xjW1|;MkP7ny(yoc zU%uRpi+F-+V`CG|py?%?sz2ZC|LdW@4j088?oMGfu-QL z><$E@6f9~H)4yyNcJ}v0^3~Y%eFgyc zir)0L;uPQ?)>BoF$jEwU8@x4(^gjbBZz%4>`@^U$7-kCtwXRNS>FF?6;1>a;m%3qf zG}~|o{Q1uh)!gP^IgQd_Tm80R(o(bj7o7x^`XsRY?W$>$hK2@qFlq0!iI)O)d3pI6 zl`oK+xKlnsz*)0O%gbj&eY}f;GQYLe10`vH(~1i1-rW3rqn_tw<~9@m+dtU-I)Bmp z(&)*N;ZHcs@y?I8M~}0eY;D8%qVZ*7Cjg>3~tE2&~8R4?Oyylv4dVW4w`cAo$9Gxl;zIC?MsONE- zxyr;q4vk5X^%QTGTvB|dOUSb)@f8(ZoiWU#P6S8C$1!|L{uBY$kN6x`u>m9thf_Re z(x&;CfG%b}^q(T!#T(@T&XkYwGq~nHCT50wieN@|HXD>LD%p6jW9r?3+T(%2K?s;R zh&4M2Iz=dUFRFO*ad2@7`JG>aVZphiUQQL}ot!vNJ1;!w*ZGA8&VSdTwi^uL0;yZf zrbIo1*jOgL|4(AZ$$*ahO~#5o&i)@7{97V{!}z9DAMBo1F-AWSl${V8OJg5C-wjTh zuT`;Ljp4LDgmfTax(zPXSF+MIIW;v_X;00`$!XVyb5~&M8%3GUd9|$^ioQ3l46DwORrR0>Q=G zPqwPJ;bC15R-ePoZYw(IeclRs^7Lu)((NzLV(;rX&A}~9;`mjaUD8(TGD=I?q1>U} zzu(x@&e2gck79dfwSHV;B7=Q+ zxb*0oHt@Sj`;~yLM&?&|Q@6QY_A=@!#-JO35Pkh>LPvuOBfwfk;JIho>M}VEjUS-S z(8RQR`HWzcN@$wpYq4TnD=|X*};MYh6}D37uMX|+zpt882Na-)eTE8g7w8$ zBIE@P#!KHp%z^)qL1luxIwacPEhZ!Lt*$~74r#2$r38$NRtYKAXlJ(JW&&fKrV z4Rg!oXFNP{V5s%~C5XUwihIwo?)!K_O2UU!4&ev69|M-QYh#s4TNRXm6b%RhmdR1c z3HP{<`x<-C#Kfc(5CT;5drn)E{VDOdKXJs43BxH^3>xn`{`>nmFfgz#q3{{nJ!nrv zUcEv*efkuz)ZFGKWBgI49hL_IK_+yg1rU(Hn=+Mwq_)%Kn&Tk4GJkKpW{vs-!|mP>qlY)C;PoZ zP#a&sBSDPZ_^krk`bd5!%vWI^elw;|tKRXHa_bj>^mc<`&CA}*{1e0e(%28Bt=w`9 zQZB=IRm@IWE-?YSfIt%9ZTSOE+`D&Hr)#SrhBJ^6Qf^LjI9d)O!oml#ZvcFC!6Xiqv?1o%=^H=yB(2fz}E3-4a?>#_=hZDeK7|Sn*_MPE+u!3rh=2glxg82lNJ& zoU%x$FrL>}|5st^+|R+?$fM)p;uh?tV%~oI_%XO*rCd8S1#0sRaNBAm<#qT|QeBji zLPivng@#L%jKtRg@CC5djzm|^iHY{vGX%itqkm)GU_wky~!jPkT99s)_xKam%^I$6mEAS?6Z;kv`tWE`Br(l1@;^Z+oY0tjZ%DEjn245c(D zHum>#k!kN!cc(chpr#v4HGpU!xS>@pl%ahf%KBV6TP_NL9tshap;xEha2q|8fq@|d z?9dUb;H-G-)~z%5`;yR|MR=Udp`wT05F+kydf^cf5m!e!%Gn*Hn$EZ2>B18d67EU@ z38Vy=`HB;s=hB0NlIqYBLM?p;i9x^=30NJPe0o~E`^Z!UNoZxFcv5#*fu%~y+=-8i zTdNmM(RnDTsHkYyhOgTPb%+Aa5WM0&?gv<4oid1L`WI>~|&)Q&d=aos*Ssa+od z_2Fj2>q4=R86!Zk5q`8am5~2y`5=Y6gR$=FbcL+FwN?Cf2IOj_p4+Ziw0kwQyp`mS zi6UsLppbMQJufXO8Qd04b+&-6E&1N)$cWm-*W5d(cGfMLCF?^U|G6M5KrC)z^D^L2et1*3!}f=tv5E z6}1T6oN>;uxm=21H=wGU9&@EPrPqFP3NGjeH26Zs?AhK^GlJj*E}O@zi78t`QBst$ zajareNMsma)z0mQkRTVXKymPMvi}P~sd4Ay9JkXw=7Y*4Xpkn0F?^7Tx_{P&gslay zFYE#CwK&bVe~pTYx}}WnlMg@-+HB5FRtpOYKs|KIFXoIv-4pWt`?JRk8Va-L0G`@D z`3D3e@uq5sT%$6iHYVIjAwiVP1QADheG zTMFchmoKsP^k(?0mr{5?bWl)LF&wQpz)YgJw6v?d26~xqq7ZM=>W}no*oi~2L(NdqEl_`>Do>>YX6|1D0eAFK0dx5>V%9~D!{hqW2{bPvDk_nawuntXyVkvX zrUnMDp}p8WJj?{b+OCaO1=t?r)4e5dmI0da_8-IMky4rcGQ0}aj#jO~q|zyZ?g}|7 z_p0PS2W&-9%b%?07XGbqVY}hp-iDZ#jH?u?hABNPr@?RCU5*hkHz!gIv(*+P>k7(E zl?)dJc0ZQSi7Ee0SvcP`{Y1T|P>TBzVSj%=jjGf-SDsw0?=Y?M$Rp{_aK01QtT(ca z3lv^9U+m|)K7`{a!@4(|WQfq!uRor)_~k%40R~A;QESW8en(WV_Ek!?V{X=r+Md^i zk~(|u8GrnD`-)$<7l==gEO)`Q%7wbMZrdp~{SUCPOaUHD*0|u((_^3nt+x`}ls9+f z>8sX)e&Re-&*Na_EUFsFjV$?;9w78AhyWEjN^)xF!OWPL$*^xwa>Lw?TWmzdT9v?f zBZYb)khmv{b^kzdC**$r%-`RC$U-A2r0z+8JMAEkstHT#FwM`-xkb#4R2Il^coo}}>8=HFuPPoEI~{^iH^7=y!9799ciBoZSC(jxqnGnE zOMIa&x0BN9L07o~?0O{qc2|Zxs=wEHI7-mJ0Mq?(e$ch_3Z65xefWt#)!ZyvceYNC za1&aU&>WrrAlLEt+mo3G*wC?3THL~J3c1wLjJ&QaQH_*PL|RuT=i%2c32#<~yAJx?z`Y&qVMKX2vpY+(vizKdFCqPt}TsC&^wFd+S z8bMwDPesbNelT}cDgM{^VQycQkI_LtE=mj$Tw~C^qEa=%sQ7F()93 z!90UG5*YpLd7+m!lBSVTl)!?rRAK39Ym)%qtTCZ6V5*N=xeyykR5oe0tQxYqY6htN zxl^Jg084dtq6f7z=3mQXcenZsET_-5r7dCen$a791#j|ApjCoAcUCi8C)pHrw*Wu! z-Bf?XuV37b+tXkq29P<5nw!%lxt3yEu|D{{Vzqg?dm|c5q{xMf%57$X^OMTVzFHv; ziB+>rraH81KSp_8ol4Ye>p5VN@-_nwGMlX7H16Q-z!?~-?JuE3)L&m!cOjF*Dg1%N zNL8R&U1t<@_EkuaCf+Kezwr-H#=(%Q764axe7w{-lWg%%oK4#YsjexbxBeCxczeXv zt*-a*m2OOy`WZ!$lx?UtlzFiMRZ79muCm3AxH#Xg|MK;#ad<+)iGqLEw4hm*+i~)yZ`XLTvVZ zX?+!wu6i!cO3h-$IN|(Vg$@l3E%XD8N)pVxyu7^L=g-P~=r?T8XUJ!`IsC{-yvy0w zQhjpXVd3Gz?!81B0V#winHzH-R{NgEMVPJG`6ZkBF0HTM^oq>I;rT@B2@aG0rfG1dhbO)TSH2g>lL@El7u9aHdVq9jJ^U_T6AG9znwA zD6>o<&$h~n?mJk7l#P_S2Z(Pp_|AjX!n|P{4Uv)el%JI{GvvI@{~I>%N#r57cs%7% zI9gPd$0HShl04oUGdbloY|iod^Jnmb;_bj!v=V%DYE05HGMK=J(ZI1(x}S5xv8d!N zzHq7|AbkrcgH^{>BqS1uPzou?x;l9tD)vfRefiXsjA98aM(gEl0za{ z#;jgzLPM!84FicpLXOIothi*DI`64899^|hDxO84rbs(->Y)iWefSBGPp)P5{8RpElTFiHuko6LHa z%L)4*&x@I_k3tkgO_I!**Z+PzqU1D^40-d!FwbquBHwj$2^#-jaBfnWjnAe$T0D9+ zTRMy@$sUWnfB%xh{Et1ayxVf1$4s>R!(n@oru!dnY+Vvl;c(}1u97C7T$*KE4s?rpdrJ5G89HUX{wW$82ed( zyD|E$MNRcrbwiE}Ex4rLw{HMP?^$f5kqy(nc;N*sj&?^>>txyv^%35=fa%gysS#bL zO9n9x&h1zCxSA5>@XiJKri$*Trl!UM?T+pnh-OGe^PbHcOGj3?+ z85uuRX3f!oFH`Q48X8Z^%<$)RA#*3l+BjKZzBE78(mKQZ%YK&5M$aZ7MAf8^@qV@66IV}S>-d*JZ7c?!?jm- z&IhZH5W(VtxrI5Ku5ANH08$Je6J!UO|GSffsc}eHnEh9&Dw1Q_2^`tF5iA>jY1Pt>yW%mwK69kNmZw zas#%0HbtD@B5}q#;U>1BO)hvQ}xzM{@-+zjW zgM(R*n?A0ygW%7J@&#c_|a0 z%4TE7?E2_-laIieKSNFWgI7*O0m@V+SgI&KRpw_6oOt>wo$o@n6NN|zRg7{ zHa1*D)Mu(^H=bUFPPR0&?Q0Ri3=eE+SypfTz&}Xgolo>{W zh?FAV@>B6^uIugTnx0Mu2o#=@LFD%1P{h6fF)O&dB+gk?;r@u8i5j#bPbwTav1YD6 z$u=OnE@v<$gYN#$9Hy!16m%M5GG?{;^VL#t|7GVqIe|xKdC*aElOEkfU`JQqQ(Fy< zKZ6ejyJXJYb9>k?N_TD+SG15{f%i0IY^|*eF42=U@1B!3*LkY#;cn)LvQ2RnWQ1W> zHLOM?#5&R5$`pGixOp}&U=ZFU&*FH7M9>|3q&(j`%E(V@p0QfNiNm>dBTz-1Ded+! z^&xDUv1l4$Id|T_RJ2UGCRcD^c9a_!EE5|YP)c^maUf+K7{EMdQ~!6Ir=(oEGGJx3 z^o~d0I8&fVifhLMwRk&)`qJsLtE<014A>DI+=${bE*avo)sl0w{Fi&h`20JZdCz<@+Gk7T>MYH-#g3C1%?4_iR6F0L zLUjHk9zwahJ|-uKHvu z9rFISf4CoG=3WRN#|+8Gj!lGoKfz@9m&p579lG?O9i^JK&Z zje?0hC=fN|{qF1|M7&I5%eCy#!x#T%Ll5!FQ<+}iiz;~?(fv$M=il#-V$2oT^9$sV ziQp)nu|MLLn^5U$5len_2`V=^IXQp_5j!XTbyM#RaLxry&(d-yPOG>?3@rLHc`bi6 zt!hR*8Ku5P>F!nj&oYj5N8m%fmPAx>-G5i(elyHpk!sQ!G5I}zd)rttEL0KGSI@$A z>QQ!9$RsKW!(guB`nWFP{6J);OXKLL{6^GTKvKa8ei^HAsS%>NjgoM27s^)L{|?RW zy{+wYAphEI{ZVME3};NKkvJg>IEplQG#3{a8Nl|ky|u)uIj>;*gR-DB6j|PLNo>;V zxJh#~^)P+%Vw=Y|IdD%nlY!+b{_9Imn+@K=N|#8JZUZBle$)~Wra?4 z9w}yq^_`{%TY3GGn1@%GAF_M_vUk|&Li>rs%*>qF!M)?Tkxl%T*s$KT;wT2;c(Kcs z;&Db>S67EJrDjbf6MHjCJK5QPUTV2u5NhS;o}wz_z`uZcu2|>h()B|v|Ng5*_ofdL z-5V`mz3O*(mvoPp7e@CrUZ zxV9|l8JStcZ>{-@XG&bL3pTH`YOCDXI8}1h9(?jU55X*d0A(xSSK-t)fNT-X>T=Fy z=y_3QioW9?&HR7JK!FCv)-VIw`r6L+@D&p8=?|+$m69ws`-rvj{LU9obe;cm)Gr1x zO&V~lOmtBJeW7USu|!oAzuehKJ^@kR5#KbZe7@ST11D>HpUSn zN}-Oa2{Wfb+knvKrG8k7xj8?UfGD-f-Q>x>do#TN1&MYoo-o9=+nUs;lI((8eU7jTQi=eDW~we zTi5tHKpa;&tO<*Mq%xJ$4P#F7A2g$oBdzsQ%DK@M*tOmI4ypk}BKM1Jhn=jgp?+y# zlz_ZaqzN#)7~%g_RW$%3TSKxI`-LBF`(<%ek&Em-DV4!VNu;1NL3QT6YYbz+Tij=( zJerMBcSo6gKyfM$WCE>TUCj+6CPoT!1z~GnTt{{G=d6)NsJ(akU`!Mj!9NU)Ca8U} zQ(Q!NJ{;f>uEha;Br-##r{|yr>?Y8EXuM=ym#*^{$m%-!&mTT$Xlp|SPA`~@m-!9LlRtH&o+CR!=A7hezClxvC`Vp6MUoNIw-}w()N^uetD^*1>36!RXInAvdVFj4*Fg3U=n|r z|5aSG;NXTY1skyfmoR8^j(Ec7Xc;~66Hmw0)fJ=_{bm$ujAK*<=8wYzO>OMXnvFXm zX`4VVu^1eY?lkR!3R``+#UuMC|J<&P1>L;NcUZ^<^=907Hpcr62}ipMstnrpcX^k_ z6_d6yt)F$S-&3F50tUA8sFQQzPa|-&*@i6v+Lccl=W0y@7&3CCWRXTKX;uiglew>F zgv8&1N=n#3tRs;=Qgk74{UV{KCDLlfA=cIDMGizgypd|x);07=I&VR#1 z9tT?Tdl4!?CN*sonvxMQw(+pvXeeN!4%*C>^SF9K%kLJ-EA?~O)WO=#0C`ULSBS;V zyJ|EvG>YJLQ<&SJ{r%`AG9S|;?eB)&PEovCVSDdBS2JVepZ>|{H#ur1x_ zP0!ORMvanc38$1kApb~M4bv|r5b<7}Z7}yF)dgGJGo@2!3+8NTd9Cu6LC^iCSL~`Y zNS0wdVjs}rupyNh4s(IxoA-jJ(Wy^9K4Bbp)~8xH;B4`yK;~(d2fFjg8CY3$7uH`% zEp_n7D@R)NbFi`9yl_e)=oZWO{Fob}?~rKZd+DvLs(ZBJ-hF78??0U zg@yBJpfQV$i?iKpM#`o19Vz5(D0Z)g3@tfc?&;JemwWw{*meH+aSsNJh6ai!-c7^- zP-`Gz8;%y}Og=zgxmY81<}3`#PqNkh`torO?K_6}>aeEs9z$#E9(Z2o&9YHD9lhsE zgQCxwm>%ls>GdQF1WILQ9Dh1GSf5e*=SOlk32S*YlMfAuT}Wwl*H`C;>hDv^OuC6o zdXt0RANqvj$ONjqK*G}5GO2IE@*jeTMZ^q?*ka*gS5LdTG=2a`|!V=$Wt_QBd<5Zp`WCwIdELX^6M?9qDL>_Few1l0C*M#M;{0 z#lfIFgI4)B&}!!8G5k0BA1{Y_rD8|J!>G93Yd6+NNRBVan%^%qT3xCzz>vWdh&j-^ zy;^oC+yY(djS_;-X$zrH`GfwDNHsez7guehWre1o$k^nE3rT|HPSDE&ohlJ=aVk*M zy6rTeg0QspKjuVyQA5KQH?QErFiJd}0{GB(vukoo<^|l`E0$}}@Oy9B0~ zFnMVKK@}t&hku)!H(WM|Z5oG%f!Om|2hH2XUMKV2yLUt5;%J>n(g%O2(u;>Yl?7GC feYdmC>sxBPB50cA60hM!djwKUPP9N+-|PPYsj12f literal 0 HcmV?d00001 diff --git a/images/commit-tree-bisect.png b/images/commit-tree-bisect.png new file mode 100644 index 0000000000000000000000000000000000000000..30ff102d5daaee2c88af7c4556b4d0b059c96247 GIT binary patch literal 22306 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 literal 0 HcmV?d00001 diff --git a/images/commit-tree-with-id.png b/images/commit-tree-with-id.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a7567519d80f0e220ef974fdf126f8875c2d28 GIT binary patch literal 22407 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 z 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 literal 0 HcmV?d00001 diff --git a/images/commit-tree.png b/images/commit-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a756d12ece93452e20e95738befa80a26e842894 GIT binary patch literal 15589 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�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

|Z*PFCod?{=^b={Um za^B{}pA_PZtVGfM0c!VX=k+zBo5e0|h~~*_ zuhb&3V$fy(sH5|q%yLh{{UT$H?^_J?M)!<^_=`1ISYu*!?l@mxU0pRab6y}k*ZlL^ z%UDn^uX<)qP;y?cMoRs^3#4_h;TVcV#5^(^{XKktDsQ3{!P%!u-!{-=Fgi1Q;9tTb zEU71w+ig&E@8D_kX9Jy=LPoKMcYhDxlNMuQ)6|N)9I-&{JKH@Z6_76vlP&qR)qMM2 zLe|)$|63g?t=&p$C=LCs|G~U-OC{F!`s>Yg75aOH>ncem-y_qa7rIc(Mju*k=4CEr z?C5&Q|8L)-E)3nILcTaVH#q0-DE|KqM1fx%SZ+kI92AFqF#E~vCTiLm^kMYBegm*e zd_cvBM`fcWe3NEnW6%EIKeXLS4(3a^9mol{XmI@Y_KIQ~QkV1F!GFD2QlR70sd_{# zq~NFA!^o)J-EbNkn{)!v#3_Cp>PN7IURUQ=}HL6Zhq+d zmQb_df!6b>S@4bzzv09Zpx*gbs`BC2SUZUuu<(8TaeL*OeW=f8F8GnSO1`|zd zhISTnb7l~^2iK*T-&{n{*GVhLuemaxw+FZ!2QYcwS-j0S&g-uSpI&-=tc?!5?{SeK zrGHT~g-VVj@t@|$oHnxm8~1y7mBR-}W#PeB{gUU6rCwWZd0P41yR04_xYlPeEKM56 zQ5(Nyb*&c^l_pJxs$5uYcvo3EE?_IIZnzUZD9XrBLXG8HAKt-oH=8@a-AF7UT31Px zKr~firv>At`usO+9#axS*SUt#U{th#M>qZ$_QAY5X?FhgK&?q`Nv>~}0;cq*diNLD!@)u99smtGCa-U!zZN3OXt50F;ey3A z;Or2;-D}SOQ~B+IH>Pu`T3x+F^FM#@2T|oM%oGMMbsO9=;>%kQC}Dx}5dz*Z7QYbP zBLrNyoQDq(Zhjv7+=kbej;?AGwW*5bUPSqtHzIAG!XVbA=s4HrP*SN<`mFbR2Ir-D z@D58co1RKmJ z!DyPbR!269Om-$)sFA($;Yqa50{*j59JfO`?rDb@SRZ!iML(=yduJDWtepG-ilS^Z z8Me0m-#6YCzVflRhaxhOyW*glD%6!YlkIw0tBde}9j(L1_#r&8`m{B|dRgm31AW#` z#aPC<=>u~e=_xPDIbm8n;c0WW6BzV&QIskDj7m3NZ-SCVh4h@rhedp%vHFJQac3!<003+P z7h7*veOjMNSd)Y@hE+oL#lo-<1v0!Wr0qt{Cxz~rwp`aW^7Z!WrxF#OZ;YLGztZ?3 z=xH~#z>E8leZ(+mVM;jR+>v+P8f}Ivpd^-0Z6!;P(%>7-23dH=v!Af*b z8%N<{VQ{qC$-vixA=L6f-PI=%3fxO=4ZbZ&Povi6DYhpvf331G#OSZ7dfu(!O*k6< zbIg7xruQMlApb0Exvm27wlpi3A;lS@5*^~4?P~KN2eRHx6CHQ~Q#4{NbuJ_2Pw)}P zOm^@(8->#u&8Jgu8cu$8rWx}t`u<%Lw)C+WUxVuSbUr16Zic=JlF=*{G4Xv>T_2A& z6Cl6nm5my>b9-QQyvFY)w+l}*Cp&Fl43cyo7A6;#`D3M1)+NMmZj-mg8ui5L3BO)RqqO}{?Ait#Qb;st;oEcM9sB?(3ooMVDg{mNg z8Ws$}_u$K_AJRjBz#yU!5kMVO1tP8=_*J3W|2@t!?6`dw8pAu)MbWr89oG#A@Jkju z);zPyvF}{t^BTZ6S2@R<0Nz}6fkZ?^M0CRjKFBZUD-R0=R28BQ>J-jJkTi#i0xJEx z^df)=oO4j;;NloAa{UnR6#WZ>{v4~h`)ARg zPi}S%L_|bHv~>(lkoVITW6)6&o{^gfn&Ypet+1+`b?=Fhswui^{N%&6pR=P9azH|xg zslR{cvC&rR=+UD?0K3-^5fKs5%Eau}3AO7*MCAGBpKnxE)d(RpR5dTlvQbrN%q(2K zm}3*lzNF+D|Ucag{#u%jZz%P!@Rkt0V^=Uf^>NCBi}S!Mt- zkviKq6qjGV+x_&^T>H0wyHI??$GZ+V*VwSys%{spnd$kR^V2Ur(&+u(yO_tf#waGdRcx_sR#@l}P++ybihLLu$e)KJy>>jQb`^(2kvRn@6_=Y8zT z5}Kx_W~QT~wW7boX8V0zLPSJFMC)Q(2Kn8)d%oSSy!YOlnO9Zsy|00&HuJTruj^WC zRjm*0a_`?cglX@Kyi+ago@wLI#a48%8xM~m$uo@-aZwD7V?=QbjZ;V*15RNU;42Sr z0cHl6hXq4052>qCI<1+Zs`Zb3arOT0sGfGtbzCkT)u^j#HGmpG9ml9ey!T$bnfYF? z=fMz9L_|bH*Rd_v$OAyL`BEcEKFUJ~4Kr()StEpy*LB^fD$BjEbF(@RA>>sRa@#119s3Q&C7*?bX?N~xPbvB#9bDsurql@iP=6ap7FliDPt}bA^a>RJAiQGEzMC)KhIR$P*C}5z%#Q+aM1B z&1N%6({yO@Vb|Py&Asdu30Ii&pQbbBs?TJKP=g?D)yQZ`9NQ&UqzA@oB#fXvLYs;V+GOG5~$_mY@ZsrMEG zA@LruNQgoRQ3w)=1PuWyVq#{CEh06Dhymh7f>(`dRn!0~k*HGDQq@Y4xR)f_Q|)g6 zx+2mQk*=zC%d%`AIdY_DgYeHFA|fK9bukb@eo3?0RA4L{9&TqvQKYJxnpskomH<@( zAo1SEA`+Elh*g90ULv4Y5mE1Kx`t2mC!5JHtC zN$I`siAb4cSufA??&#=f@%ZD9`^`HeL_|bHv{emMkYDbJC!TQk-g|GHWmy_RNSt%A znMGAq#m+hBy?5TL11bfeswyD_S^T+l;)1FgfDlEI_uhK|wTRRJ>NHKOD2hrm>+Rpa zzhrPHA|fK9^)S#u{#u&NrcO*u$gyL`92VPGj*gD1_g*`lj+mKdS!T|;;G7E=E?fxX sCn6#uBD$IW4H$^2Fc6q;1^@s607*qoM6N<$f}>W<$^ZZW literal 0 HcmV?d00001 diff --git a/images/cygwin-2.png b/images/cygwin-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c150c1b7a83538948b44a682d814e78e0787aaaa GIT binary patch literal 10691 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 VcrM}lz`ra(Fip5d`Hg#z{}=y!#rXgL literal 0 HcmV?d00001 diff --git a/images/cygwin-3.png b/images/cygwin-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2a046c03e1ce2f495a27b71f79fb1e2b48bd29b9 GIT binary patch literal 13462 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 cPPmL78}5AH{&EiZM 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 literal 0 HcmV?d00001 diff --git a/images/cygwin-8-expand-admin-group-install.png b/images/cygwin-8-expand-admin-group-install.png new file mode 100644 index 0000000000000000000000000000000000000000..3d16a7060d247f54aed762549495ed8f94285f6b GIT binary patch literal 14472 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 OVyP%X70Tqy-u^$<)L<$A literal 0 HcmV?d00001 diff --git a/images/cygwin-8-expand-admin-group.png b/images/cygwin-8-expand-admin-group.png new file mode 100644 index 0000000000000000000000000000000000000000..69c80c63c432c1085a2dc565d9dc33d02462e889 GIT binary patch literal 14474 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 H_4EG)p}gTZ literal 0 HcmV?d00001 diff --git a/images/cygwin-8-search-git.png b/images/cygwin-8-search-git.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc1e29f3eacb2a6e5e21d328d2aedf10c520d29 GIT binary patch literal 14910 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 YdOr_H*4*J-ePVvKJ@ppy#2)q%YU8W+o{ExNy#Y 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-account-http-auth.png b/images/gerrit-account-http-auth.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a638adc9bd7c0c47d29ebefbe0a860aaa208f5 GIT binary patch literal 22708 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-account-init-1.png b/images/gerrit-account-init-1.png new file mode 100644 index 0000000000000000000000000000000000000000..119ec5cb85aad4cd569d85672bf9915b7c19333b GIT binary patch literal 33539 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%0D$kuC&&nE7EkVIMaZfhu*$Oxc&@BB^}i zrq6j{ar$4`43-2=Im$96F+T-eABNYoZL1oo&f9Q1UAHD9yR!hn-{wk+behP2q?Za+ zA5m*oa|}9O{U#5%YPWe+qNCK(CRbPC4O^I}a2aa(I*EeyrfjkUq!Qr?Za(*(y9B5M ztbZ&Ulropb8%HCQFH$`mQi#K}c40`1HSA+?K~dyB3k-Lf#UlbiBgd{a-ig=zHUWqE z(R`Xq$_(`n5)UP8=sA0gkXL)x6|Q?b)w4N`>UgC=v|;LxK^J!UHXwXNKyhSR>-sX` z#^<(4(3N*ETt2S6tK!T39jEsbY;pi#s=|2D#*Kf+=uhad{YDL_k~*i8n>}5Wu+`v0 ztAqps@57M)Gn}?xPe~Z1FOWy;eW&AsjuuCr#ui|QyFs-KizUplnr{#`%HIucH;u|W~(GLRi1nQw9YmUmwp^!g6jX~DOZ56jgm zC?f}efw5!PJnzKMum$b^E}YzlDH zn)4y5BKa)Q3vK#+Amds+BmXNxyx{C#ytWH_lXaTcHr?o+ zSk0OQ7wX0XuOuk3&%CTu>FyjI>AGWbxMgQ-@)}lL3>^<#pyp);m|Izl7wnu-s%|J6 z!RD`eWH*yB_^Av&M`D%_?wK0ga)Qg3KZ}DTU^U*#;0(=D)7OG>o0>&Z+oW zjSjGxcQ$((v&d5y0r)0A>Vl6OU+WR|IQa2rf!A7}ww6fkUI9+0KC#_=EzG!86Jh%N z6fhq4BY}~_KzYMYN3M|hq121`n60Q*-RFr|!ETIptzXD(AGe z#jcB+g7)eiEIR{%_ki%+m)}KVQkA3Ry%_WyiapFywyW=?syi=0e7Ro$-&Wmq^7Tt! zYl;i>RkO>*_qH!{B{b{c0`M~5D;w0?GbYkLEZev^9WW)r;+UQE5t^tl7PXtL$S7}V z0wHKIV*|#R2@k0)4jWrqG zGXe6UKSt@h>&5c!&XM>t_`c;W9z&Wd>Cv4NQ-0r<%vSm4K@5ZSWo7w~c)g?o4{p;$ zjoQ(_q?P3Oo&BI>sKC<~c+3I*sEki-Ak#8*V-0bVsNs=Y@o$U;d@D+=+?2GsqNU7a ze81B5JANb{{PApdlf6>3fa~_1s|wD%H_b9BN?RCgcWz7SflnAOZU@=Q zKT0B%_R}CJ7rX9h`0muU!X-%#UH*_2;>B9hR?HY=t(AIrI?u;q(@M;<*5Dz*vN)Bh z@lYytcuvPQW8MzJ@GdVrcXu;sQ>Ae0;^X}+Cnqi-cRDF?Q*1IS{5%%Bx}2$gp6P~* zIz4dKU7E3kEzaQY*|ce5(SDF<{ZI-|q`dm&8|ynJ%oth&nGmBl#*#euC81mN_0wto zj-4ZpEsNj#R(RQ^Cd1=^nSST$UWuNriAqSrmHaTq$`b`#}BBd zj~2~}XQQ_tN(~5PQVU!AlgP!2*|a*$IxeU|4qQ$K>fhE_(N|Q(v~MKHeCe@ayr%}p z66wv`oE-CgI%UL+l{LsZe)lG&6`tI-OV>J^;YvcpKY7hsHQJh&xh3a=_DzsUjhMM+ zIV#CJNwh&GeOZK12g-ikC4&Sx{nYPl#-k{!F=58~-cb{DtWPCeHB)W+oYP-D#}_+r zV!nE`gn!w}-@h4Ip#jD++rVMkYI@q-ajO0H;sh^SLzc?O@YIBH{>EMF0d?J1mvxP( zzy7(Td{~*8Zr7?jwJdP>XC?=%03_oW5rp+$w3aayym9IbIy9XAemJ_A;Icr(rtlOn zzqdKEMHQzHcMf9^+dF-XNO^AlP^y4ZwF*)ejRmnf0@*k|o1S|-c&-j_J9NEI0!p#~ z==q%UmoK>5e>gK04^+oMQw)SLYpd*)PLGc@7+NE||8HHRKED?p?_M=yS(gevzYH@Z|j&ZfnTF znE+;N?Q=mh2YUfzOX`;o<`2H~n9g63!%3@tjvYfmsO3VQ{&J7h{^(aR>wIVpS2aZV zoKCt@&^@XWW*9UNm^!XqE_t%&#y1&mnIf-Ub+#s9d26yOvrl9QttFDI;lXF}cIi3b z68j1S31Mc?P>!-2gw0agqE)~01D0l@<9fA#UvxHSeP}qh!V61u!8NMq;=4T+O7JG# zI!~pYcTT{T2;;5Wq0PVRd?#viGyQD~w!yP{<)P=p`LeEu|Lu+yD(7C|N!3k9YG2bO zPDp1e;L~(`s`uPpB?~%&-{>C0>sv)_{9@K;=ti0jM!AJk`hJ)PzL;B`$uLmw@yEwe zKbrH$f26QdqJutGc3UG%lE!BPyAnj99!8Ij$sFD~jr%dz4th7&o(;JC#v4fU-PzwWzxz`A~ZLB{!kQ;sT$ zk(e3Gku$fg7ztB2<53cg;LT(?PDe89K-PT_I`6iRfIJS?-mMNv%Kcj@*TpzV?41wf6!crC8j(rXYKGIE>I?b8qj>vZ0AksKSn&}^8{OTgd z?>ZF;?gUxa^lx=XRErFrj##B>8xJuPnX!zYu=h%0Sr3Ul2aI8M5#4kXn)c@9Ta0Zq zVFH4^5(E+lk_qY-Gix1{p{-5o)8{)NvZ$F0R$BHp0ql>&t@aI%4+5AdhHQ8lZ`DPa z{lwbcvEb}PFL-v$Mgl3SScC@)t)j|KXq)9RXb<+YlD+9kf>*nN9Fo$4cf)FO3krlz z%+>-NSh)BmE8fp$M?m4?v+nN;;Pkr$*(%HZV{FgAV-J7U2#(QWm!w;;lNU9KVEh}= zK#UkK3H@-M0MbnwD2eLX0e~OvULnhN2NJVrF2un>y;wVLpQVAdIkUCOwt$TOI%aZOP|? z6Kd@-Ub?)mh`mHj%5e2J18XO1X8^(NHt^pmUReOZzPOFzl9x39v8~b5XcCn9c#3jz z%KgELgJr%^#0MiK9gj-s}&?M;mX;+OO^+2Nf((U?BdH$7mkD8bCy);_B4D@MwSO=PCGG&(p)F|GvS1Mu)bVUA77 zYwoucrm9!ID(_#!t&2vMvYFx(o8O4sw|Y293fqicetG10Ky^Q;U%BXX)Zz^`ZQSJ@ zg&Ub-7nzg=;{Q0yKA0{2vF)&iY48O{I(nR)9Yly@=PHbI-^9k=g`RP`))zAou&ER6H+?wmLVxR&i!HdlUxpdenVQQYf zAsJp?QS`*Mxy%N>yTdLFlL7a+T`pAOY!67~2x3fDYJ&JBneMasUR0H}pRAI&GmmzM zm2JxK2EM0zKz;koubN4HK9aTSufphw*-cT%1N#p-UVfyHbcsS%NT+^_xbTyRdc+@! z_}2Z#$R0c$oTchp<>Yrd2``$jdxr?G#P?Tl^Xg9aHG&ttVg=+|^qN8z@p=t>0}oikSM0y%Z5LK#(J=0EyvMenxpXdjGpf@J7*pX%JdFPDF@R(=`-aW^w+1D->IE~w%@{1aRm zTY%0{&J7u6Uv+$X_G(cr-uKvx9HBvIrX{h}^qtnhk+6d&?nJg7o85F-=4X8nud0UU z>2I?3QnjaQC~oBeL(rdr_XUx)wvz_-x=$N2^l;K4!l+vyh%=_Fou_>K>$_z}j(oX| zW;_dHkd%+{jgM}wIv$XJLp&yoZPXwkZ1vi2qChS$fXGTL=2Pls&{kPIo~09x+_=*G zb;(4&6@?oU@Zk5+JJY9m6C7Vi&zQPph}1TK4MStDP@K^@k+MEB7)sywleEX6uO=p;kmA4yU4H zYsmBvrFkcQnbvZAEUpQ8TlRRr77tHfZQ+ubmI~!L1wYqkd1AG47N?Zvr$a9$B=xX! zP^tVYY^zxJb$`y3V-_RazQ-RAM^_VxkZh{a_u{eT$0H`?IK#SgZeZeh&&GE1D?rHR z`*~}5jCN!UL8uy?w7FHj`-R_x|Cr@zPZ(6mqP|!U?SKVtgt|#X!lwsBE`ydbtxqIrOr6|=!e%DDl_lF%O?-3Pr;16rKHW;OnEs59_BoMJe3KGY z=kjORlu!@h^Jwu)bmjA|g|zCedsV~=l$>n_CUC!=RKIn3hy0jxqUCY4+Z(qQANe;% zO?ST){Yy0dZJW^lhEn`*YSRB3p78%r>VM=M|JPXmKS=#UqW-HHz@|CXu%o3Im*BHAS>u%QOT^-1~MqemZn)N(yJlN%tF;H+w}|g z^tT&}wvym@m+k8woD__v8we7?_O(At7b?ikM-pFlIUxX0sGeobefK_HI_zw|fcB^t zUe=o?G0D0VTwXjs76z7^f0f-Sh_cW>IQ`l7pC4#SncJao8bJq#m6E~!CVF3f_o?;0 zyZsU&zAQv0!*j8*ZV>k&@00%H!kXxJPsggo|2iVNOv|~|vT|G@`>2Kr0I04&?s+c! z2zB5t^H-MrLTdJuBWeaH7GC#6>$z$J?2M$bT%Y6f6AY5Qp*LjkhL)b}xIb$z@|G3CjXC@^6W^h^AaG6Pte4lU5?WANqrud4WSpq{ zAo6!HyH?IEhpj#(njo*q=7FhVQF{FY)&JLF4)9K8W7cW1)z_f~@Jep{ooAEKGeO&Okb~7elxW$cGVj*D zHYb-kQuap-fsCF1-ay{7@1Tilr@??$X*3f=*vx(+q=wjTKr>bvTMUZ< z6tpkut(@MC5a7m3W|g65(u@>?TtFI~qB*Ra&cef0Dqhn7@^611$;qMtipid~#GFXE zn#F+J`~rR1M25Ri=WcD>92uOs{xUz)h_&hg`0{0Vcs#R%p+jv)_3pb!1*<8HWm>Pd z=egq;%1z0xhBxaj#vju-X=pkG#As-w@$m4L;Dz=Ba7S_bdKuHH-sS6g2T?%o8}0AR z8S)S5EE(Q8q)67Tm*W*_{8iIK{uyHa445~2Mq;~}N@T9&Cb&Zf@ejhfd6X0p2=8|? zY9f9%VdwblvZyjvSZo}bTeFpacY|7_X}Vd=^m>EFDNPP_PR+v!REe>}2mO<#ucmf9 zytSluv5iKAe zF_3r3W;^m-U=57*upGL8uD;jTZ3rJp1+;pdmV}4j3AGe3^xF%(_0Ci#Lerg-paHsJ zi^suJL7O&lc>exXbvt?WZV#mlqD>j+t#K{4^?hsYKQl*uAYFp=Z1B#IpMFhm1EWV> zlpwKyS?U;@47nHn_34_6BGtpz@;IgwwmI*n&P6q24tZR~rLzJjy_%CjhDCOF-<{Hj zQngKIN{mONEouup@F(1X z0gcLXH3&2aS{>Dgz4dyX@X4M5p0P+8$;x5}&5gV7@NG*h@^O?CF@sGS!7eN3QQ*zN zSK}QUU2SHLuwwi&B0x3UXadgc2zk7+ov=xwo2C2A1rqF4@t#U6!4L z@Y+M1l0*Z->e^Fcbe%fujfShSmFtb4dJ2N!=asqpIDd5`E2v^|q<9+dPc*k886(go zU~D}BJ(X?0#4DIa6M^&<_Qp;36`#IXL? z*b9=b=U)i;c04dDT5f4QF`C;@;j!24>0AGOi)T~d>~f)?KX8D0`3Fkhw}xf;QqQ~N zb~7rOrPG|(fV=*3vxk20(1%ogAUVZFvt}6yD;h0@{qOfK=3?v-W|d5yB<;k$taunz zBKglETb_yt@2`d> zO`l$tCTw1on1g}$gG+0dei_ppdS;EHgXtQ*ryr#|`#s8!mdG4|T&)q4(+M7Bz!S*3 zyfMJIt;|+Hy<(=yuddbj1+Y+kO8cmlxQ!tcQOWNfYfFg6Fw)2okEHgx3%C0apk$@7 zo;`;Q(;{~ae|+l?roBP6#Vu|U{*ql~uX3LGba!!QU8FH96{txGx#IB$##^F_ouOJ< z|94?j;`zJmZz$eHQ&v>2as%sq>%2JrPa!t{-0^KcSg z2TInd5|z}oh)SXal_xA!B-ygmnuqIK9Bba){v`bVe#YI#_cy|@%p>*VG`<(d(Gg}> zQ>zJZ|6qi7)REZ2|C~6ui!Ws-K`4Uwr=4xE6Y_Wz1B?23_CYzmzdKUh61hvg>C zxm!7!65~|PD8$;Bv;z@#4UzSxkBXpWP1;;k>>@H4#TNGy?M#6z7gI?$ZR}KN;<@`H zTr$ErX*@%=!sBDMS8Ej>Zg!%UzI?-NacZ@wp}HHxr5vFof9F)sgns&S&YGhA&dT+_ zDgANPjJc?AqornT%#|7K+>l3Ti-Qd~j(%JP37JrL%yDeo0>8VPf69IHS*g_<*#AV5 zGHEom=Q+T)FO@h=)$VkBFz=@vObL%5n=pe$uVl)BW5b$@>%7L!e&)bAa9Mx52iJ?e z|DEl|+oL-_QYPGZWmI(iu;iX?b$EEPJDyWJ@!0N-Qwdq1>dtd;94_YUcLLE$f{zR+ zwl_W4@y&^YirJh}xf>3HzpHA_7~av+_C(Y1nvXf*k&#kA$g#>-tz4`2GyQ(fj=$+< z!A0xt+v`p;_A^5E@xH9h(?pSS_>Y@|I6rN9AYKy++|GQ#CL8e~FUftHv_ETRmU-$@ ztIi5oo4KxZ7{wZ7|FsEUS;4IuQKH5(9rib-?4x3t!Pje6{Ahy2ieUr(?l>o(3Rtxv zziY$_efy8=Xh-r?wJRElOW~MLZ_vKf{C<5lnJF77Pmx z$9~ryfL&}Y&N_V%EDSyTsQK?>y`GO&DgNsr-dxS-|Ld?Gc_J~7i?&Ob z++%67SD!EOfsMw61(V()caS22SwAJEk-7}x*#@3A<$?1kFCTIjE<}=KH&Xt{Lr@dS z=>#*?L}=6n%~e||x3w?U+J#=no>jSjsKG0pn#SicU;4wpD{=OwWv-Ysq-2VP zFs90C@bzcyBCk&G`ckF>%asz)nChJ+MP?6#?~+Twt!W&w6f@N@k3>#eFL^s-3%(Ua zlwiwMWuYfw(~(T5D;%|+o{C^aqq~wi=jG-xZkd#3?=YgI^ypAPFi+fal(*GGWmU@` zABUXf(Sz1ra$O2rAl`U;p4GiU*zZN?You${+($T5GMvT+o+5RK7s@dPKBG}hjQrvX z-LJg>q(X!yc13q6u=cHI_=8X8+3;s7T*spJqiqsJ-VG zB?m6W>+s*dY-{&V03VLjy&>2Y;5V!iFUISjeS)J?CGlgsA#R+ATSEi?6By7E6q;m$nhR?;kx3$s0SrL{ybXi5X4nIOz}0AV>jYlWLGdBY`Kt`trCw zvq!bJQeCsQU)@~FydW(jGv<|*jbtt^2wk|JH%JIuCpQF_TmxGj0mR$rpIk;xty1{aXne&oz{7lE6XtQ4+r#{Fg z$RwDO!+~xpTgJ>*zxI%apcK2H@epMXcH)x9pbGVxIhyL3G+i(qmXL;B?)QPKE^?;7 zn7cIdK#yzMu|LV@b&4?kX>FGIPc1+kq+~fPjaPmB3j#tdG8KGWtuyAb`2w9Ox^V<; z?ja3eRZh?WeOp5|><15Miu?}%cb=E2lgWO~fj8?uhkFvzPLl5@x9#h-{Ec9uha9uh zJhN1{pw<-4Hjw%OmyV5YzAD~Y6W5e zcy>Ft##xRA;@X|TI$1+t!w^rr4|a`C&F5H9rJqt6UG->|v+PD+pv;sJ$15B^&{cKb zm0@!4w!v|p7Rmvm2W(y(2@Zfc3>`NrC{ZdF=LRgZ*2w`)&Y^cL-o-EMNa)b%Xm-)W z)JkmC0=VmSL+aL{PjQ6p#rSteK6K`iX&X<`4vQqn; zDqi~@i}_!Bg8CPGQ)A1X68Bc?!H6ZEB*U`+8v>92+bdqGs20SXaqi2p?E{Y$XVW$@O8;i{_menc;?9eUYFL^z zN6fV`MMB%RGN9v2J)5|Ooe%a&`cpfRnYEC-W`B=11EZZO--GqNlkee5VR(v%i)|O` zZEOBeI}X4{XdO8&?oF<82=O1o!6wH9CsM5u20MJ`Z>)iBUiz2{PtLl_2Ncm60O2fP zlfF$pI=uVg(yHfWQE4q~XS0I^NO7g_*DMgvlXD193bG3Qxsm|JKTAIkwHRY|9~~{E zpbQXgX%IA}xa6><1AI)ophpajJhKS5brDU$#}%&5PXf56%z>urTONPrPm1#0kI%Sm z=+bSGlMezZ{g>JAkcVb_Q(GqiozW>w7{Pr0R!N3iUS702`yYFCC|Y2qO=p)zz}#bR z9@K5KM+J-!fT!c&*XE^CiAS@RXzDKN9XoKS2t_{&?E8;Jp@}kaPXWFMT{??=EDF$s zLepe)S%*7$efz>(u_AH6IMZFu{j{THW>5JllxsTt`&grbBgp3G9V6OB?%PH8ehn|p zhdq&B0lT#Ocz$8{zbg9*sJND9-62Lu0t9zRAh-p0NN^{(LvVN3AwY0 z!CeQ}AcMQUAvx#&|M%{Bcir2IwOD&*Pw(Dc-CuoOT~+wMr`I9lR zS3Sv{Cz_at9#5=r77S|Q$VDc?&5{etvZk#wRX6SDYI|y>E&4Nh>@Sd`UT9BB%F4<% z19uu!FolFYA~CLKTiuJMVURY}Fo-fHeCB+Y6Q7{(en;Q_DEF?eMOfJI_&@_)`&|37 zTn-DV_@D}I+nt%#g?qXXN)Fk%9(aL2m0ZEMb4q62w zf}8$h8uf6G8K z{d1F2^KpS^-<6FUCC)YbdChMLEK=6({gyygd5V`<>-u-DjRavJRb5zG8X-9HK@9dB z<&57QMC4}Y<>#CDbm=1;wmn^Tn|O85qk**1F1rS&DZY$82!Q@caQGf1!EcPfT@XCA zdF`?pSr7#ux!pT_F?zzT13v}Z$;<;<*+t>ey;qbveB3H&^&#VlQUulNqJnfn*cd2H%1CxpHVY{XRE(>Q*q zz3}83$am_l?g}lx9({bVqQJcXQ$!kB#>o1qn&fuD>^7;z)_sXy?XedW%3?i6|Z8dL)m7+U?6p_%%-a^O*~Hzr5m~LsbAGKF*d^#JBz2O zLmu_?00ZLUla`NNuY|6PXSzJAWkpn5%|FkZ!yZx$n*Tuw3C(6?PL}qg09m!{;Mi9Qph`wM@nW>G`do$z&$yo+qY{ZCc6Jg}$Mh`L~w0 zs@=A&PG@HL;p`RdDwkx~VEct?nvf1S-uiFs4k=DdI5hZ_NbwxC%(3Ssu-P)1eP}9eB5rDgJH$`UATI`v zy5UmtQ?2t4gEWGH$p7LO)vg?e;7CBWL;-)&;T;VCzQNt2)6MYqLntlJ;Ciad4o{%c zDJ(mpU)Xb#nyaMt*7U+c2CEE8{q`(r;> zVl0_KgWbr+NUcWvqhZK%nm0oJsPY2B$-Yz`REn<&mnh#*4U>|3L^2!pK6{Eql_Q=N zSK~yxGkXK$`+;uBc`*{^#GI^%BZLY8w)s1`WD5bXKMMFG^J-3~Vz-dNP- zBKCd#iOJ`?3xpB({sE-&s>qAT;N)Va$AEB;r+^=$W%Qh7Kn`NhL#0J#_c`7Z6k~d* z&*SU!&pn%D!@01?=k`t?B^^VAVAaZE-aiM_sPkBzC0ApnylhXBK8?1-SY4B{!CjeZ z34D|_oeh8;#?lvZw1wk)u3+6x!ftD6zc*UY$(IKAwfNWPmhGEl4cXl&Iob8;Q-}Sq zLsk1QYLFt*kiL!nXFR^ilBSR-iOjWaCS&pYr*FYPUwSl;a`QV=)~zN4EZy|Ty)VS| z6~yc7^{@#e#cwjxehu0Jtu=feWwwH-C--dpQ<30qH+~gv)VPTHm{nF5lgWs*G>2mk z{McFRi$@8hf494KXC|5#`q3bP`nA_9>LQU#< z-REcmE}*))2C1(aSym)R>4 zldlH_Xx`3a(7%a4ml7K{y-~(TjhAj&nQ5T35ESqrV-!Wwz^NLU@C` zkycJn{Hwh$PwH4B+hr_ha$a@2c83hgK+ZX?nrFp^w_+&XeYFB|Knov~a$Xp?ph@Z| zBpS^T5xun5K^U#`(pC4MP%&0H#L286BQghrxZ@UhC4o^#T4f6NkT3Ir4P@q!Ll*Wej6%W*zik^q>u;kU&RpXPb zdEwPP%5YucHy%U40#obFcNviuH!vat$sMJNh>)PPG;~t)aGgO48VFhCC>yWigz@Em z=-ZV%Cp525Pq!{dJVU__y<6^UCs$bqbJ+DxrT&w2F<)3tY8t1_IOiC;IIx2DucBy&F{>9p@@{AfxPnD4*|rN4I=V z8_k>!&F`|?K04ihD-hiFoMzT~?ukvL5yxaB)m)8E{84-OSdBGd63H+ssPG5AN-GYn z@8-(vpw6pjn;*YqBJyscqsf2F(|i7+*580-*zD|m*!|H<)?%GU5+lGBsNA!5zHfNO zldnGez<LQh}$S#i!+W-AveD?QTfUFZd<)^<4QWvVEz#7Y%?*KM-6K zzONj3A4VIz|CM@b%4b9^8ki91F=PIeU+pj&gUMt-qAKRkGt0`cY`PLTfiJD+2?ee= z!r%?xR3pu%WGJ_p9kp2uM(v? zA@@tn*^o`|kLL+a%R8lCA^fk0oOUCFfH8Du)C#vIfDeHHmqI0)P-X);a2J8qHrWp- zvh@Oj>2N;Be*i_AdDJi-1$+r}d;Wz(*+R0qF|60m+5(<_a`aE2Mj18t%Fkl0G z^U7z}gp^2|k?eN%>hvQlT}6P0^SzZ_w^(hDX?(A&-1P=7IRkrLt7K3aRuvVj=Pr?5 zE3FfTWN9W7P1l79sW!cU@1nZvd)YC+;6%%zc}?xwb=dOeDvccmQNSamBEle z4_8F}C_fdoW>1gs}3gxkm3lowZ zv=LVNAc2Aq#l0F49P|@bnf}Bl?)*iJ3nhJ2y2n{h3i()GN}x)kREyri=8rFrE8N@) z0a3}Cq-*etjm;HC#`q7QP)w_nfRgDtMQ2Mj2EHA{kkC?pe{Gqv!ft`Wde0WUf)aIR z#XJ7f3P6MDALm_{*4~MF+7u)8^xm@5&0tetsL=Iivw0 zl6f&3j|=)H=dTUVYuK2xrIa5QK@m(XgDR;c;a_sR%5Z2snB=55Nxx{|6wP>KTh3I= zIa_HlFvgFC$}XzKgi(kX@g97WA<&P(icfWP0L9sjiGOM$uCTmCnW?9izGA0m(1`4< zIF=2mpGz7W6E0Ti8Ec~Wc^0I7wEi=(qjREDE0LZnnXHD&ER^h!Eiwlps&RMDGJ}ow zwr}GV1`wpt>zri5vLLykbp&I}Rw;US0y)O^O44EZa6=PWJ=XWVG~HE!}OGGeYA z-1n5x8BKkpKiLC0#N08@oDK*Dja6`P;4f(<# zyxM@DK$Kep`HiJfccen5fo(!Xh0>f&c9X7KyG(Fg>4;@fivmb6>UG{@~# zNvFl2*MvCW=g2i>=`MENQ{<44Vwa$sSYuWjmVBMW2AxuclI2ICUQnB`eg&OXH`Eo2e?-_l$#>q6wT`Z_jvWT-Cf)?6agE|l&ggXIO<=+aE7M2A-LqCO6tdJ_wQ@{ zq68Q^8#Z2E)`jZ!MMZY?W%g{zwzw%O>{Vcsixk*UaS+2yuISBjrzB<~EC!&>MFj8m z?qKguqaC(NOni5nTl;$m%S9wK34{0j*b`tUO(O6NgjE=TquT-D;zJeg%`T-Q4DiZr zf288-S+EKyW{O?6e740y{`iSc*aa;+S%AqMEkgtPXnj!NxU0ZwqWYG^rbvNG4=qnA zAFs7>W);=u?p(m54};|So17bG4^6|aOIAw>{NRM!k$87PfQ?^L%+Lxk%|7XT2N# zd%~YQAwSaF79*0~O^5k`)QoVBt30~%>WV{u zd43mnc9!#iKH7HY=%q8nx0XWdP3hXx1d1t26`cAHgd^p;jPVv3VKotwJzUZ zT+WhhDOW+))r_lp0BFC)f z8IRq%CB-H|cl<^x(q(qzJ7y;j3mqdir*4!RY@Fdj_%p%mo#}gFOnr?3*m0+nwUgtG zd$pq-3kxZm;VAy@KE7@=P*F-jF4P9CQF(ZHI8!seBVorh{u8T)HJT<11t)8%ec%@z>yyE zx~uLfXoy{RFEZ^(a$>IAS4pYha=1uUh+X4_Pm`$Fig??#i$PCbn)KC6cA&#sm9wtd zXnp~F@SIktJ+pE0)Ua>G-P%UV73WoY^1r8us&yurgZ--vIrbmLzH+5;a6QPS-IAt_ zTHMU?n5LcRRY+a*VeNr~w^)&i?kukjHSJWnLu%#fUEPqXm-RE)15^ws@vGcpe~ z;s`v3w|F;)_cH9DZOsjY=jYLFGr#1%~nDSpLn>0bK#u5HGaob za=4Sjwh6SkcMt#Fjg=cqLav2Gq)`OtSiO<>wT4F<1vP~TB{hP&eS|qS=A)U0vpkGXVp;CvyhIqsCBQnjzceh}@ z@)BT6+*#!KseOF*+heOqgJNs7dcy5Z>BJQXq%ha8QU)7bU+(g$%jiakSf>kkJqLGb znw+V}T%6&jYO1;zxw_LiYrs4|XS;_fi)wSg{i=vu=8W<39Pz2goSQmpCcyC=Q=r_r z2X*8TEvs%V%mVHU9j#u(+30>rfQ7-a2oJFPxr5ElXm+olMsWCVH@9{`CG|dK?S!K>!=zQ7_O0$gw2;WJW`MuvDa;&p7#7@qzgLlLFr~ z(jja)-oe63Z;tNBPbI#@2&h~smX}Ir>L#SomGDg0Zm~DuYpl3bmWR0Zgm^1=41n`+ zE8T{2tF*)ht+>=9iKi|lx5{BZuLF1g2AdaJ`XoTNBFvEn@sX}3qt5*F3Wu>5ZaMPu zb|cu)`;1+i68Zw)(jwvbYP1o#vp(g8c63{Un%AiM?MZ!ucwUA_KN#X+<`0Ns(7h#X z*@KclBXHt`BATFI$4y(UfR&{Vjc?Zr1|Wuudos*5Q;Ki|?rXEC*&l{1)uU%mUi2i{ z0292>G>s+$wL97crnPEg>{l7@-@v&XHMF9IZm~@047TtNW6>NQaIm@Z5_Q$iEXx&A zn0Hj1V`w4l@5#{&F?C#UzBZ#>kX*3{jj7>8UqoEZlZQy|+Z~hZFA}SBTa;axjVoM( z;@LN|M!C*^{9uO1ybd(q3XRxZI)OgO7b&AFxs7dU8N0uGRLF_l2}}O)u<%Iu&sh~0_peOXW$qlT z1a?)WDhO_pa#u^51CKOo_WKB_Rk!K~X6%4zo3we|HDvoF6$F84@Tn9O+?3s+BfK^_ z@_uWyvF4W({z%=m zjbaS-MwJdpMJ>p%?s<=1tRqyM-?(5q(NdqEmB)|XetmuDFclJ73{fh?qQOWc?pM%V zo2*CIsEjim$44q1Q%Tq(wyw>rSpmIko++Qg7F)Ug+_(YCpk*AVrsc*7f09s4zb~gr z9qCCGn)WW9QVcIYW09M|Vc&Hv!lj)o@xHsAR9gVztd{6mNWjZ$z^(d(yuC;sP| zu9m+&1V=E^ri+zm#)*J)H=KNjPf2px{`LjneAc8zkZPdV4~4&NfMj0VcWBR38u7_l zjn{piuUo=h6kbfc>*wVlHko&u$0j$3!*O^>0U8u^*K`Ei*+U`Z1Pm!C_eZXhQR)w- z#F{EU-|NZ5v7(p0z31rTWxNL+hyT7kX?jzwJpdWcipG|c@ptC_!m_@2sl(Mln;)rG z1aE#QB692lSk0$!G#Sa&8Yzy+2SvvLoRo{Os+~F)weKs?}R`^jhgF@xG@Jxk8=I(5rmJUq;PI`0sJ3JY7C=Dq( z7L$?^O*|_Jr*_TW0wtst6pg0+{RQCiz)`veR;HXk>e`i-L7`DCnX$+Au|{k+hEc5f z9YZO@qYvyI@1TU>i#{pxPdlU{1Wj+@HvTvwf&{6dt1m0rv~TrPG3@!Ale=$6j!3F7 zeCmE_y{kL@pbp^^RJpfljGHveHEox}oQi#2uXIywPCa>ntX|^{5w^UQSa^||>5;x&(U|0idamdO9M9oAWZdlpjv?RPG2~QM= z9kZ%Y7B;*uBSxRq_vvI8>cv8MGbGI)ZN+05U&NZRIF5|&a_<~-CEm=pll%rEvFiIw zq;rBt_|C2BW_(9ss!utDO)F}rTrp)Da>;LV*yk52VAQyAY=IQAtv+6tROcQjenNID z2{(C=ORC1X)M!=DP+A0gIa~EaGF7l~#D)EdU*U7J_oTiXZ?Aog%Zx9gM1lM28T>D4 zDRczc*Vf>iwV-!*CeOEXHG3cw0YIvVj52kp5A(6yIig_#bZTqAU)gg1#kFKW2Q4G% zQn+Pu=*3lX?7PE$5?*lcqs_C?8s$o05=qh#pe*ot_M!*?5b|x!a^}Pz;sSP%7B0W8 zve|v2GETsc6kZ+B?UUxwv2_`~bV9w`Lx(1P7nG5iIs}_8j(PVrja-n??`j&=HAk!8LDp66r{3HN zPNsr7?}$;uH9NH;($6YTf28%++Uqi)1RM>XcfHdW)_b6O<9p2MpcR`RcBDQUQzo@9!$1Or*-3DDZk850% z>Hz@hOZ5UQoJ1F~V1U3)hM`Yy=SwF+9{tf;3jknBZf>9kRC!nD_btlo*FrYRNhw}d zqnoW@m&MrbNxx{a!N67O#bVpy`W|H2LqH$$1+kMBSOn+5&H*z{m;x@D0 zV|gdbt0sKlmURygDAvMi`4VM!5!rx$+)SpY#w$AIb>t=#`3Ky|x?Dh?h2o|FOUc}& zaSE(oV+GR`jZ6((Xe}`!u>E{bOn2$|B&F&W?PDo}c(80wjgF=f4Gdb`m;WKP4ABYV z?Q7+6_IcT#_}9Hf(hU?8iY_b;*bkU;EYzK;CKu@XIXP!*xck@U zo$c4(fas3C)9h$GY?wL^OK?ZxPE&gBNULQx?yNc?1Z9UkgKKLRlm-r1u) zg`P%RC8AfrFiPgI7Iid_+`}qT3C_CqM!cUWX?H>W&>s+o4?*cX7VvxYz;o64kN?-4 za{uy07MA{>q?7xf-SyvwWB%)j|J%EWS;DKsO>)}t@E%^sUL*V)!>dPVBdhR+Q*u6h zWO673*NiuvQip#INeX(w1mBbc&|U3mK6^-2_5#Fz?-u&;%>)1Rx;`~|NFQG~jE45` zWia1i$3wL7SNXMdDR{N=2tQi>j{5vpi~s%h@cVxwI@-TIv1txo>}el%24NeyXQ>U? zW2Yk0kpxmSYZOCryKX}A2Zr?aOSesDZwOH`w@nT`3+(6R*T#}BYBcSRYmns5MSBJo zmjuY?xCnkDFT6!w))Gw)&+Rgt${faQJFh!#%W=G&X36#Lo#+P`(GEwKqdSx_T!&C@A_@&yz_7YA9t2? zE|!P#>W+jkeLb*P?(Yjd5}kikp1j0eJAKU0LmU{nbM=PHow5VWabqh`xC3>NDLuF1HtG|ar{m%fSL8d&Wo>vZ(NG)u2zh4Ro$?bk2Oh8C--p$ z4iJUAilb6WMD{P+hqEduO>q7+j;}uWHa<^Yys_rdJoL_RL8V~~k~G_b8DSkMGIs6> z02GzCyzM&1d(!Z|Z0$4QY}mPI$3fUVi4#2?Iytv<$FY^>XVFah3s)dc2O;;fmI59G zfJ&r#VE&j`js>#KT!ODn{y>Enn$u)xMxb@d{d=rSc!Y zK#%(5Ik!j9hFV!!_5zaY=9TznjIFuT;{EYoRXHBtV% zrc3VJLa5{YMidX;{SMvUxlLOLP~m-xKLG%1fkYSUF@Xinjv9e zKzw8W)(e5-#E7f%&&Z|H#rz3|NYyvtnDL)3FK722Y0b_remnjC1W@Ook0WZ+5-uv^ zWp}>z@q(ko;%;#z5y2&5DZ;}k&Sgk^SgPrSAxyKqoJH0z@sYNj$GsV*%_1=<6CA

EaMobJxxe7+xI1>)b7FG2oZM3LH`a^`6l5mMgnWt*O8X5my$j*n|oOXPvtHyPTQ6yGndyBNIoX&3l{fa4A;MF;r@NP zTTswZprr7-9L#@1GyIaH9Ea>7wdzB;jG9gz9jTHgiSwr6T+L!aW|COIZ83g_ zk61@TC;WaZ@BC2nJLE%J^YQVR7Sv~3O69*sBv~AW3>#xa&xpELP*@{RuA`wx%5?aK*IXWp zF6a<_UDD|!3@IMT-Bq}8+L?R|(3kc8I^0Z>(--Z=mGNX}5~QkhpT!tv zOputLvb9(NbLjw~6f{)VKcp@S2k6GtIT2a5x9vQ)pPx8*y)bf2Kw5uLbIoWGdsaYi z+~?;pYDdRFyZ=@veUK_4u0)Y3h!mZ|U#P>me5v6)8`9j}pm!eaT9sBP))B;6g|`p; zq$NWUD+E3UjSx`Voeo6G1VEDntTAiSf&-FXeY#X?JHU$_$t@J?;+&uR>asxShpYXX zh8IebiqjbQ66fv-K&e!#=jJ#WD^q{GZT>ZfYS3F`Z?-P|t&^_li@_a$4~}ks9lGA- zcC~F{lI2c`Rz14$xlQO-#L^!HohBF7AC!x|QkbjRxSMW~8^9znd6_e(J6C5MBObRr z)BKRPG1)C*FcZq}`n^ZYGkb}9L{;|_Ay77;tZkM($i_jJ2-ql&T7hQq6%E!`X`nHD-GCqvIaEboZ7 ze9@g0VMMj%|85-VXpKX@aArXc{k{3_A}`=->~s#-Whno z^OG#+!_D7K*uiKep1CFckybDlM&?(6ygbXt4eo#swmd*rF@NK&_PusH+zKOnotL9V z?xJPP+(eZE76_mhb=9=kY~2xp`Bk9u;3d%NEdilv7Sz zTA~T}_*U&mIaM9baUu5vzQMN%JFHdTlwx#xe_wKJ6^s?S05`uWZOhPUsw173mVWSa zP9JvLh*WDRAw(~|3Cah1`6C22KL$ME<9Mx?&N7?&x*lP`UAmR_n!l1eU$PtS7Y8p? za_~cO-s#W79B=FmnI(;{FnLe+>^d&^BP*;K06ukNiJvN95H)rVvgDTY^QUveiC=MJ z%eP7iL@##^hIDqo5=|a$*$*O$Cpw2JT?9HZ)lzS7La8R^k1#Zu^7K#XAG2SXG>zz* z?=rzTkk57o-svuHiVun+GkR@Od-v<<5`zB^#X)xf6nPH`5 zxPj61y*~_@TPxR!#if$;y{&H6VYn=&PfNQ9vg99AmnVK^mMPbu5cs1cvmZrIQ;O~T z^lT>6!H+eXgESJ{y#)Ahwf?-;r#Pa2%p2E;g@9>>0_r`pxB+V> zis9Ds#E^|af4 z?Di~GcS(m54h;Yn@8?45>7f($PknI1-xqaw<}{1#cpf-p)?196 zffYHuuU?%okoX}Tr+mI{J1?mj(@6&`A!F>`y4ClX`rDkM9yGWpdN%H)h~S-V|2lRA zY}}u5+|{Wf@`SK`g!wboT|o7o@Xk|0lZ?;PWQnWP)7Q&`MjH2jxKLyrw+;N#qJK>x zL}xzXHE1qPgs1ykm1gtG?Anm4nYD@ z$bHz1*$bMre}WLMGjPU6xv38CO-t$p#B{&zZ_1$tg@;P?7j@>tFY7GXK_v&;=vTGoCHg(cHOd-N#zkp3g zJoiik3!q3dNCJtVd5f1=cK&?Qz`cV_+EV_7Dw(li(HIrQkGPPrDa8Y&uPLU=SrjR? zo-dZO_S>oMp90|9l6BF>AEMaFsLr;PX2FQyEtYHTs$cxG`l(IaG^a%Yi(QevHn7(B zAxQHU7EIe?i=V7^;p)SAjY~7qCZ9n5dlF8Vep~&70jPVt^^p8`uiD4`7ZO}pNQE2r z401gMQbg>IAmI>bt_Kq8BtO}mVMTf0@p)uiLJfFAqg8E=I~q>4XbZ@XG(`Z2Uzu?5 zyPhk~IlUB4cAtM;Ziyd3JZ~Uhio3sjTYI(ao`zOhiXZebbi=D_Io%mg;-s|bzOza< zXL)tQcRvB-1DWfo8SIBCj~2w+)OHmF<_tikov)0ab8T>Z^KoO7*h|~l z?$=~Bt&0CwqiYBF`8=mA&yevu{NPcUFXG_Dntkyc&QLI}fmZsN83`E$PN`vbKB1`N z0BhomaE4f)pla#oFCh~xCB_d2PCpoIGHme!zI}ebewa5aQ49Ro@-Y=ISM+xPvgV}Z zO{d>Bpoa=61L9v&+Q)l*mbKTkKxNPLClraJb2tpe($$VuDY|HbpMWE(Lb&O3N0e^Y3*|0^NZ zpX&c*iu#}3Rp>LU2F1m~>imiMVR?BOm(}$3UIai)*{ zpH~!me;?kh6olb{kpp+SdMHY!7#?JQN7-k$rA~)NkNlz1q%>8*e1BmpDe099=A#6U2HX%uB(*ZbL3U+sk1Lwz%$a0uLUGILtscB5b#ddVF@$Q2=Q#~FAK+*DrJDqNB>j1PDX zbmQrIrSYZsP}Fq%gXAuGlCYv5+r)0*dG6w0f8rFvUb=1 zm7IM4S8IDQJicbWfw*D|wGY>r;?80>EqEe15i}uWT9iTS; z{W`6F?u?8e8@fh>%iWDtthl{oD}j3Ku=S|_;_WLVCx(#O6G?egy6~`ep4J6+Xb}bm z@lA45(1@0bvsJ&f0KywlGHDv7Mbl4a*Vp~pp*6ttw!<-#GM7tS>7=PAP@LxOnctZo z;pvnVq3&>92D$fM@WwoRmUDR+u82159+*V3D9w?r#Kef(>0epgtr53#-%n*aH1wlE zT{lM%eEv2vj;BgOJ}j;FDRureG^~fyWsNZv_KT~Y$J^C~kgFw!3;=kfC?Wh&Nmhh1 zxwcb>KkTb!X)9Ge-L2b+-9s~5h+EyIBY#reOLn{p-K?-`VZx&IK)N*%)SXQ;{>b2VVzpVKeukCYVK+Bx`z_CBw+5s_ABU1;1d$x44; z%9|;FC3VE+-x|+*b>mpU^S8DowGa8NZs966w;+#&d*(gfDgcM15Mhp&mq42W0nGw& z-7LKrs2={&?-|p@pD}G{e2w9ubCnLtg|>WK{3hc=jfI5ngQnYW*#8HC3YXrUsqp_S z5UWEx>xdLM`}^}>`rmF${OgJG#1{gF81cTgg}BK8c##m16)qM0?E8NJ!a_Kv literal 0 HcmV?d00001 diff --git a/images/gerrit-account-init-2.png b/images/gerrit-account-init-2.png new file mode 100644 index 0000000000000000000000000000000000000000..15d2aab759f3436fcc07edc312ec945f5ae9df84 GIT binary patch literal 10385 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 Wwg-BQmoHtprX;8KyyU4#(EkDdr5_{! literal 0 HcmV?d00001 diff --git a/images/gerrit-account-init-5-settings-ssh-pubkey.png b/images/gerrit-account-init-5-settings-ssh-pubkey.png new file mode 100644 index 0000000000000000000000000000000000000000..c30692aac975b9c757e65d245ed194f81cd1f50b GIT binary patch literal 101141 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�AW{h+03xN4<7}i6 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-account-init-6-settings-ssh-pubkey-added.png b/images/gerrit-account-init-6-settings-ssh-pubkey-added.png new file mode 100644 index 0000000000000000000000000000000000000000..069b7b64cceab699cbdb8c6f1a257a84b2386b9f GIT binary patch literal 37961 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 KFGaT>J^K&OvImO* literal 0 HcmV?d00001 diff --git a/images/gerrit-account-init-7-settings-groups.png b/images/gerrit-account-init-7-settings-groups.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbc9f7b38ed2b47d831f6f4744bd6ae8b615b97 GIT binary patch literal 24919 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 Aq5uE@ literal 0 HcmV?d00001 diff --git a/images/gerrit-acl-1-reviewer.png b/images/gerrit-acl-1-reviewer.png new file mode 100644 index 0000000000000000000000000000000000000000..a2aa28847ea8dc3e2c3fd8c43bcc1270ec9852e1 GIT binary patch literal 26626 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

Xt@Lvm z05zq!J#Cnez#|z(=@EhEn|VI_M|5u^$lA>E(_&LPHkP1M3z1)bf6jh7pQ#RSHADqgkPjkVjHjm!O7da8or|f2a zhK~{*Z#;gX?9h74rf8hDNb0~B47n9&f4=mqD73I?N|?AqIscLE`3K&gHU?MD?7p@T zDmnZ8@kN>)V}7Y`F+)@RVbR)i8_RH1bcT~w&s%bv4%NDNcJ5{*3}4XRlt8R^dbJTM zDjel}Tiq44aiYD0Rg(ta22>E(y0V1LcF2?CodU=wA7wapR#zEt4XSd7ovo@wOCeJM zbjf^7yjdQWqNOkbju7Iza4xpIIH06is{bV5wUq>-sdNy#a*s6V9`wum;=mcYhl>rD zmf|Q+2}XbD0cyX1h==|~66pif_aW{Hk(>g64dSae^UU-#XU%zohtUepnE`ELeDwM5 zs=hQpe#^UvJq9M=e8!?Sk@nmzw#cHd!K}1lmgh?(`J~bVH0gMch3(ljf@qTy`TB8T zq1*qTM@HIh$3040$@hzQW?$Guln-#aLOu(6+MLmqy_IeE0kUvt)fz2q3qFnJQ{2B+ z$BJ`lJy_>(SBnC)GQT=1(9c4xrOf>LY_o)aa6#~1R3E5qvr)eXnMLx#dGipn?W!J)UIEB>l6 zrnm^TdH&aoNM6GuM!<>mOYHGa>*lO3x6~ZN+Plt$D#>!YtKH8OGpc~Z-d~A%x()h_ zzEb8v2U}yTS__3k3?DwsgD0EGFIOq(z&(gQNQQcQjDXg@hs2#k7Po5yu~|l84=4 zYYSSVEmhP5r?GPh;Mj*awKdoLRoth3+X&j= z2O4ZSGtpG=;|=wIfWZ!_tT*p(j?Yf*IBBiE509V&6eA#0Pv z$ML#5u|&DF+N;TU>6-D9ps*MB8@%l9?gR_%0#QeXzbNnNBA;-iBqcst0Y=R zy|y`WTH2j*Mb@lLXh=;!d8?u4+oyDH(}@;_1DrN<7G>``SC8iw8pgjGPy{41&C5#U z&;hiEm(pG*4BmlA2H$ynoc8)H<~0+*0;(&y*bJM9~z3;6Lum=L&ujgs^6-&+Tk(SZ!3x zqA%dn4D}u9Nx7&ow9lKS6Hg*g?&goT+!<(q|By@pb#>q0}w~D!Z*S|Q^ zwx_n&Gige{$Hkt&y0s80O4H^2taL?(jx9An!};I=STgeG^TwJ8s21u_3)87t-@d`9 zyO#aEjIU6tvK`azjE)Z=A?qmtV=k6Vf;1!ZZVCk;TsHTS7KLck;EvnkgZ_xaZ)hjIn*A@jggxy zy~`!6nnmLrt8#xqoWp!o)9iNq^D|Ta0SxErL5I;FjiY%Ar5=Dw2guGA^2d(eb0YbOt=Ge^kl8f{w?-zA@CcQUp;}xI- z{0wP{rGZbwLqTBR4D9MjrfZM{7Nb8LtMx!y`xVze&?M%G$S0Sof5r*Ww9$)e|FI}S z*%}!H%AX#CukFVl&0EJXjr{iIA2Z^=)axHJ`~RJs#pKd@uYI3J&`K{v3N>s0&Hes2 z5&S>=@PAAd|G&2uDI(Sddet4TWgdh-j+V$&`puk6=#cQt_E9NxNpkm;A^)|V4rwOb zChNO)dQNKOjq~cJsLfXAyuaf+H!cX#6m-xOe0;Q2srl*c@V>+*Zxsu{-8w&jjFY$H zELXYX5gmcwqw*i`#Gy+&Q-fFHt*?lSvSb|+t}tphy?u413S*bx!(BKk91v})d4e`n zK&nohMN85d{X?z84=tE(?f4IO6pp3A7c2AC@X@;U*O7v51*y)$KYVQsZ#P|_JC+HN z?s4tfFq4lLI@iADl*qD7yluawx0V+(MUxIR{qKg>BE2oqW0Lm0lmJRvH#HPn1+=d% z(7pof`Og{#?UcW;cA@WK2QtJE2HUv{?FI^wzmXC$-ty7F z-~{oI$uR^}gc!$+2)v^$IgJ3l{WrAo?lX;@fBSOsulx1gbFAd0l@biCne#u+J@6Pf zMYDG_j*~C>XtlHf4v35cAzJM@;ghr?-w+1e^1Y|jIKIZyUSyz+=|B1X|AOebLN=F7 znd6biU{N{S3Z(MJgrcLyIc#40Dk}l59!<7QvFe`*L=AhPOMyJ~5ZzFqupb z-Q1bMg2;C%Kb5tq*+D@g+&RSM(~Xp!laR9SegntzBp{Y#Qd<&JVTGtpE}GQZ9!iiO zCw(eiO}&A;w8K>DiZ(?!RQ*Cf(A(j>Rb|VhMPp!q$gM`=UE_}?<^s3Q1&cb8tW7Kyj+8}v6^< z8qO#@PGeOYd@&yba!AzG)%^|OT*$`c^~S5tRZtj_R2yK89kp%=3gJ<9Of*nJ`%jy+ zmQDBYlfJ_F2T`)psad0@f&Nv9w!oeYLwvQ;TFw>tP}we}BF~#AV(iviVPw_rqE} zcfTKObw!n@y{uOqten~f^#WV7hQamA(srN&s~+uSG_Kxwv`fM&v7_F~I^BU{40BNJ z2*`AixY8FTc7PWZK(IOuQMucPfE*^3gmMM85qaP3nVw4WZl!@$wCIJ zlZGj*8$RN`@CTMzTst`*G(m{PotN3$b3b;*{DK@yu=C`>C?PARrCXRQCkiW52 zl&D!?4_~$6gA!8TcA+c|3byd^{gmZ4QJRJ)5NccPj4YM|=i9~z)KlWbUJFU@9zt3m z4=8ied-T?oc!>H8mu=9l@|Z(vL5J-Vy=2WmpM3ZlPAg(na`^L+0dLyz1OwVQ2X#Ec z2K`}{5xIOl2#9Q71ZEyFl2$xe|q{uv45?5&S5q80DqQZ$*w(B4Uk!WyWF`bng$% zA>NF?t?Fn;5GJHy=ojK+fcGJ=zf>?gwU1M_2Zd8 z7PiO7KTPP~SE2q@hre=Xw76&$qmK13AoAfEQV`9oq#Z);#_|iPX0?zd%MdZc-@kvm z|NPd^n>j|1KkLK6MGeqAfa)6I(C*oE>H*s33AN`20K3SkaEz zwASp3=n&T7tx@OM^`OCm2cgj24Io#Lz9jFRpRxU6tM|KL0mTWbAL_9IO9g(_Io05o z*Jo$F!FV`&1 zWN#aS!)7}4Ln0?o05e|Y!_QN0gNF=m>Z$fw#6M3rg(p{K#K?VYKuGkuMchj}GakSH!Iy(EH#K{TSy(QXQ6 zlUw?XT0rWn{`7nON1BP1n|_dW-BNCuaY=-7RQnc`W8UYTP;J{`DN+8+GJLWz6mEy9 zP6y+C`fd>Aw&`Vm__w8vs&P*G!R5rWKx1-KyU8-3_Nay{+mLBx3}}XXSIYFS(Ipon zultGbs;>(wU5L_v&~B_5Fc{!XPctp3^x24$MMvbl=_@HMQtGN+<6K%jaO|z%mj^|} zVo>5O2O_D{Q)o38OZUJKJ)M5U!J9#fT79Y5ky`R#v1i8V;KT7F=kVBsGFoP-SR?tI zNE^Pt28>%1om;8;btp=|BmEbu9D{X@!-5Y%vWde+J@i?w*@Jdl5O!6~#-{ zF8mb`*NR6_tG8H-R^n!kw<5`S=!bSv{esc z|)GH5S@QW`h+he80X3%!)nfj)g5X4Tckh8=Isp^fk_CYcwn zL|tdG%j{_HsPOdmz|iB{Ma`G*33?CR5o5ms2=m-O`!+$W)35bAPU2q|6lw}Fnu02@(u>k!_) zd5|%%-#<#;y$}eR=)F)Yh_|+ZWR>@{S;2cE`~4FqWHkv>{<*8;Hbq>?U&*z2*|D@8viMhXXzRcIKSOB$ mwe9~WmG*Cm|1i8rV~VN=tSo>{>B?U-SVzO~VfB5d=l=`IGK2X5 literal 0 HcmV?d00001 diff --git a/images/gerrit-addgroup-2.png b/images/gerrit-addgroup-2.png new file mode 100644 index 0000000000000000000000000000000000000000..daf4ff51de75e8b486fdd43a1bc7f31a6a93b216 GIT binary patch literal 30951 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-project-3-acl-create-branch.png b/images/gerrit-project-3-acl-create-branch.png new file mode 100644 index 0000000000000000000000000000000000000000..99cd6fc0f6d457095df176b0e785b3a888833904 GIT binary patch literal 24830 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-project-4-acl-created-branch.png b/images/gerrit-project-4-acl-created-branch.png new file mode 100644 index 0000000000000000000000000000000000000000..96d8c2733a3d9108850b0acb8ab86bf770bcb540 GIT binary patch literal 24617 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-project-5-newproject-settings.png b/images/gerrit-project-5-newproject-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..46568becfb98ce17e0cbc4dd59d4b614cd822a32 GIT binary patch literal 15824 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-review-1-tasklist.png b/images/gerrit-review-1-tasklist.png new file mode 100644 index 0000000000000000000000000000000000000000..2e1bedbfa1414cc3881bbab8d80052179b1f82e4 GIT binary patch literal 11647 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 VLdvoO_GkS7c^M_?GD#!<$h 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 z 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-review-3-review-approved.png b/images/gerrit-review-3-review-approved.png new file mode 100644 index 0000000000000000000000000000000000000000..463da455757d2e824a952c65e567f709486e3a12 GIT binary patch literal 41029 zcmbrlWmuG5yD&VcbW7)eNJw{wG}0yANOyNLbf|QfbaxNZNOyO4cfN!7b3c3k*+0JH zJ6OOmi}PBn>+B4bmla1wz()W80LWh?L=*vlw*dgan>TPUkR2x^To%YLC+%{@iUs;~u|i`)pERg3&D*eP z$R+IPtU=h65@V}qss=6`Z34&kTJ#n!^*CMvBMzwFTrSgGOm>=Cc#1sEQcifNvImDj?fyVrk zpZPl#>R6B}75;~FH<2uM+o4P-5I92F#D6~O^?+R+*((OO(ZTxaUd3Bc-&r-U}V{e&hm&veCgM8H>;(-Iq*MM z?IKZ#po;j=sSJk|Z01e>gNBVZ^s_%nn88cDu2%vdFmbE5lk<}s<_>JGh@fs80!y1g zRX&4D@}2t2BXwKrLe}T*%)7%3p)tl4;}_b!5V8#M%{|LT?%l`qT&AIDDcrNTUf%S* zp-x^DRkbo(XmW(11G-<3`(e?7Vqzr*Az{hG)lRq5?E;nWI$Q**cQ6e zP^6SPu-bb@G+67_$@pGn&^I0@6o3CSm%X+o?c4#WpF_&Xn}4U_&TT@SPH8Oe!e`=C z$StWChdR7OqNhRVC()&PA0DNP*WQ;51wSHY?#D}nuR+>q* z(XqSYXxPQ*ZsE9ty5F~(>$p^Mhrlay9T{4v|B9VbY>R!rGHx$biKEMt6fV?A{BZ_J z5!c7Szx&dJo>O`x>6wn4Z=wY>92(cHbCsasEY&fq^c!(b2dQ}wDf#$=`SVN1?XsRe zSpU4$MGOHb(mWi#xs;aG{Bsuwk&o<;p+ewirDMVJ+8eJ* z4{PsO0iOhzu$hIQjCW=Zg;pOZ-dTNW`%XoVfa=|Cyh)oTTCIwA^fkyoafn92prQZ{ zoXsxPS$`&Bhfj6tw63+2n_k_mBIKraA@6t4Lw+eTHUG+>lIMKOIs=Cxj|2y{q2E63 zgl{xRNchfcQq5N(DGXO()-cjV%^D?9%}8hNF@axjM0O1RDCPJc0&?RuE!{x1X9(HD z@qs_whcz_S*MZY{hE^$p?Ih_kw(|BVu`wc$r;U~7R`OuBG|q|Tw?H!EX`ieW&dva(6@4^!X4GYvV_Y{FxOhm&-)1N=f=vE9i`;~Ty zxLQ($ckhvt{M&I(78bk?EOCjsd zsBz2%bOkqOpeXe!$v*zKS5WMwjFsKk@nzCgCd<<`F?1(%l93EM=9&Iz{@Vj|4&K|@ zB9gclX1x7!g7p5KU@YtN z+z%14SGbV(LL0|AksP?CR?x{!5Z*=7X8g_rSni_>(LidQQAT~rc|5nY*wAw%nl zBbSN8&!_NTvbORR*Kshlsx`E>YHOnM>M#bRBr79kxp zFisy~5C?qIEl7qa=|LS*=)XX%&(o7Xq_hxnKVi2q&IQ^O7Vtgws65PTfIF7?$%%Y? z1iE^9{t(CiMT{qAz`{LI*c&c6WZQX4w@~GJO2QwjkAsX zZe65#>P5+pl2A1wD{X&G%!Jdhq0a+*9MiMnvTeV}r~k3L%;AE0Lk^bC(WH97XMZ1+ zI^S@`aPgUu^-Ur+6E)3IW7AA~70s_=7V_9zK}C4K`mSiq{mJtOg;?UR3k(%%2@=vu zu!KR4&!ThXQg0NR!9u}7Q}SR>F69zMjJN#U@PNdbU-*Db&pUf6T`*x?j}eJ^CsIwJ zE*4gQyy#Qi+tZmCoEH73rziU@!+Q?h^le6&4`BQi;FQn+*~c1c80lO5KN|5gLj%S6 zSzoRgV`+dv%Rt&;Ct_Me3*$(Ur&D=lIC$Y3mu(Vm%>-TuWT7fPb(*~Uu*}OlGKo8~ zvT)1A%~l*?ITv|s_RJE+9GT?gL7wzlQr88_O$pMn)`i-4!z zZ9un9jTlNmU=aB6B~-3i-^me!5bTaqUrr>NW73wrFuB-ax9P2GDewY3esXy;w4s{w zaM>2QLr=TwmwQvBztHwVx<4%1g69fX9?6qP^L*J`dN$&tz*$oRjg6Edj`Auov2aYB zyn_T!0*R4B9#QMZF~4|s80hzcPqK?vqdRx(w${H~-UtMNF;EFcinYzx7KVD!-Pqpi zUVlqGoqn+ot&=0`tlXG%OPzb>cGMtxPFsMbu~zA7>fAwhyL<1QIL@JZ%N3onb~-0< zm^$-Lx3#(8G+eL}kMLd^@B=6m`WR7xg&Oz9<)ztg76-pz>2a(8`K3O@zxi4$4uJDH zOYFb}EPmb!G#a@$UP@RIPj20#$EJHh%hj5c=YiE9JQr=iV4_jg(Dl55@=yIL-yGYK zxD{@D5Ixu9z~a*s2#k*uQa;{g*-+(OymKqNl@i#0LkTTkxgq_l*P0^uRp!Eo zG}72dYz})OUHLfiisPjPcd%>6vL9>@n=>qVU%LAxJZo2pV(pba=i7?ahpw!TE#LKA z_z^W_XP1-JAel0MBUQ}yW=VhRJ0jpkM2|qUnmwJ5V~1GX_6%r0mNdna2g^Qat?htk zu&MJz=h!ny$gBxWk`Uu?S&1T~xF{SKf7T#2S5zve&UR85d}w7P`9^sGiyR+2H+{bq z>=h>T5c_f3Ml(u$AwFCCh>_LD2~8y1W~^_dRmYuV$6iK?-VPQPkefc&xoe3~q5 zo-IiB!Ji`)_pZqgX(k_4IyxNrT&B}*h!wjY4`{L9XT*}#)_tg<%<=ulK1clY2t-rP zZ+B;Tg>i$O-1X7S>%lp67>4opD}lrIS- zRwv^pLs){U(zNzNwYjXf>s1;k@m8D0wDw+=qNuT;a&^{B*-^zV@9Mdsd-vsnzNAQ% zc(f}^tQ5QPd@N~8y>kev7ei+iD<-%_$Ow~;1r_>yIFo$fF|Y$Zw-X1<2!|#0Quiy$ zfIY^*=fVLrX6?Bn^HQ7Vt@tQ5$X|DFq+prx^UXxw`c7#t+Ktd#s>#!PJP7s5Rwss;KgR=qgpeLzbso{xOyjCGbvqJtM}gIP`a6axE4eRQwN?xX{1`P9>hzQ*8t1&~!r1nqija(`s3 zMGUS#I97b7^5E=l{;J1eC1NkE{@@@%-8y{WcXFdJW2>Q4po&!ppDc!bt|9StwXQ(- z8IzTKp*sd4d@3E+$obX)-ph*p7(LQCchvNhkV2sbP3pN9BF}dHVBECak-=E0HCCXq zSyT>jK!ukM;zpy`g!5W}qUvb9x|4E&JTWpia(i9z+2rmk=l^*hpkbAsq57ykh&u&~ zygwrzW1Lp;*nk1n;aheEUnhQbU3lRZbGC^Ti^R{q@I|e>ac?<$hGFF0(vd{gJ+*rvi@xG(~jP91Z}$la(&Zu*pE7UWR}p zYlFb(UFYUNI4P?HInVc_f83XlY~M-p_-?3qa^F|A_PRO%6Y;5E;Qq$oWr zk)C%o|9BU#KNT7>qlYp6{rta!cF8vgVhr7{$NgQgoTkSA6Y2kdOaMr{x{&`l>VIAS zpLhG`FCyre0m(Sg6~_y6yAzerLXvmw-3rL6a=^f8^RRZ{aEES!q1y&ECIS^ELRB5o ztbtTn16S{_=gki+&(zz|K!5i*|Fz@8kl*%kV|fp7B81IGE(AmmhM(@8EyI|-b!?S+ zI(RY(HJrTO3RrScCfCu~Ar>>(Jt>>RHn`n?sBwRLiN_9=^5Sipuee*WQGA2geMLHC zW24u-7(JRRN)&s3<{Kc1tct3uTsHSEVC4a6;l)j_7dr-`<9es7QqmCS%Quh7wyujG z8-VlnZ4~DOZV!-L16;WNd(Qid{1X4-w{L#~7~`r5E>KU6=*@G_5{35qn&fUlMtkQy zBk;nrQFL{iVFZ|%AMceuVIlz>Y>UaIh}P-L45pTdBDWNpU73L{CL1e5;+_LlPUi~} z`CjeDV4a~Zle8pVU!a2ubwn>dlFndKJ>=Dz8SLsj^hhqQZN1cWK|imOs&%iKBdl>g zSgh!cfVa1|lS)de=M#eiieWDhPfds^yvP94>qj8kuf;Sqb?)}2^bU--R(6*(jSmuy zPyNd`!kQ;DBF`UOfDoTw|IF(P?e7eXg##O^C_&5H2&2P{l;|XO6W@|A`Z%a!743BX zksL|;!rr7zYJpvuxTrS~hJZxHt$wfo(8A%adV;G!Of_z1wkhX_7!;P1J_o@# z=XWT*p*-UFC9xf24vvr!Nz3EpCt6aalRxtju5~*zNhPT<-kB?F#WYntbp7C1bYQp2 zh+B9e7DApp)!ZYE9jGVc!XY!w^F(#KOp!UaKP@u#iKW?g>7MiQ*aGnyUMt3eJ8VMEEWNmE?q=VFN*G3UG%$Ej{t78Mk{Sg;j z!1m_U_aku3AW;6nf9ODCc(%~Xb(hJ>x%)Gcajp(CLOsgGNT1^K1co^?V6b%3f|go1 zW+tx6aE@S$7xM1IQ544g8Y8MLSJlxh&ym{^H=DcS5GtP?QClpouSx||%oqaH^a6mA zzi_q2s6wFhY#!~D7#Ek043SxM%t6Nc*O+=Cm7VjGQ_!gF-DZr)aR{0!E* zvG|*l`v`+<80@Mtvh?E63!ChAX%*l&BD1BvwVSO-`olQ&&?EU=(`&zuyF{oWjY0FIp{$VFK=FW-AM1V zpJSBT3`NRS<>~uyWTUL9Ff?F=d%XO@?UEkLolJTSt`aatt7LI`wFuYtv3$9$JT?yK zaLBFR+3NSA;@-RSC{rDw;=qc#-o*(8)bTML1Y1drGvDb7&vb1>lgEse>9e^ua<$J* z0H;!1dLO@v>zP>>M$hPVmBGqW5ms!LliQ-ro_tOqibNhT*_g_6LL*#-hc)4Nr&<`? zzR~u3>vr*a2_pjvkT}oi%fXkCEDQyx_u;3v;Nx-Sc?-Z!-&y7*J?@8?49aqL2$NI! ze8&)v7Q2u9#C$Sf@0F~}<2mz_984~*+bQlZ1`C)aNFc>`-rr$iv{_S(DBL6u2TIgp z0dLrcJ2Ol&I@{?mm3+9u9EvHilZRw)A0;Kh>-vtIRrV-4RvO6QV_DmabMdP@ZAPO% zCm}2~`K8W%k}YAP84)5E-1?`E4*v6Fcz#Bmqm?6Yk4+C@vjh)ScLk3(7IaZ1FZgep z>V)P1K+dAHRRYY2cx~9V;t-5cMsFTB)l}FDTFWPE?)jPGH@YsAoXro}vMD;ZTcZQc zV2@Ld2-jA&{)F>@oB)=`fa1)B@1dOcBy=kib-B@X&Z(qZO?5+U5c6ia_}N%{LJ!s$~CRY~8Gby_@ z+w}0MFn*07lYTWkKoi7g{HO}X2& zo6vN2nq--iuUAG|E)3fz8~TeO(144==@_C&Z_)*&uE8!JHIA5bZjW1LxrBri?MZjT zLQy#q9QLV^kAc?@!i-w;6K_joxNZ`hoURPO#0(t4cDAS{2R0P=ojbHjQsbv`Y{nlS zyPG%1MF%+uD!c0~k1PUjfBEM>^Ud^o%|`j0Xd2mAJbex;4Qy!1q#?LGQ$19% zkMFj!87cu0dXtkQR}SgKgViT2W2h-NR?@SyXIIYfu=A6O4=Z8S$#i!X!6!SNlN3jD z_Jc6$C&71iZNsw7?P4{b5-h6mfC9j6Q+t^Nn;X*Rl(Myw6q7qMOY!XI^BQC>a4AKpbIhf*wL_evW_rVfu=xLIIv4~gN54@b0vC4HO35(fFrpt#OF7=H&0R=n{iOy^HbQ)JSO5pxL|p9<6;@Z z)`5N41HqwXV+QDUhOKMG7$=Y65-d97Nn9GhCFFew1@cv2_hgXY@ zo5Ct%Bvi4~s@uTTkwv5w?*eWAxq>@Qw*ez7EsuL)@6h(r6IBy{nnd(bm3D@ZQAJO^ z<(@^CtGgwFQX*1^e-XP8SHx}CL1WKwtCl1%8BiJu?iQPt9Z0d21ChLRmP1 z+5-1M+R;;O94Y7?kzTWmzeytcnE@qZ1QWBN1Pr=3A>8%BSLORdfQqW4msQKR9=TQn zwPsJ8!m~RiR}2u3X|79ec;eX<41#!ELu2GE%kDf!l1kbH+CRTVtK=lRjY$Q+L56WLV9D$1BsKP^ zcbyAdh~{&&MZ46TV1R2FLF8G?{PwqGZQ}49F+{KRFBh*5-94w3UQPa5F?0}jF@d6x zvy|~M-?6vs$pT#n*l$V1Fy9aM$AZmzIv_<~?P(Mmt>PL!N_8Fu2Rw{O4WfOo4In zhubT1+jyocY$yoQUm6{fj+UBqY@NgQn2|f$K^!Yw3SUwcs&%zyc8aeDojjEYo~9R; zo?CiTj!M~xxOmR4=mr=8hxSFM?=uRwu2?A2xA-gFGHa(#-&M|7KW|xZsMf`>{vQ9e zVgyE!%#$ye?ZI8kA8ebP7Kl8mJ|VS9%vH*-&K>YE5=UxYFrpx4^A5^VOkg@(jT2{p z{h*3cakG$Mf&dD;<0*jn*B>?cYSl;7UKpRw6<6lHW=~*;tGXtoI=X5Ce%50p$vzD3&1jn7DsADy)w4nzl4 zCASl&qCx{IiipH3eKwfC-2`M)z?5FmG2-l-M9m$+m9HVRj1?KBT|MR z@6`RWI;b@};uIeIAK8HJJa$8MOP5q<;dD(c#6rrErxKYMH>Rk5;2@h@pn)qY~b*>-!O9ZmI6_?SN^-`hO@oE>%Dp5KE+ zc^QW(pApE3e=hlDNk!Cb&7S?t-(k2^|l zw(XX_O18JlFOwTfroh@Azh^fZGZvM?*YnbpdI3wUw5}7NZ*J0jqvRh?e;hE5Ivy!X zK>Rjr4!f;N5$NP@NW0*<9eP$+Q0?L|w|^J37K07cjaZ9>s5FnDNQuxT$(9tE}Ef<@QC_f z^oWe8@4Z^>_-sZ;F}K;3oDbY5AsxldCx$o0TjWR5$>{aa7&zL(DeP9GdD<-RxC8h2V$pj{4?TyGv(@mY2FvUF(X zYpzIB6e+1DtPR`E^p zstGW;{o13%(kX!e9D$F!TIg}{zV<=a8=a!LB0*84>Nx?ylHewD9W79Rri?3SP;kA~ ztZH&%K@jvY5=D-smTIf-NfgU!`)xrQ&F8}FKz5!l@eSAKuvv6hpvR^01L0F83U-}W zi#uIk(z*@(#B{~=-0X&mhqa&Oml0!n+m=uxei0hHx;qA!^yj5-8@8@4p>@1Ue16?* zH&edg-NO@RB+9YpQy>MDB&;sg)bgk?Wym&-a{Ayc&upU+jq}M|u&{U(S^wq*SrqY9 z#q~MfCE{5{adf{^oAXziA7xlKN@*0>)WLv1*D*QA*OCj<78BFgnBg{se_8h0EOh53 zioFG+LZqsSSD+buwl|e<^V8DXpx#E=sdM;8=WM!zi`(>&K>eXvSs-I6vee{t*9Ajw zU&zV;UVWv0{T~^o>pN+HYWfk<0HsU!Spo;kUPA%j&tsVh26W_v>1|{rCoFdp+Pi7w zYesIS5zC*W;)g)sn2#gB=Pdl({+?0d5!Sq(U`% zJ8fY;7@a9k*VK56`pLzO93JP`FO@sQhdzI*!aNg|4%AnQRl$zaj7k!0oT$5+uc_su zv#_vx`2go%(E!}w$(qQk!q$`LH31(J$N9ZH}ko>U?(c!$Qy0%0zwYYsT`* zpGS_Xu4dg+dSE5{ihxF}F+lCcN}=V@4j_*m$F}qDm@WVss{KkI0%vEy{9r!~b?TX5T%^3gcsNpi>1kEmo&ZiY4 zRKti$G8@)!)+mzfrziO>cG%N13#U02c2!dsL!Y0Ri{#3B&K}0o8iPi#kbcrZ9EL0s z*rU3?%-2(Y$Tk|)#xz{fY$z8`sy}6}vY*QEW8KnwR22|ts3B#lMuBOo6E+~dp|FE)awXCc8Qd`Kqr8`qSRX55({8QAZ?2LHKc9M;T*r+?tCx)yMUKu)FrI?LSK5+D3Tbbi z4+~$=Ty|}*g;HE%QweK(Zv7Us#4iKxn^SbBMkv^B{aJ>3eTMW9K>m%lE(2u5mW4ZW zW>=Th>1;h!I2y+(Pagx|N-fymev{Jjcn}sunYU`?$Ma}J%oc-LsapBW6Ish#f^Eud zox2+qsYy9$1W+rDevY3)y|w&G*sUkm>2kr(`4mwsIy;j#5Ecd#ZU1)8A?lfj<|@pN zeHWwp#y1z?N6qdEGQoO7h4zTOzm4RBG5pdYoJ|*KiRY z@jK-Ci_E@oLCta*&4rkQrn>Iec=sDtKm^lu=cvX#-EShP%6fjC-?GcDeMl>rMstND zb8C?UYWe*-J;P(Kg;}_=ldu?B4&b6J_+jbM=*e24eg$deB(vX2ahSU`u2P_kq zG`aWoWUexpPRn0l7Tm7W&u-Iv>MQ-6p6tC02QA?SDcDe07h?%3$~lNkz66aK8n1iR zxeqT4j*Z^&c+~5;OwbX`pT)U26FgbwnV7299q)eKh*|d7ajt4dej@jB^j0=|5(m3< zeOV}#&i`WUg#?5tAKepnKJ2+j9fN7M*CV&s&exsZQ}F(7_qqH}!-zRCZHkhplBQ7`u)Qv_J?>r*m=3=VRn>xNjCR1uXr*UZ(2}$UMoyO|RA+4-hAVM;f{E~*A2NtaY}g=? z;?(1*1UN)c{dlIyl08p$SbT?|s(c!#Zx^I3SDR#aINH=*lCFOv)5d+WqkgQ5*_~NB zlUI85$K^lqaTTQKKVVRtcd1X`pV0h{`s?uE%FMtm`gE#x_r0vnpS#KV`C;ZQ?{~$f z_wa8Rbg_4LtO&KJArZx_kx%7_@Fhn*a0txsO^PxN64kJ0HjNCR;x<1p0&fz4tmTjQ z(gAe5=Ur0}58IF@sHG-h9&`tLyIqwarAJnG<^0n!fK#T2k3C!c(}o+YD#P}{n&o5j zow%mR(GRk5;%^c-9~rWvtA??3yd8$72BO^>TP;~;#_49WOd2yR`MGYPFW8YbF(oOt zcTNl~l|bX6t<{IDHr{oUEPLA&)1x;=YH<$74Z~pMxxAD`D+35Y?}Y`!Afh1GgZt1? zL8x5lYy!n^eds9}F9S9j@w*`Y@dpOhQ4K@oEoUREWF0&x&0{PEPz%O z*E+w9ula`*rdpAqGG35DRhQHKmf2<|q0WZSnC_utRn_zE<<71+;cUq(DdEfG`B87R zIAMl!g-FP+UP8Udr&O8wiO4(HcZ{ep7TMC_V{XfAb@|bd6!7012)<6-=!h&AOB+C7 z+j4!wNHa>0gHy!>Q-;ZOq1Md8<6L`Y`W^?;w(|&4#*Cg1xSEV^m>#)b=&)Ch+6k2< zx7Uw{ge=$$g?qe*qqM^7A#}OE#Z0-EwNWAa_`Q*{D6zU36|r>6zm>%dz4=m0Ai(MI zi26Q1RcW|y{>uUDAIl~GFC|_9)Pud9Nn8!?RsG1^6?g(ihU#;nLG5~M>9MtkliMe= zntTgY2)U0*)f(Mei>>NYFjlj(TmluaD#HNy=`Sh6*QGjLIu<$!ac2%DQP#^Pk~zbc z$Nd{W4}Vmbx(0!C!$ytyOp3Q<^sES!jrosm5xhK#)Sh8BEkOjImax;soGGHs_;1N8{F*|dx zX)nFox3g84DP08EPXwzV#GdhEH>BmE3oF&&PP;l@ z^asJfGMb3P=E)Z&xyVCLR~>w=GuC+PW$w0p{L7da zELh?l40YICns60hiq6!BYv@y+)~jRnez;|cFeyBkp?L0`jeTdPjrN%r>O{D+hUai$ z@1$Dgs+bvws+yUuMvVo=(IYAEpRmg-VyuYeU$r!~Jg&g$(e~zM z{N%&dAA~Bre@kJa2;@m548iWIVtR9urg!t6%Zxt+ykG!SQ_cXqh=1#V?*qF1PAg^5 zFK+2&kCXkqS)PM=D))LEl0t7Pz0W*M*|soa&E*DPikSZUOvndVI*cuUv(vkSDJF*p zx(!k}pbzJ#D)f}^NIkg9DBg*W4`!ZY3=xN-{}%W{+t&k7C^=|5!=_Sf&n-Wu_mB(b zI}0X#FEX9Wf?dwIWJ*qOA!B)MyZgKTSKBWY{wUA?Gz$M8^}YXJ{llo{WdV>v>USfE zl?-_=6Z!l3+dD|2D0>sqlnet8xeqy>JJoA_H1?fo64k%x6@d>lel2`{+kAd{n5{BG zOc(H>|KzEsN8*095BmNcjhXl_=-(TMQS&$-eh$Z`lh2nW`m)BL3yzRUVb@>p3jN0W zx7d1)r9oj1i-`c*<+AGGn=I9wxh?)Wg=4-`<-bRu{7v~;E={R&O17DepDE3lyt-4?#UphPp6l#*6fE+V$T zYInMV+kB=ppr1{*y(s+b=RjJTJv=0dRa#|*GF<}%nCfVCerIQsuU2tV_Sv#}H0cX2 z=ezCC9f<1L1P>`R8q+Bk%|SJ%|AL?I8o#tMqoIG$Kvd-$dXg!y^gJtV9KM|&PMw`q zQ!dlOWB9pYXZG?^VWGf~dh5g(^<)Ew@^}iBzQiA0GU#Yps{vVoAP^}VTO7CSUmQpv z#bYWDW7(api*}yyHo0@JE+OZ?+la8?LHcU^0(zlO7wvk-;OK4GY|5Xen-O@%GrT_D z9nM*8#@gfJ@%6N!c5v1Xo}*m5D_Xn%!+x}b>C=I3&pnaalA`m&kTnNpB$z*N0Ec1i z~qt}*Kd8FI^9?2R?o*B0Ed_XgC>rft?;D=ry6adzy$DUZtSo^zCP38BdEc7I58$r&{LJ`eI&^yckfp z+W2a;$-=8F~D8@b*1mV9nl=23Mmm zB~Ob#-8;!wO2Y*W^H}rt8b$X^Y#X`{K*kd?@cF(cd20O}q8wcGyQ$adpMdeK!=lE~ zeSn{{Z3l}daxrS17z*?EcBVN%F9eipg{v<0w7BsB0Hl20UAh*{h_6fqvZPWL;D11v zQ=sB2b5DLC$k09S#-TyYkhz_Yl0z~k=M!lR!#Z6bLlz<8jSLRH?if&i>m#T7t9z01 zp8)}pG0Xt2bq2^BK$)&SwhwgoP1=g@3?+}<-a0w$Nvg|tq<9cIS^a8p*vJXnWxLF$qA#zrF!v)o(CDXLhXsfKAchk%=jbQ{dKmP*S0{M{v4X$S&ikb?} zGTnudUcQmbX0!!y(OGAEC1i*UG3=ZT008}dRzjZ>6L>n7Wj_> zs?y>ms_uGPEykM5bkmJjt4rk@Z|CLuf?o2zW%)Ie0e+8_5<|=e)+?J5Neuc9B>yp8 zszEWY_a;EqZh2>AV0JIWj#&iE@B$rD#S*_tYvc&S-FkRj@Cb#cRWC>^2MSa2TV9*5 z*indO9E$-9(J8BX_^ydv$gr)Ly(EI7qT;3gKP@2$0BFOABp~JkSTPC>lRN$5h0xEG zcv+b6Fs3Rc}f_{(AZ}4&8%y1TY^3#LlC@7_G3ym!;|Y zz744a6mAi`7KfKE(ei+Na`suAO;WWyG_}6Mz~KGatzB%T&Pa6)oTI!@0?}L8`l3QdoRq~^$qpc!f)adixE@Ij?w2jAU+<-!ES3wAk+H^gP zwIyCa&qmdc$5mLJ6t!gVcVy6huZb=x4?=FQs@%jS=<(-_?3=B%YIxm+Bo>QlS|lJp z;SZmdaQv?Wq-0F^@Me;~65O!TpW8>j8Ih7pLBn#`bn*HG^+XbE%;@@bm#A0oMk$9h z;J5mLDWxEm2-AZ$9d8pu+_NLnVtUk5Wz17dL6SF%Gk#bRA(!SOHF=>GfNNYZYp}Vn zr*V&G%&|Rl@l6=h#&29&#Dr&$U%+3+Uw=1YsM_8QGSLzzBT<&Cid?8&aAN7+6vG1w zSavl(uDqz9y0RP2UX5^VJlKklqz=WU&o`*U1_-Tv&*ztp@dfF6TiAbw&Fz<}N!4{O z@o)555-L2Uz~$Kq))MlcAZ|jU#Z@N2h>Gu>lVT8!#!PW&|1U-fJh;~l%&`F^G)Er@ zmk1E+V09b!8@cqn%l84kr|B0zuD?ZQ%FxQ__5~U6cYwYVfyOsVC}BOl|KR8r@OrYZ zS@6);Xwdz}byQCpHU36MLq;HoRn*yRY1IJpRdDY-PQF&sh?9$Jj9Ed5U6FVYB$V~L znpV5A++shcTb>G2VzT0c;mFTPeh4ZJnM~moMRQ^=wm-yLu#e#fj>iRF@r|P;<-~(Av2c0Yp*nraWb~u33$4T0nlV%h^MWYX_r@Leu;wE@b_rqbSoX7?4 z`@^UaQ~?+OFJC3#xZMVUI74j;7FgDZ0C2Ux#bC8$VNi9?IBtRkG@vuVKq2StV6~Yu z5NfgFNsaXGcaO{E$RAHZXK!hFKEh+uCHni7y9BL2@&-t(*7t6^5E!a=95mP+iU&3p z&{c8a{8h0w5Ad_LiVu2&kHT&5&gPqv;Epdt^&mWIA^E_Z*rK_DEf+Ni@@Pc&XRl=S zA|(jBgTwJZqWKQd292v1Qs7&me|Xa_Ys~a_BFa21a!nGxDKlH&@Ze`>6>e5_yuLvR zad&s_s;Vl83#9Ptk0f`HdbP1SUB6}IYir=Fn4hP~DDerlnuvp*hAgwNxGN3 zhabLmToc*sm$-w+0*}%6cr_%>~@(y)xYfy|Toma#Fzbl9YvL1@dGoyqM zZ}z=xPjB+F-DvrnV4faY{F60QO(%^iw@m|A&!SN*yHd(;#IJ0KvcAUl6a}Q{aECik zy-`6HOT+s!>N?XI#dl)MudC)_%jMoWheR`FUf{p5zM9c0I?$-E;nRYxLzFA|kZF+e z!*yr`nlgsvEG$8Z*rQ~T8KbpR0Oa#^H71hdLPWsZz z=y7d{^yJ9hGF9Xm{TIza-6u#0Lmlv~7AE)fnWH7?Y-hA-c$ncd%lCxm-}zKD1YH4kRPyCsxdzkdA6;+Tc2P?A8+7^w|N9=+#e(u zi_<@%b^0uYKG@kwOu6Q)#KM(4{<<3oMqwy3eEhw3`*h0I@D8-`gqOzXwTt7LTqycU zoLm`&zu~Ue!<6Hm;N6V|C?f?Z+WVy~+ww;DY@{D5`wp>#dF=?}U4`^Va+BYk0|O0{ zrVmf1tV+6~)#EZh9_Mcw8m&J9R>#263T~?c4cC`&)ZAw8HtMhKF$ejt#td9zQv#O; zDD=iV;1;9)d_GBPuCTUOGQ?$iFk{JKv^jkDSa-!}z#M1md@T|{KTzSaWzjg#(3_s% zjTe=dq1D^YBR;y=`(@JG;0Q9_qJUe`z_IQDlnXt4U4x21^H|^ZDe%S}lHL;wT$kp%|RrkDSg&^Ps@MKrMpz=-sFwA;0A(pU%

J8UPrH|x%zcq(@$BLg+doIcZ=_=3rzVb$YX-_ZQs&IB^ zNG!{HY;hv646_P2s61=98NvT0_GnEp%eo6(3y`{zT^lS?aCMM_v*vAxxH#yM=+|v9 zkd=^@?&_q0v;)!eg$o-Pe0Yz6F*ZMdj$(aPadYa)8-fcWrLiI5xgzAgQTH1`wH6dL zi8J*ql;&2#4z}j&nwpZS&^Oji)R8f`PMObU!ah-5t>38s@e?;X-{qxy@kcG!gF*+=>^jRDgCk0+!1bhzYLUUD6RrMQePl=?L%F4; z<@9t-7}917MemIT0OY!L1O*3gtaS$4y0}nwVkzMoCb}44G{H0geC^b2#TK1C?N^z$ zMP-D!RM`MFNV?-NF&0CDVa^D=$_RldM5faD$G*d(-pq)0_(cAMv3=6B(Of$Qj7P(m zvG$5kvTL`N-Eg!8r{`(vY3x`&CFuYg95%<~ca~~=DCzX(rqzZYw`^#hkttUDT3St+ zil7}=KCSV(BT`J=Bus&WpE-#AP$W4ytP!lXiMxys&`f9DH2S>vDhVo2wUF|3UV!t; zXJe=#T5m@yjFx!~MqYfKz1n*H$v8%7x`Y)UxF}x8=OKm$O;iOb44(eN!N4aR#IkfW zpsxZw-7ghav$=zgt zm7%l}U20su-S|mH542%uwjx62fu})2Omn1Q@e#Tnket@dD2Hwi-9B5Gos+OD3s*IF zm8#Qq3;inr-@5g@4Wi}vU$uO|=%~Es{a*ezI3YCH8+U*&IR~+!<6evZN18iKb7x#X z;sNKi`LZb6h`aac6xEW{;!mCzPe^pD|9t#!h0&eeyN#O)yI^^um+Z zXV~5K*h~*x?yOLNL-(IS#%mn|ij;($ey~>rSx!0n4W4#b{oF+&M+xSJ50G1I;)re| z8&BB4{X}~m0uF;D*2N4UT{MHYDK>fJtdlI{i9 z_5uL)ESCe)OOnxIZ&AfPYi${70E)o$&dVPH1MzL2^!4@O5D_<|d;b)(VIn|3b6)&T z6bn-UzT6cuj9nGuTJk&-)ulfY!+Y?Hot!XyiL!~o#jMPbg7lyiZw1>lNBmwR7y|&b zRX)&XxW!V^)jE(rdOxG>ciRYd)?xhkWt4qg{mU!x@YRF+C&Ll8c69UL;A8kLcVTy_ z;0qT2S{@oJ`4B`n7hHE56b%$f3TdM9gG zr}Ixxysc02^)sx2QTP;^&v}cD4zMoAi)+%|V>zEbP+Yg8wpz3gE#N#0VpTqxQCBGr zXDjWDFzGJ{)?7OKyWHBQYE9!T^wf5Z%)A%bSO`me0_dG3P2jH36Le~T+Lso9?WD+z zPxTVV?(WmQ!vj3>6!u*E*U7=O6qW)~^WuGA2y0*WtjkHEx$jQAc4BwqaPiaq&3%A~ zlJWjKs7>Wp@aNsMV0AtO#q==_dfr@hr&7488D5Z583Rnl~!s0e`eJ`!h}co z4kT5wc=>!kXuR+# z2*Cd!8`4)z2l6)lE``>Am7d`?Z{Gq;WI;5!uUF%|;8dL03GZb?l&JnsqOCk9?(pAU z0EobiL)->q?^DR|WmNfh|y|4!ItzxzBOQX0rU_d2rocXjE(2RbJ~ID!g1`c?q4nf(z0 z@=pv30r>wd*$*p)uPwV1W|-@5Wa{^<{aU;G+K5F0FlOvB_P>&A$K z0D3c0FenyA}`J8!cFYL-|JypygbpB=?PoKPUx_mnt9uh zTUuM!j<()_grMYXY+OA&HcDUC!$qE#gHE{w8009a;-Y?D$bnl4-Y!goqN7n;o~Scl zdIdfV_*d#5wiS<7>QH%l@vbS=!Q_=RT93JL^-1!F)@`&2kLb#NAm>6qI~$t?m$=Xi z?im^6jK>9Sr}$XinUWN}gZ;hGiJW!CvvCt{huz(F-#g>FF+~AaB9Flr>=pPiQg-^f zddeq}9sWWL97X~J-a>=)yIM-IYujSaGoGzrk^>X`n)5j%cAx1u6+36V_;xVwlcCbkTYK}G!Ao~{LayIl%V89v8#)cgkm4JgWfYrHk@9H-lt9W zBzxxEFhowG2ecxtcUDk_ot6+V_={|mImks*g%t%+>g(wU)^^*jYffbPvU;4&^Ooj| z3?caJ9sHNd+nRZz2-6AVc6yyS z9M#h_MM*j@z>l69;43bV%Y6mM5p@618?8_+#F(o6blT%T(Wn^m{}_7@u%@1FT^#ji zLlhezB1LJ^rArM8f`Ihikrp~gijo)|f zIp?1Hf9{`$=h> zBz=H%vnEH0V5>xIn`g9+T$bjq+4I`FmxJCrVg78S1&$wV^qxbA2~&D19z3^?5tnX; z-qPg$$82`?DzJd8iiyktwrcx@*5skM98LMHI{VrH?>AlvvI%zLvEIOC3e9|TokBCX zp_jSJiP<4k3=q3eL=ywNcGXRq{K)TY_-K_an^MTt$XP5<8KfK~+EyT9$YB$76qC(I z_k(2~WNJ2MV)|%*y^;;_r@!BQ1o?JEe_Vs0=DdN49S*cwqT6N8+8?q7b)^)Od%~U35kSwA#`--b3oeJ z6E38GlOY# zWLFCe%_2Gv8E}v1)_b0(5^v*nq3B51OmY@4eVwSUlv$F~^ESXSywkAR;vFUmqo`sf zojyyX^Hf4#qIi1Z^~{J%AS)GrD){WpkpyC} zxP>qCH3*_&wK;A-#eWu93Op-sI?uY-Eg3vEH86If|Hq`kPEQR?jtVrEQp#%|>OL2L zO1x!`ye@0hC^04^T53AZ#|Z}8*esBTPHxLJ*jbed}kl{X1=$GQny7V z_pWX~`5-V={K#AZ@gn%)oveL29+=-cN2>b3&$TG2p)%Kd%`F#x=abo{dw;9cBKVF} z9hgl{m@D>gsaW*M#+FgPTT=}qhV}^9S#Xi8v+TQ77k59MC!UK5Nax`l^QA}yWu3n7 zdH7HHy8|~%`E+KBr(D>xSkw+HdNBOUTkwMm-v`*h9_bps^}xy*fMbjh?2O$U93a$5 zC?9|YDb|zb0(OWJR1{6A$sP0{)}%Rr-Y+D+LN$Dbb<``D8vYU(r> z>Zd;>QHYTmEU0 z@VVZe=AAUQlgVVH;fdied8;Nv^W;;W07^DMmfZ(xWCfEY->yX5C0D$ERQF03_lgA* zk#U4zd1AJsEc^-R><;Rh@IbEBhEeA>_oxr-nw0I&8PmGuXS$ROvfY|4UD+WhP9*PM zKZu^*zVJXdbzAuM{sjtSUx_!%DPPJjQ*6E1*y&u-h);HTmvccr?sd_4));(cf-UFy z44xeYVtvg_k=c^r`EK08kz~Y0{)5tp{OGKzoy- zv+|b9oNJV$frZG1*m(wV?@ofK{H@|4)Q$#5mgI` zx#q9{5-VEPafOm1XmveN_(gK{)5mwYj3uzMLj}+J`5W0#CF@Q|!Y3J%`D-l(-!gum zoB_=a>blIjq2KMdEMT=5_@PmEfo4_vmHO+4=f{}3=H4uVX*&!g;xAB4iyI~6`hKxI zMTYpxP<)SNh_-MI{t_1!5kWQT0qiMNJ>|l*gm8Pv#KM%s?cvDHJ` z$NGak!o8w7D1yv1hS^pcj>3z#N(HYwhQ1|X1#bbo ze8Eayb%w8-gk$6{x=mo5b_Ly{ziF-VXcZ-rT}zP38PcOf9)kZsoWj~j$6 z09XKyWuGo)P1C!L|@JE*D41+HY@ktFjOeTg)@CM_@f>XXnoGb?*acQ@nt~ySC9Lj z?=w#NINz}7@>)0Xr=oB-nb+~G8_xMXI&yWlb^7Y{3%A{v+hSagOS@2%-%CedM!<0) z6K;LqJ3cCZNKxZ(O#?a4NOAh^Fh^cuiaK(zwEqu-u#4qEEOZ%;uIb)(DeSKgQPrxT2%^&%w4VMGa%FRiCYVt#n{a2>f@|Mws7fl&LxGOKe=%dHi7PjZNB``-k25Z+Sec~G&Qwk`mmqGie?E$Q z-@`nLT*14Tz0c2jx8-%v)`XPp+#!xV=_wyo=Y`d%>X{y{U4DuuQRPXu{9!h{?qn_b z=X(R5JuPuKa6mTgiOeDI{X~J#px-xsx5!>AXm#b8Xf-NY*;1TJ-rCwxbf0Opl(Czi zE~92gX@mg?3o_l-RbN*DE3@rM9I0eqqNc!%m43%E$D813TtHk)bo1AZvTObL?G6HAm^hLS6bTnxQ{8 zSVsfrH(1kKzd?WAY-)W!oH%b`wZXFpO3420_A)l5c!(iv@A~-Z$j$vsMN61#$nrv^ z#_bP)9@{_L3TQU4wJ^pHFIK5)@IJZP{HeQuz5>%1Ykv&QS6Al}9(_I^i&VAR5f|HvHOaOBGd9RuzBA!jw!iCTL~;oO+nGs{Ovrj8y`hI zp%6?qjvRHiIJ2mS3=Yb4y zNX)DuKx=3SOh7els1>YWE6gT67MNVv0~jyy_`ZRXC!cDYn}>>?jIAQ*7gT9JP{4T4I;Y|raTm&a|wXI||Fo_@3_+bTToo6(kf)<#Wt z-+9@P(qJgzFzmwp@%l;|HtwCe8A)1gB{fx={;$@p9`k$`b?+4*5$tPX)X>US50BvU zJ<)ojH8wM@1?mRasGq6H`SXw)BcTe#DwE+iDZfwK)@||Y5$2D%CHKefhu+;8t`$#S zO^PS%jcw9%+sr}aTvc0ro@*EsXH`W<4RazOWAhKQ{9qgA^r0q?kJnW=uB4xYyf9za z?T`8G6+LYa8dTbrcy+HPbL@I$lk$GT0m_q`Bk_0Kx_f(7FY7m#`sr=PAuP(%(*SPQ*J)Tn4cd^#oxoKJ zY~6@*+)oXBN|%vE`asER{=Cirs#zu8(IndHGz7vPaWZSWcgIpvaTjoAWMq1N=902D z806RNj%D`-_t&v0AH-c%nR?+Q;Rri!)laDrm$AX-rW zhs1BP&~H`JQ!wpO5_xHjC!NkF*>U=gd~$(lQtm17}U za*Re|#x%i1RNdRz8);p%3CY}daiNP~hw*_w(AMryy;QX4LPJo9MyN#(qK>K3T3>>t15^Uv zQC`Z6W9TZ7-H~?(wiPR-af1wxpqPhOA&vq& zNsyI~7}=>-y>5Dk7|3tj6=CCVwC4mfU?7e2ZymgDTU+BSgw-1k-j4hBcFl?3DWv}H79%JESb*OAv+A!?m z@X>K&AoS^qS#Gd?fVlBx&}KHA#Ofgx!Z3C+?ZPQ-%*&f>PlQL(xj!q+tu(w|a?0 z=0MF6wDBGm-QMUSXbfW}8o3dQYy(NDWzo9pzvri}%Uxj+YCSWs5-O?v45L^l zYGw84JW}emA+FtA!rvh(s)_sSvAbf}%M%!Ga6cU^?JCy4UJ(HW7S}J}4w{WP>jXso zWVNOqo0bF*IZc05^vWjWODD2oMA+z+7Gj5^I+PHCZ1g(n=B->9%vkJ5;4Ix&%X=SQ zn}!9<#Mq=NzZ9cte=9Cr!U2-=jrjcP_CN-(n`VJnX*bznDF9Z1!2^ zj_XUI{Iup+pY`z`+7F2unQufV92?aklhxi!i@Nf$Z`$l+$&+YwxgjMznJs_RoAjLl zNETGFup`?3gleHTDn9Z)!g(NJEWGN?xCthL|3$0aOCfa&3y{Iu8jkSVymBZnB4cjB z1obIG!$VSRiqwS5FdE~3AhaBTd#(HUP1BI=@4MD`Z1Is}Amo*!!&@3kq4XwX+#B*A zytE|jMKiAhKJU3X?Lso@i51D%{_b|ADcO{B;Wz4Mbq2ZoXaaRIqUWbSHr9v#=#&T( z3G?@-=R4MTBDNvrz3bHeqOt0zPJ9IhJ|zC>L%|+VDR-`7a)f1M!E0a90~qAJua`gE zx4qEAFr(CJ{U9Q0Fdl~ASsFt*eR%IkPGZLf`c#M8r?{ppuhtifRPiR{2}P&_|CNRb zvwPF#vQ-WrhPYB+8qRj`R&nL6=tY69|SOT3L*VK1478sG?N8^Qmdi}AR z7UI@aoV#y|UrB53*467(-Yqi{QzDMLVBC0f`tx8FTvYPcGIEov5468U)^tL=t_6M9 z2|-KJavXB{GPT4=7>wu__AfR~@)xyslPC?B&VM2Np-BG|q6__qbGfdqJRYvYrWn58 z$#dFI%an$kqV!)oBpeKfbX;?q0j-Es?CQ1{Whoe^HwCy&KP*e`A1s^Aumcvwm{|xD z==e#QH%d+n>zK)kE_eaN6yB-q0Iig_1c~3=Jf-X2I%#tt3%Gq{tKnM7z-~*JWazfm zq0n1N;ohe|CF7^W%B-B?e9 zuBzm*J4+N4=~}g$z<|>O6Kjr8DXrqx(U31v?8;xnn0aH%%%9AdXIXI-JXZ(Zi}!)g zbf^l3MMsZ8Nui5o_3LT`@aX9p#x<^m^yxGY)^oYWiom8UCBT`x6fNPWZ7%x`?m-kO zE%89N$_zD8_ZHZ*>m4+0XE}}j*gRfX0279KWxS@Uu6e^Mo=;S^q8E884Jo;PcTIP} z0UV^aJ2bmPotBBo9^i2#->aMK#jVN5TB$1(9+flGklHUFTeT~^;NQ$2N+AtY94LG( zZ!kXXR?w3qy_0<3TKK8-ql`X8y&s=H#x%AaHbZ#X%_cLkWEMRzxH_44mp1Ta>>lQ7 z+Gvd*pPBFL3V7m{P6H0{ly413Oq#)4R1q)})gON#XY+Rx)mI5!WsghLSk0=gJ~hj0 z5+?5lf}XC!wm-5dV@_#O^0t$&{ml3-3CTh43eU9RnFFJQO`EX8%F{1I?&NHD+H>eN^#vQl<(}l;Z!TgB5t(lk3 zz1Z9TiHHZ*W>C9n*Kz8UvDh!qCz0w1L)RdeaRjghN`MoA8Te734?1uj4P}!j*`C17 zw|^uHE=jSghDkJ-EFAX%V;Lz#)~X9Tm%M%26sBIyz1^b~iAUOkPB5pCJfk-VEIkFnU{hSQSi^9h&L*FxxU4sDtF@Z*<-vP4%mbV%ES zZy4bzPBe}`+?dZ*4j zo;hb`QfSYwV0VNQ8H$kdqu02lcAah4gvH)JY())Oo|a0&K4zABM-kJDoU$EqbCT7Z zx`fi@&CFFv^q0dJW{ghCET88OPeis(2x&aSQ0vNlmP4%x=`qUM^C6x;qvW?)&Ttjz zpJ|bY!XN0L9MkAFD`cu*^z~*GTMG<}^=R?)$F2(}+}kd&i*Z!?X+G9^N1^Giky{~V zm^DFbU{@hZU~AUsRj-k@$%@A-u1&fk<$0a)Q+bzrG5N#s%<+Vzv1+J(RmyVK6zfCy zxNB?jcTDpWixByI5Nm`%moqWbQsPc{dq9HtX_3DL-`XT{q5jXITn0xte_Ir_ks zdb@#5f4&%PBU@VbH;ghpc`%wa!|y1$^%VIUBS&8Av^5qV6s*i5_c5TdHI1@UB~hp-A?;xv2Z`N!#`bY%*F(wA?q_PgYy6LnT4G zA&elhIYMMgLEdnK6>xS26zMb}(Y=iKxyA7@Ukf&c?eTG%QwveS&-@4b^ON|#eyKXq zusw}RuUespsb628<^yvuQ+$7*F%5oFY!$_*Z#AJp$&2H2dR{HNYHs0{#sn{nBpR}O z&4!s|J05@#TgU-icV_lQN9T(~!mS2R#QC+Ef}rQ-lOot>HA&uyR_d^U(;s=GCxJ|n zswz#5k00!IJ26&5-~~BByj65>EBF$pq(0LNP+2#ffbk72nIn3#6mqguFTvMQ$V5`6 zXNB_4{WkjOF<2c1@H)VZQ z`s|Ub*zPr(5a}A>ZyAgG77^ztCJvuHp&-BFOUQ*}?tVACaL~^N*y?F0Nd1duD2TgMyNu^aq%SN#maU`0VzXhy3^H zxwFGX?bee4%l;V6j}9k;yxkr%Mx_`2^|S7ag7e6;Y=9ZcDZ0Ji>VKtKH7o6S+XJ zAXWRXw_D#QKAji+wSL%Y87Y+JOQ4WD=l#d|ALPn8ii=Db`hUHkE%@_@%vtmP&{AFc z+suCeW&-G*-rd)fLIs&-HkZ#X+gM)x;r0aF@@?+td=mdL7vM5LMVAJRD4gZ{celzt zxpJ1C<(^2f-OEA~z?_RWt$Ed@c38bxduu1*)V2S*mS5?}3}u_ooa8d41FaSppx<2{ zZ9FT(_Z(eJHwSI_ix01DoQMPUBR-w2ld_P6W$qvk{eiDXedyP2=0Z}ke_!|HtK+}m zo&k>+g)`GI>_ZFT37Mp2$QQfrNUU zHP2eb5`8fwDwxy1%OyIAZ>1z6r#hm**RD2|v!N!CLQSMHYL8 zpJ1i(Ye2q5ng+jf^afI{Wj;#}@@#omoX3Wo8%qA61xDONnqd2rVW!R642GsRMJ{$? zTPl2s$L=)@PGSN;R?V2D9*68C8N#r+jD!(C&$-v?7a5NP>$@E@s&>+z{i|UaZ+zed zJn2^yu08VUIlE<|6qU+>TRjQhAD)qj9C4m1!}YzAfYkdRTkHGW5k4V`oqsmi2Lh7D zSiA)$-tJRo)pn&WdERxmE#X->IC^l=gMMwm@MDr>8Vdh8==bdIx?`8#ckl^gN5qoQ zlt$H3-~O0U>w2;(P(&t6)jc0s3FfB^UtF&HIo9#jp&pM&kom-#%qT2--c{W?+BuM> zpxE5{kKy!W>dkh-bbA@gSyfH1{Z}apGX2wj*GApP{9jUZ<97wKSIKum%1 zsoGs24>0=vi{Jq=uTe;U8;9O58BO|1n5s17b!8mn1#gVY_Mw*^Ba0jR_E@W2{Nd62 z%k0*(sm8$eWfUv|f6fa{{IsgDSyP)eyZCssI;{dxJD8T&K$)2uziT5~<)3eC_DnD#=x@V`;DqToJCgx1L{)$tPQ3R?#H$Ujq=`}w+I1U_ zEB(&DlNrwmyt@Zvj}i9p0{_;sw8htN2!cUU#hipAlCbIn^qe{|eR04wp{Xs!J@sIA7sC4zy4MF%Uf*+|hD;4^ zj+ms?Bu#whsWHX18SO358-_pc~f z@RHQuf!k&&yRtqy7*W}{V4zu{bN1^X(~Y zgooY98n1;f{zM-F~L9S?={E$UU*XnW*#5%x>aZRORj8wg%-(MI;-8@-vIU;=gz@ zqM!qza)I0cJj{HV2TQ&6BS1HFTBqAp7!EVlb_p%N@tSrvQW_Lys&eTa+RUGLGf_OH z)l%EVNa#xQn^rqB6oB+U`<=+`4Hy72P?`>N(UQ=zCrZC_XX4hC`yamSyK}zmRxyI$ z1{~$SHR`OEAj>9uU&(Cdo{f$=c)*+FLYK@H?#$iMqMX`uukAvzBKlGllkS&{lQ6vg zwlk%@&i?dWi4~@H>hv{qg|=M|HK_w<4Opy7830ccdk?EzzOO#6-}TyZ;P~Ty_ml6u zZr^mQ$+`Hd@ZItJiTy#N`#@^<;-1}t&yAkRcAYv3j2Auj&;N=zXK5EAC;TpK=>heNOCnl84wj6IA--JWed_d(vT2DIqec^bsjkU%%im{C2YPOwo>gDG z7btVG=~H;l)T{c&KjAF_^u6Q$n^&WPMW(zUYdx-)90^{fRmu< zxsJb@1+ZJdC1BeCPC4o43!k%#MX(Qo<1Z3;JpOM5^Rr!=Q4YAr*!fbb`TdgnawNhG2` zN*8|J0T>vE=!h;xB1R0+QaOOD8T(LmY!=`9SVF=`h|1_r8JC2t*46FLltu0cm02y- zz=x0`=OgaMlQKtc?c6H`pMgMyY1;rxko2u9lbZt#yV9a8Rgj*7V!yt149@1K9Ak|{xOue^?q3w zs;sPBdG`hyWy3WwW`X{xK*MFMYulTk7hoDh)vgIp(13KjIDu&P;NxJvGO)e}r z#yUcNJJ!IxfSoEC8gb+Q$%rb+v1({Ss?xVc|c);7BATMR^JzH(~74J)j80SN_?yE_R+sAGdg zH7*9%66~DYb-bt6) zTEr$bJd|o(10Kh)W{iygMTkKr(R4azsm=u9>@WD)-$NVA+2Q{LeSb0Ke@D#?U0p`m z9ahQ*(@&`C7+#jPr&ZEV^{bp1VgCZlySnCf!3CofJz6mdX4+Hx3MaLMvy#7;4s_`O znCsOD!G6U9uYJX_#Ndr6)~P2%E?*d^;;YGqe1jg5=qmd++vt z;HQ7PBfo}G3TMg=07LHb0ANr0he9s>`vA*X>i^xPGoy>Mfkww?P>+HIY=cGLuEo$h zd$@sINE<}ni?K#r)Byhf4gm_e$bYXIj4uP#_;ugdm?3`TSFq5x)C|H&Yno|iq6yNzm0AMR; zJ_oRV?UyyMiOkVl0i@?m?=snrPEL4$(~XHY3QFWpDh5nv&5DT*ZW|3p@?OJ~oFiWD z85=W*^;-OOtHxnO5i;xhakAPWhgB)+Wo!Txib7&|jA>gX%zV!>%E?k*(t+&z;7`pW z8N}74m}qJ9)1)Ae`T5nQAe)+ohU1Y!YRUFvQJ9f<2*>^+Kfy`Da3h&oXRQ9Oj$Pg}0%YM~E}a!ZHTbDXrz&P$JEP2dO@%V-^Q_z2K8(Ae<5= z3*$2L1<$&H3=Ue3;QG$r;Gv$lwaBP-4#_IV6C;kZ{6S{2>F~z{*>~@ros)!-ntKxX zc$5L=surN|(-RQ-rIQYz3@M2Evo`kO_&PmdHr+GF&OZ>72_~${v$HFogN*4|^?B4C z--G#ND0-1~ziiJ|9w&}C%?YfLGN1F0XurT4=iF!s94_h4(aYK5x{lwmcwt`in5!b@ zIr#cW)xqWI(dC*|jL15M`LR$@VX%`lU~K}kWMBdV+OT;5b$(*Xz}YlMpNETAOQEmN zn15yS4m{<15dcDu9X6q-;P=85`H!kB5<) zq%TpOe%)JFM|pOCjFvPbMjE0eT6NlwOMf>g6!T}a!2Mdx(Nh=jU)WGZA_`EGW2cQQ zLo=R$lup>K{EsR$K56<7UumFrMo8CQ&{TLg$C4{RodPB;nZ&OJSd{U(SSlHdmVzJq z0VPehZ%94(m?Uwgz;=YA@lkzM36_%^ogOg^FNt`poT8t*pqv_8N}`k(QAzrPqu|!FUd3!H;!CPJoEPS#dMy+x65^F27lVd>9ZR_ab!>xB=ctLwQuplxcJ%2wpD)N_n0M%<z@hXRfhmSPj`}Mnkt=Zx= z8t)g~=>J$OzdIKjx4)ZJ+&yL@w72oTPSgiV4?XQ>btP<90n3(Wabn8aN1RP-!&!(| zdCJ;#T^OCY{Xsa1U{(}E8|m#jpwKc7N!Q0;ANsW|x>0*H_m1cOtYqG7n2Z10Tu{a- zeeuKSc;zGv*w4myon8i#hzvO8&Mg76gN_dM;zYN#jgOl#WveG&?x3=c+`aKN+JVYV zX0;gH!Zw_-M&sHt??|p7kF8o`DnIm9*N*tHk9!`rTAc=J7A08kDo!(b(!kG2FZq-R zYlNL5O`}+aJ*j{`S>$ArQWNn8BUA_;@TttoMsL`_9Q2a4mDOmKfw;_;yPjT|kALHi zY#>c_K>J-~u7c0`Bwpo84%|W@D@`E0@sZfR{?VgZqt%LsM$NAZ2qc^+^tVr?*p0Uu z{VFv26)Jo+J{aQU@eIF)s#SeJrc zMZ=4d~oJ=_@;D0F0o@npJ{NFm(<-C^Lsfrw@X7qllT7p zKQCUq;F1n#y)QE@_s+Iul(QsqW+&>@ZQLIErl_^moY34u=MB2KZdCIvzeFN!r;R-2 zeo@!KgaJ1fKf1Pnm zz0??$V2cS`Ya5T;!>*B(u~Xu6lx1UrW=3EKyOpZhLzn|GhKy6lgB4E`R);5^_6-OE zt&Oob12#e?hu8f4W)$xKUbi z*P`IMpOBmOrDx#h2k z)b5x1iSQX+-yzc$qNQ@df;%|s+;=n49xuDw0Qt#tuNoq%39+dOFt2$%{OIDrTHz!+ zCH99v?`Y*3==f+X@Z$c(n%3ScHHOj?r9$)}l2s0Wy(YP3-#y3dq5?m=W%5PAn{l~K zYj@G_(X6P7qbJ^sr%mQ&!!_SqzeOxQOjKPGo+0LbiW|HNOj*lh#R{-@+ zBAO3XZuOV^t?J@|rTf7E237yYTE{m<#39>EDiG2XnfvXfi~#|3V+7zH{JdVJmko|Q zAh^A1I_KLOUACAfxY%{nt6V|@KxRHBD)UdRC4c@{>iDY0bLXw@CQif2ed!y172Rwb zEwR6F4dnnL>7+oPRmjKp6n*A*#xZSaAELbQgr(5%uq6vHIr z+6PyJa;zkXl`5>XD5XjU`xcO8qn zo}(*O9`lF}TB6f`>~M6fY`mq#x$g-No^%@@xfCWuq+s{|Yac&##0(iL52MEn*4}Yh*Lcn7md*-kVqT>rxz64Y z!8pkPCpdV*|rZ07wk7{Qa35)m!8m(t|@2B|aX| zM|}RQHE2Gw_q|#>Nj$Uwg-tVitY zRU)2)E7x6xk(1PD1xGP>)5p60vkwG>^z)o`7|>4qYl2b-`<>W^3W?&WM^jUf zvS4cn*vzy)Bu7*bbRhQ3wcy<`wrtrEQ=fcaX1DNB!iGws`On^c?>PW0`A|inJLeY= zx2{vEVPMKi$j?K$pWBT5t^-i%E}Qv;7WP_5y0)c}o2c_%%#ZdJ9&T=xt5>gvg@tLq zJq!@_tABUC*RM#!Fy#TG^B}xK#I_$BM-9V#;K@{R(s790vx#){gLqtTnY3-7Qbuar zN6dyJ3XKXlMI7zi%w!0~Gh!!b-ZBTL!I!bwXuiFdF!K^4)32>0)mSgbjg=@?X!wiI z9~!nBq@wR6q{XqN&D3h9Wf;ANPxpCq(cP1%#pzr`ZN~UCTWJXp@%Xr)h0(?rH@aea zCZ@sOsRNw}6OH`?iAe!vo#{#56^41A<~o$LW{ArbZ9@ zaIMZUie4FcwYvc}HF2X;y_Z#EV;6Ep8wk!#O%1azdLFxXKd8xgP_THLMiinIUR_P^ zRx_H3mKR0DA$vw$vhQ~UtVgwxk7@NqIXyE_ZzS)V=;M6!3!08nBWIkY?4BCm0dGv1 z@F*wC7G{|{iWufSKlN5>Uv|80Xh?>zYY{GJ`_zQcB6Du&AiA%V6gFgttBp~E9coic z)#OkEjSFwZ_00FIYWo12Ef;7j=sXDa90B5LeVNx7IQX>Pkx_87>=^#j%2#|%q?`=c zhJj^Q)4zaKQs_sn{jz(`9M^vhI>ur9*Z}YMALe`({~5D_@=LW$Tu!$HI(Xy|{Pen( zU5;#BSeunZBQL_S9cr^j_?IsV1{q%A8)N#$t`QVj{KT`G2I zIshi{9py^{!9Y<*)I>_uUkK>&_+Il(s8L&6TmDW0x1P$-ihx9a6`yn1fcKS=o_=8w zY>|D7$YIb-K+0te^iaKx{@-xJtF6OQcA(3=NTd?skySzs{-*W>#4Bhnep5&GkM zQ|!tpNeCMI`5HT_kqa}u5{}C=sKqwKZ&8k}WjQEuEH42;C>7DbuWJ|5zEDc^p%*r6d?eXUgIzfmX= z;U7gBPn0C@ud%mtY9jis=~V5sHlK0x6pNJq$(vYlwkJ}F_}x4?*d)Vf^XIW=En_HhAy`+j|iI2WlJ-p^D( z1Bx(s7+(E9IgsY#v(I=p)v{dYAU|0ck}y9%pSm3WpWK8Q+M(j9pOxo$m&G00nvsuY zvpTOlj+<-)eApD*O=dWhxyd#VGs!)a+LFAn2)aSy4#5iJYuqBPz}hv|tVMD!QLI&- zNaNjghd>E0Sak?K@VC}0ZnJI%d&FO#aR4M}JTT@$=Fa@9CX4r@GdPU%{3K8=nnp8? zpp`Az5J5pf+(dB-)7yGDw?Wg41N4CAV5n`J4aL2j^Ru{1?-vr@-u$j+(!sR-oZst7 zW_3pqw%&e0_y0R7pb{JF;?`l$hW-6T6>cs%ZrcKI0_Vrr+JB#5)U;pD#YqE}@kcQ= z&@FOh+dWY#7Wekz0E<-oI_KkECRqzDEiILoFEw>_;{e-LJk);ut|3|#`eU-bq|5r2B_V0>S0P~t{YPSHLrap48 zAzOlA^;u0cgFQYzWxseaUNh|&Qlz%>0j`ID7l{EbxV`QwFJmJc`(@qHzE33h@>&|d z#=l*VjiaJ?&pibU^Kg{e2^jeSLNw$oJNji@Qlbbut^~HdcxuLYHb5$S9}sUXup<7E zSG#n5G&5>RyC>sBjkO7uYi-aHZ~EAf^~YtbMIFr>W4BIOvy+t|fJ1$$wD8wL{5c9i zovQP*T%f2+zHcije3c?7m>KXp&q5t?vy1;NlK6iOcr0qjP8c1{n!y|iv5b>VC)8$u z7xq1q0_B_8m`*7QbGmva#z8B#y#tw|6L2FpMf;v_?2f4HDs<^g?ym*TYS#@8nW5&d z9MR^v6L%7NlAUcYo@HU7v+0Fi!elgRgC8vrCJL@C;_)yYKWBh**jtBJ#-ENtUYh6w z@q*qzvLO^f%|8~TLOxQb4-0^pbPi8LeJ(sx-Z?lh08S^X7CuFhZgre_*MQNXzLXg1 zh7KZKSXx_K6Ujgz5XT4pFM5B7SN(5Sbw&ziu+SN)w&XIL``KsXaK>v!S@4Tr84mU! ze~jvC|4_Fl+T7>B*1YbPBWdeNOY2-f{@T3}SGj}}Cle*t@(swx<@Ty(rrINEiQ1A@ zCg-l@LJPaGkqK!)_XJr!899qbxVx7ZH3JLMwfBxx^LNrGs>}q$l5$%NZX1azd!iL_ zDWy6ht-kL0YlbyM=Y*5F&yv!%M<2M1%5oIG%=-p9M;+VNBGbQd0*$&!HOuzovE0gF z%2cT&WHU85SoK?vly8r#cM_iTaa>EZ$zeA%jzTE=4YPN^iJ{6As2}~6c;+$ydbeCZ zWbai~mgAIN{=Nd{%2VOZ@~4w;J_8Q#>(a|b(B0R#A-w8GVv&x+r&;_7d{UGV0B;4j zF3+pt!`$y3rgd^gH!To6Lov7c9}NGlZ69szxKiUE5G$7c=_{L>lenUO`)?Q%W0v)H z_l@0&Vqw&OIJx?h6&fF3>Du?+@+;B*#=-yei;wj3p*q1y^m!T+V}6$tVQke1DODmL z+loJpH8+CrZyc?j_}Pyw{dCR%PYDg|oH6Nh?HonD3#_A+KF1ZZL`~rWYt=BB{5Fk9 z&5yLK1h0iR$5w;3Bi4s*m~F?gfWk>>K|LvFbPK@gCr_;L)gZ{t<^j;eWoeMs#wI?8 z&YXx$!Fh}dK+wW9{9x-dThW#|h5JAK()^tPLut8aH1DPlj5JeQEsOEh61q+3PGU(j z{<3qw6H@Ojzy zCv7((s}D!uV*aW6r%%j7d58a})2ST$q3jzAm+i*_Z7sKtN9(90xbIt)t()7#@oH-r zXjVrRt&WC^rq$R?msBs9SXh)^&W}J1d+XHr^~ynoUGm!{*^1gsqU{fy0L%OaEN-u} zU9cx7m-QeG3_gl2OCQFR`Z;VLe687;(&VET7v^(099~I{;`12ll0=ncBp@u+e7Wi@Z5bm2Z8BO8U4ZmtH8DK6u6$c%We>)1t2! zLN3HD;c31)+s~4f1@zP#Cb3{8E0JcDOKk3rhR;}@yhX#z04J=|@t3u&_GCc*$B|}h z!0{VGx5Z;u5c84O@O>v6VXe#(T8zom1_$OmONrG}uF$fb2{g7ZMoFGcIdF+d-{aK6 zq00m+ZC;bJ@6eWNn=E3NSE4)siBZvAD{&+T6k)8sdb>}K!O4DKA7p?Hj?5j5kB!mY2>cpwJ0J>#~ z6l91@)mD+YGRhbP0mCQ+0*Oo&Ev+ah2!R9=kTC>^5T-CirC}aK2ve9LOd&xC5JDum zC*Jn!y}hg7?fTYt^JA}-b8>d}**j~$&+|Udn^TZ3TK}v`&fgE@L&}thrWX}Pb`JHA z3nA3~Xmw^TvR|q6J|8t$eyAgqJLw2TAnla%6?`oUzOed4OqmrGkFPbXQz+I3LpaCk z*4w(O00%XO6f8GpIP%GT2Ic@2G;x}Es957_6vq=?y|2TVsj$1JxYeo=BRK3< zmdgiapTX@&m1NJ1;B5&b<;zY%`eLE3Ml?b8h;~$h#UQ&#{gE=*pod)?r_15+b61xd zwjQHHkymrPHV0_d6f~$wL}SB$r?EWBq)r-)#Dsc@mi_$J-{qN_EqffIZ=7wo_}a8G zp10t*BOij8IMOgAcV4-HUjF0p@zBR3UF**)Z#kGlqR!mNT(vVj;G=KDG2s!+#?BSp z>=e8RbyT;Zgy6E_u=-j1GHm-1_zCa5%27tL`L4-_Zry|#1}>>VxSp|>UhP!EPZX!Nh{tF5yo=0e!@G>RbaMRa!S(oKe5RlSNk}mVMSCmzYo&TQ+ zZ~F1ru;=RH&gw=i`4$E8_t&~y`v0Sk=xqcGfa_a>W%dK}BW@5s)eR1oKA|J?MxquE z*lU4GHLF*9p;9I_;Wm~A^*{I?tiNz_Kl7j%{vYHJNS$LhdwNz1dv}s)K69pDJOFz7 z7DN^K3cx>q66OJ84RGuakHIGfv^&WXZr2z#h;wYX6Sv70e0S`nsv;0yLqUb51y^O} z7D_~JKQXbze+kskzW-aG#^>e#H>mM!97?Y1Coi&JM4g@S^=|Vyz!IQmXAe~WDy0DF!tknf(Xs%s(M2>lIywN!w8}G408lQ9_rLuB zE4rO^fO@Drp>~Z>Wp2&#AgoUt6$JaK+xr`0yuX11xCT)U5p^hjS4|2KGB^O1X}`}N z1@GRCx|hDvc%`Rk!Xd8VV8=qfyWgdKptJ8n05*%04*G;O2_N>{sQk9 z_#fCn1TUt_6MmQWOF}}=QbB!_1=kC|i+_%+UDb&!n-6w$Y#yUL=@HVy>PIwB7HL_U z(Gp<$pe;;0P~ZaeOpK*{Le6 zy$-?g(tq~>gyMmsH!mU}Lc|P4#%Z}hP_fSgMxSPvt( zIs#9CD*32oW7^ym;$X!2@FGibnqRiK^w@d5%tDh{z+lQl-xxiu;C9^TgYmpM20-~S zdOWht{tVUy1=stl>@^wD(tnd8n&qz~kTwNub4_oy5|v5?cOCmJEu1ihK^G6dtNwa? zU}(d0eN{d&P02k)NgEsWCsLWx^pbc)oAacgT~^}-dpo?X8rMz^U#g) zub!TO^sPH5K%oI$~#gPl+}K0Rf~q&;?Qm77EZ^#$x}** zTVbXgzvei*W%s0;`7GBx#nFe=xKBKC-9pv@(4R38X{ms5^^SSG6LHLDfbQOxP%pdQ zqjgd=j9DwS^Tw(YNE1L1roHO@PFxa4EG#^KR!;6bkO~E)W7@*h9&sgRp22PZFlQd!qF={IB6Cxmj6!qzPtoheJ~V<) zQR!?=^6^co@ou{mWW{JQJYscQ;ldqnqhi3(0Qk#I8dGz9lsiHqtI$P!>L^ zcJ%pynT@t@hj=b&-F)hQTKc&fQ1wspZW$cEr*Uu8Je45BvyxTiJwbU`)JDVe|;XVbV`1d+=Mo0Y2 zClVdTn+=J@4jqCWbq4!1^(tg_zb~(?Ydd%f`0AMY)(*3GFSbePvMQuw#%+tTSLrxb zCJ0T->gfzS$J+SRLvSqh-r=3_=_QO;d)mGe8gpSbTJojmmI_y#KNT>1`{S2;rrg*3 z9#}m9e3)Wlyk8`(pCP*0nIhL9AXo3!JM~43FmPo&r=(~}KPH+xrEmds`qUwXqerhq zyl@vcz!x8xNI#uz=W~4RU4(B^mY$qPA^u_FrLUVn&8#A**CWrzAta>|C-Ho}^~1Se zg}bdp3MYexgAU+N{~?5Jt8J%ZvGTd?Zv)~{fp+(A>kS^ zwT78sTqG_w+X<9Pd@1H+C1sY>6D9CV*&U;twlcMQ=xS4zaG%)gRNsM4)X~qf_I=P6 z_4oGFzrTqQ8D{_8%_&h9=a1$U7%C9bR*TbB2`YeGo_b_Y2cx_l_=w+IanH5`Vq$Lb zGl8O7l!sS<8~js)E<{os-2rpig(hUWx~B>7*UVKn6B^E9t7S;zKo>vVRx<|j4#k%* zfxDf=#D-q0-BRIgUqOTBm4UNvQc64(B>L2+H}|BJ@CVJ+BrXSjCg#@k)~z?r2kj;m zGXA;P>pefc3BDP67kT>~0>BnBQhS8v_P55ljiu?D%#Dp(s zpHeg>EiuoBITI#?5v~_5me1&f#m%>}D>1a`mHG}oXU$Zjx>arH$iT2N5g7anwOdLh ze0be-d&^d|aGuhBP)icT1*axg7v_)4<9IWUN$Nj4^c|?{c49`waHiN(e9xRZF2B4RLkE7fub_D7 z!m&In=om32ah2#lsKTOCh3^$13LbP!Fqkk!(R zZ5dBv!b`g#IKh?15JpxfG4fK5;XvN_CSe?MZ|TvZ&ery*VKA`*YS%gH5Z%sEtt`BI zzxn3^jfi!Z#qn$hPy^$mgy7=~vpQj)?^EyLm(t|OISg-Ba?e?+`#5+yRdyuzmeO3^ zeAI>dAUHQL-~4`X!%{8YaZrljGGBdcV0M;6Y-=5>JtxdS;UN^ASd~%LM2iJ`+sK0G zjXv@uJ&=)9rajy0>Oz{0_F^nTR9*EOeFlgM{W4-PU1}0`Fj{uSnpW>odj)a4)0Wja zX9N8b`pFb-wUUkVRCu+3Kc;@VW&JKnZn0ljAK@`D1NP|eB5&pl(&$k%{)B2#hxy4B z43}1Ak`%Jg4{ku(SIO$EqECzj5sqea-j_)adfzk2vnbL(JkpDDQ#9&KwLpCu7(ZvrD)1?r50@ zoL%M~K`X^6Mg#jrhT1Kv?Ju^sKhzjBSl?LNe4jTQh1vyUX&c!rLm&{}0RD0*-R|S) z#!zf|$h1D*$w0kpzi%~UBdT*TGPwEqPPygE4vA~PpL=bv6MV0y`)JGJL@8rwQ?mqa zS{7i@Frz@sFeTseyT>*a3gY`y+QCtAC3e+|;X{ph8E%PEkrP&{%T8i*YqLbKlBR4w znt*VoRs|@~8XSW%nwLqlD~4@JRth-=1M-8V7aKiI0aGanO&-)9^jWHH`{_++Mm4P% zmek+CiwKYk^@!4%p(;6lgqtveQ|%ol&T>w6JYeKyG}`+&v=qX3OiF<;^XlSTw=!pH z%A1sEjc`sRx4=5y3p(t@5AmUxQw6~DX3B|cYn9uoDW(dkgL-g8DCVmEjKfAF_Zf!M z_q8BR9+&=nLSOrgJ#Lj2ayh_^-8h{?pnqdE9QGZ|cYO1iTo^+h_Raj{9_+)~xthm} ztFiPY-8tRrln%z@pi5r3>GtCZ4c@_U=veU^vaJSp+vldaXeBQP0{e#?IcO4$DC-&K zwI66&!;WY{QyGgB!iPmmbxRrNi9r@NRrr9NBAzx7gPFcfpi`u^3#J9KwRc)%!_4AX z^kSM<+&7xMndw@Zp=wm5&o!ZO@O-pt@sRhNB+i7%GQ^_SMkM>f=ZC7s%kC#!o~m%Z zT+ItDQ!ioAk^QN%$kC_SSJ^xR(2)0)Y{Y^@AKxMuTq-=i%NX0qhic7 zna&qdf`y8KjGv}lw;WV)v2xn-r1=iKWKH4yU6bpg4JqRni&wT0F@W7ymVnBoM0=Ho0CWcTNeM$p@L7}kxYuB-1fx!K(Z9R)$`#^-Wj)F-X=1KGRNnJrk z)Uiw##FMak)dA&B#>_d!e2*S(7&hLTffBwrIcBJ@Ob4aSH*N(S-@yUuZ!Eo{)rAsqnlrE3`hd5; zsFYdT9rqNEhQVE!&MK*}R(Of}(zyKENCtw(Atf@(RU-6jb<}*O&w2NZqs~~B zR@@dgJ<+>2*rRoKM~jNwCH5{v^P_g`(;D*%XO+DE*Yoc^8nw<@N}f!&PL#owge^QL z5o^yTX25K&36o0~QHm`GdVWq1yhAuxH#@XHpzU3hu1y7Eo*#_%B=CAX-=gH_E49DL z&$p#7S6NOtM{~~}U{{xtE7>7;&P5BW%(l1n$$})9df3!-MG@)sPd@uk3K6RgnU z9PRDp8fp7e^xVV#Ng= z!J#06bm#Cf1lgZ$XmtUl5xGsW9SpU${S-@00~>XYxqvUXOw^pBhb^XGL78_ZLq2{_ z+ZYS{z>+T87#a=Q*)7f8e(5(>3PVQUxnVK-dSjPZOmxasva_pVa~D=$*A%5VVO% p25Q~@8nyo=od45_O9R5s&jr?>XFu%30NsiiU$gkW^s3u~{{*<0FXI3J literal 0 HcmV?d00001 diff --git a/images/gerrit-review-4-review-mail-notify.png b/images/gerrit-review-4-review-mail-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..f0cf6f95577e61f157f905c2738793a08715eeb4 GIT binary patch literal 45271 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-review-5-review-verify-view.png b/images/gerrit-review-5-review-verify-view.png new file mode 100644 index 0000000000000000000000000000000000000000..df80da6155849b02226b79ae4da58e4e531161c7 GIT binary patch literal 42003 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 z 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-review-6-review-verify-failed.png b/images/gerrit-review-6-review-verify-failed.png new file mode 100644 index 0000000000000000000000000000000000000000..783d6327383c17ebf7fffe51fbdc94c3c70135be GIT binary patch literal 38910 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

lYS!SWp+whxrXsN`_CwCO2UHYy3;ooC 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�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 I@%KCb1pFN{cK`qY literal 0 HcmV?d00001 diff --git a/images/gerrit-review-7-review-mail-notify-failed.png b/images/gerrit-review-7-review-mail-notify-failed.png new file mode 100644 index 0000000000000000000000000000000000000000..890918675c3f66603bff86ab9e96cff756d673a9 GIT binary patch literal 46286 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 literal 0 HcmV?d00001 diff --git a/images/gerrit-review-8-2-review-new-patchset-mail-notify.png b/images/gerrit-review-8-2-review-new-patchset-mail-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..9d11f9ff8253e2c8f4b9d537182a0017116981ff GIT binary patch literal 54799 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 z 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 U|KNxK`v5XCzI~(S+Wp7>1p!<4wg3PC literal 0 HcmV?d00001 diff --git a/images/gerrit-review-9-review-patchset-merged.png b/images/gerrit-review-9-review-patchset-merged.png new file mode 100644 index 0000000000000000000000000000000000000000..0dfc2ba3f21a3f784aeedc71567c74df98b02556 GIT binary patch literal 34800 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

-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 Dvl$jE literal 0 HcmV?d00001 diff --git a/images/git-checkout.png b/images/git-checkout.png new file mode 100644 index 0000000000000000000000000000000000000000..9836aa2b677c08a7849f3ef39efa7961910be1e1 GIT binary patch literal 48672 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 P!0UyC95PQ#&*%RG2i@d{ literal 0 HcmV?d00001 diff --git a/images/git-clone-1.png b/images/git-clone-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8f88ffa2d8e03a624124364b6898dfadc152bcb1 GIT binary patch literal 21262 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 literal 0 HcmV?d00001 diff --git a/images/git-clone-2.png b/images/git-clone-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9438033453ef41302cfaf7d846a04f18cc98d9d1 GIT binary patch literal 18850 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 DW$6pr literal 0 HcmV?d00001 diff --git a/images/git-clone-3.png b/images/git-clone-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ea277b6583d6495cd5f23becf5d5cb0ca95860 GIT binary patch literal 19317 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 GFzsJ*KE!wc literal 0 HcmV?d00001 diff --git a/images/git-clone-pull-push.png b/images/git-clone-pull-push.png new file mode 100644 index 0000000000000000000000000000000000000000..fd64bdd776583f07c06db660a6feffe877e63965 GIT binary patch literal 26907 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 T%^tk%2u)5(S+Z2z@bmuyb7ep| literal 0 HcmV?d00001 diff --git a/images/git-diff.png b/images/git-diff.png new file mode 100644 index 0000000000000000000000000000000000000000..77f204eb132c12bb5e7bc8611d95792649e42d7f GIT binary patch literal 38996 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 !fR|~yGD1)aqStaJBZ_mn6d*!& zn{R$Zra<0kt%Ehs_By|o?&FntBXab zqtC;`T>xSS4lQ%csr;pPk-Loz^EB0N6sT$yG&bf>&f3iUm~^}ysVB>L!iiiKjoivL z^~9Y0J~PN1A-s^LoG+7*l*G>r{3et%5K^S6c8K{p?e}Kh!N+=wWr0&-m^45F-ud*n2 zDfZKW!{04(+YTrwOnfXwH**(z>ORfk-d89i;d_fcPiLDk&F@m-cSc3(euACTmT)EP zxUt2tkSmAK{VhJJ>lbvE<~RwgrW=6`npuqta^}XNTl1x;~O%) z*V1!?Y7&x@C2MMGzRt`v!^;q5w(A(h63!iSxOtkLnMo^Nq zBSpzFf@@$Jq+YE@qn`ZO2usj`!neS^`?xecNfH&4R>{MawWIV%|9ysf(o{_j0&j{<`EgK{{ zQmeKHg?0|zW)<4MI+~d{VIvd$giLkS^4_=P9L#ni`P(uBn`VtE= zn`~@s08^-|{;#1SOr=+gUZZiX))+*?I!Q=N1SzqW8W|$*0^eS9=|%dJWT?34g#xjr zR54?>leQ(I^r6@x9JmAdzrb=kE@@?S_#iK|Ks$Wy^Al7ON_DwBXq_pdYvAj|uz=19 zKUPba#|ozULtkFDXwdAeif`iv(-IPPjxQq8($Z9*J3sJsOYIZwHO?AR)K&~mVx*-@ z;Sw=s%4Tpm6*&p0_%`uab0L)%kT_JJ)XK`#mIwR$1_lspCvG^Jj$23w(C-8wYX0o( zRS%ER0zJmkqyn8_o53YCUWP`fajhba$@?q4}l?P&M?m&R^B7-s#m+c z-(`gPM+v#uDk{pf(m9D}%o-Sw^Y-@cVzE$1_rh&t`gA*Z%kCRk_ER(E=#ii!auVY> zgm@fNC>nH4_fNnx=1)y|f$u$m78>xgEy__&_J}<|bx%6=N3UBL_zM7_^rH&#!gfBR z>CQh3kX<|e=|C0X07o6P=zlxx)&IMt_|tzo9RA(%|GEo-yJud{3$BES2?R8&v$huH I<{o$d2KvCDvH$=8 literal 0 HcmV?d00001 diff --git a/images/git-merge-pull-1.png b/images/git-merge-pull-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d592dc43aad9a36d22c699d3d69c6dc62f7af8e1 GIT binary patch literal 19421 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

V9$(+@& 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 b?7|g6oC-tT6!Nn}(1=Y27hA=&?V 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

a7qc0VFnEzpmMxsvq0SI&oQ8WW>rXkDfu5u40 z`R;<}eQe&4y(32Yq7;_#Oy2sL@Z=deZHITErv&zw(9`2`e$_~7Ru{sZkF18|`M+lB&2haY4f%G4 zk^L+mRd{5U+Z<6uzdkgPry-YYFN`Mwxo)Xeo>_909ADC`2K`--7dFq?KTQ6VlJc!o zzATO6(vKLj@FECr&KTeaO#Vl-j*d!XihHw*Ltp$H+7r|#x1L%lYqE4$ z^C)t#oP3x$qYw;Z5cxXTVRac+I?*752h;+|OSzYWinu-wok;8zdBFSq(P)^Io!_6- zEu4Yw+Z=OB$B!n4BE$fTB-IrvD^8X%B5N>1CkiDcq!!$XPq1`XQX|8Tjf?E63KjP;Jm1unR5G{DCW~i_yC&wAS_+Ii`;-}Vl&o?SaPPfrrdK)Bd^W#T3Gi0{_B|#{4`l! z?#6g{WCZv>PI7Ycor`HeTnT_GQ1AGL zQ+z#?Nj4}*dVYSsb;(781*r8Lpj!6d;&>3aKl~sG?C@&~u26jgIDq*oCDCiDsV(@= z5=>GPM};38yvN7K$BK>-8=toiR>9mY#6;JA6!n&CAb)Q zB@JVak!Hjr!yXxLVU2k_y;Szx9715~5vfK=Ny!1KD<>rd&{qv;T3gersZ zOiJ}=fek=7xv{;i_x7!dcT-PzT#;XNoJ81sVDj8tK3~==1!WW7EVYmMF*=wg>(AkMwQi8+AxgP_+s?dMI!~|G?v4Bnl*nvpiX>&#rGRT3C z1Q5?kEAABygriLI8W~rG4Q&J~D03<(vQrUu<5Cgg`*)#h^ljqYwogO)3)kGrMWHKh ze=H0Q;BTuqgmW;fKC>82wpcmz(Gq~m0IE_n(&4>ieA45>VmQY?$y9N1#E&1kuP6w# z$^=%LW7k+X;Dq6YPrACFg!d)(S=M|wf)EuG|4nFZ~Y&HFaB}%I!N~;7wcovv5HV)2pusR+M zkO2qe*jftbsH&+k@$r!|$HPJWEZUVLyIue%ftSc2W1iFYwyMf?+nSdxB-Wtfr%$FM zINJoO^%~}QYoddmE4uY;qsF!6T0LcJH4R03ic-^?^sPGFiWR|NP6DZbi0D&ta)_3% z(nmS+HN!$U$Gdm$($dp)&CL_X?E1k?)(!LJm6h-HWuGf37qa2&=;#3BJ@78DZ2@G6 zwQx=h5Ls8zTU%I5NQUFyu{8I-`B&65xTL=RNmRei@v4`&yC`kb^qgD-XM$3ApCv$% z0&uQVJ`Lf+qM{(*xKCrPgls^Wrri9@S~&z4+7 zTv`YxXXYK7ei>|5P$!f&3&fb$DC>|3QfnR(1r*#Yq9r*vI4Z;Ywi$n1+#Vs5n zKvS6`EtQNGTT{l~NnF2Vpjxw~A(bw6lgWjpR2@fkM4IHzKv>UXt73WF|3-m}4vR;k z{uA!}zY$`l=XhlQ6Wav<_mG#`WdC=l`TyfX7?MaVQ4*Ij-VGo|8%tGDOQBlMGVH$q D&_VKy literal 0 HcmV?d00001 diff --git a/images/git-objects.png b/images/git-objects.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc9df3663571edf1430769b7f1202c27e879e3e GIT binary patch literal 37627 zcmc$_1yfzovMsz55(pkFI0SbK?g{Sh8rR{-XiCo`o359 z2fTtR7F(wF>^XY$=wLY+QA9W#I1mVgC@vGLIyN^$8{)TuO*KYPMf#e zEu3zr^>Eqara~Wx{5}c<@kp2*gMbI%zj9J>SO3>1p>%TCvVSl2O_Hu-yuSC*Et$0G z-vhC1jGyYi?{1kz|AqTcBhsikuMZ!h^2Ix7{A1WKgp`)*1~ z=x1kVdAlemD8SoQ8(wE~mxehuuM3bOk=wDdvT}574#DB(Zj`!u+NfY-W1E|sOH5y! zpU)gOl^S*8!l#ZKxLg_^NAVZXb1zmY8sB%!+r-1e8#86ubL6tLvKlvK>5o8}$!Ej~ z7qNhe!u0d=`-qM%q^5?InVIS5@1F#Y=8FVIO-%gr_SUtdvokn6oQ#}YB>EdL2;xX_ zsU|B+%Q15Z2M5P*m7}(Pl85ss%XM6jO>1hlT6BCQpFrIIyD~>>; zC|Fp1PY*Y+2nbv2oq_M(zdyU&SN!?&r|bC^tZW7!89n_8e`Ky4bp>QPQ>k#=6avgD zOQEQuVmecyaC~k~-@qVLA-7|O{w${GttNL`A#$#Szlw#0d#OUvxOs+mh_Xd>0jtKO zL&*%ZQM7CYTa7bi+-OF=@I^<({%b2r5*XotwfWhw8f1}7+9b~Dlu^*Lkv|3awEw0c zzrU+Zfo@KpBkk?!?M5ZUv~VZD#r5UuXOFL_7{`j15)c*@e%oUbNy4~y)zu}0hKUxg zLntfdNP2&J>t|I_fpvK%Br5z1gDPGmn@G3Cv#y~bn%^6&rLAq}*CToK7Pg@8J8g5A=z79DEU@0F7|~Iu=p*eU~w-`Exh|%!0brS zqPO=b^$oIuBSOS(gFUZJlt|^H*7K}T^oWFn15#Myo12@d-dtZ__be`^=y!*#Z*G!Q zbv5b3mbHIhn<>%Mswr-@dGTZ_!X8Ww@0cr{8}o*dhhr=1`GwJBa#dU z2UoU(ZO=+OY@EhG=Ih~&f?S@R3Hb%0ViO3ss(nBi1$PLfe>}frB9bLQIcEvlE106# z)6&wS)M?_#m5A$@olQ939#kw=t57x1qLZa)ii(O#<*@s?*&DgJyW5*9nGmf#7S|`U z`}NxmF}m#ysdsxv-6zLhGVgDxT5#VDEOdS}{c{zNE+Nq*)V1HDKi=^oeBS#8iac4B zw2N2EpOmk$RQL4qDwNNLo-R@a%r$q+VdYmos*Z1a+ug-3r~4&kZv_74(R@`u{X0d< zSaeFI#13J}we@XZ&GjsFM~0tiBkdvb@UI?5O~z0NE0XZ`f^iM$hl|Ze+g+|m!gt?U zaHOoJ%vmvLRC1h;7pDFwhr(e{Zxv#%X=VHc&Ka<|y`|cXbIl&?k%atg$CC?l8`_n4 z-4gM=%S9Xn!Xep^3h8Y2*A9Z37}&^@+dSCoy>G~COSRXoA)#G8LMhjnlyW}oE3Upf z!zqfH0{&X9T^gm*u24`=^L2J4-j8Q6Z{EE5+JR7-?;;+OP$+gbfkCNI?3jMO$ySln>U{w)Brb{`1oIkiTQ!>C^d!{1pRX>%0)N$ActtH?C%N z^EGR&V;OW;7Kn_+O2u7~@wvLPghM$zu4zF?5%fxBt6?FmxEmW9V*}%`uT$QVZkHvn zyIzG#eKcWT*J}qU{ZR^DY4%Vo)8VBNHA%MmpOXK~qJlk?p=Po12>k+j|r7252imK_7O8k~(|B zamNp@ICg2;4y_vGO3jzGbUEl=mncdTJ6wc5ooi@ib>`JzspCQ-@VUQyZv!12A5WgP z!Py&jc&vB47YWA^{`wW9fvb7IZY6r$Qxd(5`kxC)P1aM3R`kYZH-lF*C_K1lax#WW zF;A{ki_;?TIvOwT)f7~U)!LifE`lN>^TjGA9QXJ@yLd|3iavtE`;l=#LL4a;~zPG5cS_}{<%vm|KGP^X+$Ez() z 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 Z&p*HXk6u literal 0 HcmV?d00001 diff --git a/images/git-rebase-c.png b/images/git-rebase-c.png new file mode 100644 index 0000000000000000000000000000000000000000..b6a038525c2d8cf47b31eb8606b47d923fadf688 GIT binary patch literal 6980 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 literal 0 HcmV?d00001 diff --git a/images/git-rebase-cd.png b/images/git-rebase-cd.png new file mode 100644 index 0000000000000000000000000000000000000000..573c1ea40655b0f2623295c592995fd890099cb4 GIT binary patch literal 7479 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

sQpK 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%0Ae-|<2L)1{Q!@f6fkZQkGt}s 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 literal 0 HcmV?d00001 diff --git a/images/git-rebase-graph.png b/images/git-rebase-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e6e0c3c044500cf19298e801a204e975179da4 GIT binary patch literal 50066 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

H;Q9)B{NsW9?P~0lPd2PlpF!S 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

2zC@4-YLj;mHN9nou5$T(k<^zVh(? zcLIK*l2hvJ%s=_S@if0Lp}+!$T_7#TZOtD`fr@Y>#gA|ydy)*G!ac!QAe~hVw8|qS za;8flA(Y&g>2i8g;tWGrFQ+oYoO$<3L_B$|zt!hg7^k0LnRtQnWS%^cj?bf$mX=mA z!Md>9W|UOa<)z~+hyej*Y6B>Cp+-w*K%XB2F|j6BjNT_g5B|T)`UPB83$-jxpM4Z8 zIU;g;t`FaF*~~wE8z%<#uE825wf4~%S%YLT6ku$(c-&N)jNpb5^8Mbso*uPk{WhD} zo-40VrOKDh&aN7!{BoUt7D}Y0$sfi@kc{DzK1}O_Aq54lHxTRn1}fokaG9mrL=@Cj z8nVx=0r?hqW~P9--4C!^Fv;TW8+-w3Q?Ld3qw$28zjmOzY4e&KUr))<<23;+y zvjNvB74&(&)!??rOT45!0Qeg?2w*igHy7iV+$ryYF9sb)Jy3hRkPTQs9P!j1{OACN zl=;86f7PqlQ`s!m_O$V^I9$j`CeU9_=^6t}OKNm>5?Qw{#m8fsIm4`=Hun!D6m{t# zAZ|o9i5-+!qd$NC{JVDMDnsmT89CUrwYh1#KTZ8&0StQ9T)+Yt$W#0WsiK`-r}JNU z8igKrf7iEvSg;|3GexrSvYnqaqv>-|sfi-zC3x9nE5v8+bR6qtktjYn3a{Z_7PSEF z{!YZBNwX-h?TU@|^jbWjoR8y84l^`S8`)|X8!+PUU5wTKY8q9!@mz_fvk!m0O zGE29{d^Vqyb!==V83S$|)5YphfI{&4%^S1v^jETptR1VXtMD#g8h&M0LIXakh?p3N z{}}*%&=&_OP>KR-6nc_nq6C>D{)`-Fp*C2$uID=gt(t#I3w%z?8|Uk=c^+J%B`!__ z(-SI_oR_D6r!X@%!lsdFWK@i#oHNWq0#0w=LIUWIMW)0Enz-ZQm<<@^=KV=X4d_rf zf8J3nKu1PK1~qZMdKCpQ1SBW^`@Gap7c=_?eS1F?iysn++v?+3-6s9A>k2@nwt`1clPn5V#aKeF7dH58QXa%;g1YfWRRk~U^!b|IaSOi}GhQGtb| zV#AU|?Tku6BaL#*V}8-Pm9E>ZDE?YwDFXw8qnld+ z-4JWq7+czylY>JRU@~ZHYg51DH1&S_#m%4>d&{k~#~=f|c*m~({VUwEFPJgU*|O)d zYzu#W{JPUn$-7Vymd+6mmb2LqWAu`|Ia_ zLfC37ovdz)kH{_H9g8}-|D7oj8PLlgHAx`xY%zOQ_ne6Fvc1eW@2c{cf;kZ?l9(pFb^ z6J+Xj|6-BQyn=$#3l%_v0-MME0tbFsh=5&zD*g}y{w)_%e*ORZ8`oGTx2zqXoxb3K PEka3(%88T;>G}RIpk7-O literal 0 HcmV?d00001 diff --git a/images/git-reset.png b/images/git-reset.png new file mode 100644 index 0000000000000000000000000000000000000000..fc04a81a39da770b35a256e16d0b30d15267950a GIT binary patch literal 40439 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

6y4qj_h;QL}`i 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 !>4Qe+w#pptX<73eW&n&(zi9G*+CSk7w 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 literal 0 HcmV?d00001 diff --git a/images/git-smart-protocol.png b/images/git-smart-protocol.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa88e6bceb008603817fcea60ba5f602b0331d8 GIT binary patch literal 12739 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 HU;6%k8Yuat literal 0 HcmV?d00001 diff --git a/images/git-stage.png b/images/git-stage.png new file mode 100644 index 0000000000000000000000000000000000000000..e87d63c3b2d7779effc276b063a4e2c1cbcfde64 GIT binary patch literal 40643 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 literal 0 HcmV?d00001 diff --git a/images/git-survs-os.png b/images/git-survs-os.png new file mode 100644 index 0000000000000000000000000000000000000000..175473689d9ad44e75d5baa5e689881e0f9f82c8 GIT binary patch literal 45054 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 literal 0 HcmV?d00001 diff --git a/images/git-svn-workflow.png b/images/git-svn-workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa2bc2536ad2f55811aa5a1c5fba491dd099f8f GIT binary patch literal 38530 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%0DUj-}roSMCR&#=d44<)=6 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 literal 0 HcmV?d00001 diff --git a/images/gitg-commit-2-add-stage.png b/images/gitg-commit-2-add-stage.png new file mode 100644 index 0000000000000000000000000000000000000000..1d4cfa544cb1bb579e544b9227e3720b0f1cc18e GIT binary patch literal 35288 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�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 WGM=2x_vXUpQIc1aE0uZm_WuBXcn|sj literal 0 HcmV?d00001 diff --git a/images/gitg-commit-3-mixed-stage-unstage.png b/images/gitg-commit-3-mixed-stage-unstage.png new file mode 100644 index 0000000000000000000000000000000000000000..75caa967aa76dbe73c98dffb6d19704e6860aab8 GIT binary patch literal 32108 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

w=je(?#&g}&4ReuRQyN|@8XFX6+wRLkM} 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