From 9869099bee332e4c351c3aaa15a74786d85909c7 Mon Sep 17 00:00:00 2001 From: Brian Gernhardt Date: Tue, 8 Jul 2008 00:12:22 -0400 Subject: [PATCH] Documentation: mention ORIG_HEAD in am, merge, and rebase Merge has always set ORIG_HEAD but never mentioned it, while we recently added it to am and rebase. These facts should be reflected in the documentation. git-reset also sets ORIG_HEAD, but that fact is already mentioned in the very first example so no changes were needed there. Signed-off-by: Brian Gernhardt Signed-off-by: Junio C Hamano --- Documentation/git-am.txt | 6 ++++++ Documentation/git-merge.txt | 4 +++- Documentation/git-rebase.txt | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 3863eebce..88ca5f118 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -145,6 +145,12 @@ directory exists, so if you decide to start over from scratch, run `rm -f -r .dotest` before running the command with mailbox names. +Before any patches are applied, ORIG_HEAD is set to the tip of the +current branch. This is useful if you have problems with multiple +commits, like running 'git am' on the wrong branch or an error in the +commits that is more easily fixed by changing the mailbox (e.g. +errors in the "From:" lines). + SEE ALSO -------- diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt index 62f99b5f3..019e4ca8f 100644 --- a/Documentation/git-merge.txt +++ b/Documentation/git-merge.txt @@ -81,7 +81,9 @@ Otherwise, merge will refuse to do any harm to your repository (that is, it may fetch the objects from remote, and it may even update the local branch used to keep track of the remote branch with `git pull remote rbranch:lbranch`, but your working tree, -`.git/HEAD` pointer and index file are left intact). +`.git/HEAD` pointer and index file are left intact). In addition, +merge always sets `.git/ORIG_HEAD` to the original state of HEAD so +a problematic merge can be removed by using `git reset ORIG_HEAD`. You may have local modifications in the working tree files. In other words, 'git-diff' is allowed to report changes. diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index f3459c7de..e30f6a698 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -26,7 +26,8 @@ of commits that would be shown by `git log ..HEAD`. The current branch is reset to , or if the --onto option was supplied. This has the exact same effect as -`git reset --hard ` (or ). +`git reset --hard ` (or ). ORIG_HEAD is set +to point at the tip of the branch before the reset. The commits that were previously saved into the temporary area are then reapplied to the current branch, one by one, in order. Note that -- 2.30.2