From: Junio C Hamano Date: Tue, 24 Jul 2007 08:10:27 +0000 (+0000) Subject: Autogenerated HTML docs for v1.5.3-rc2-37-g1cff X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a196f6d93a21ebac9befc4b52a2b0586471b5fa4;p=git.git Autogenerated HTML docs for v1.5.3-rc2-37-g1cff --- diff --git a/git-filter-branch.html b/git-filter-branch.html index 921716a8d..15e5dea01 100644 --- a/git-filter-branch.html +++ b/git-filter-branch.html @@ -277,7 +277,7 @@ git-filter-branch(1) Manual Page [--index-filter <command>] [--parent-filter <command>] [--msg-filter <command>] [--commit-filter <command>] [--tag-name-filter <command>] [--subdirectory-filter <directory>] - [-d <directory>] <new-branch-name> [<rev-list options>…] + [-d <directory>] [-f | --force] [<rev-list options>…]

DESCRIPTION

@@ -290,18 +290,18 @@ information) will be preserved.

The command takes the new branch name as a mandatory argument and the filters as optional arguments. If you specify no filters, the commits will be recommitted without any changes, which would normally -have no effect and result in the new branch pointing to the same -branch as your current branch. Nevertheless, this may be useful in -the future for compensating for some git bugs or such, therefore -such a usage is permitted.

+have no effect. Nevertheless, this may be useful in the future for +compensating for some git bugs or such, therefore such a usage is +permitted.

WARNING! The rewritten history will have different object names for all the objects and will not converge with the original branch. You will not be able to easily push and distribute the rewritten branch on top of the original branch. Please do not use this command if you do not know the full implications, and avoid using it anyway, if a simple single commit would suffice to fix your problem.

-

Always verify that the rewritten version is correct before disposing -the original branch.

+

Always verify that the rewritten version is correct: The original refs, +if different from the rewritten ones, will be stored in the namespace +refs/original/.

Note that since this operation is extensively I/O expensive, it might be a good idea to redirect the temporary directory off-disk, e.g. on tmpfs. Reportedly the speedup is very noticeable.

@@ -440,6 +440,16 @@ definition impossible to preserve signatures at any rate.)

+-f\|--force +
+
+

+ git filter-branch refuses to start with an existing temporary + directory or when there are already refs starting with + refs/original/, unless forced. +

+
+
<rev-list-options>
@@ -458,12 +468,12 @@ definition impossible to preserve signatures at any rate.)

or copyright violation) from all commits:

-
git filter-branch --tree-filter 'rm filename' newbranch
+
git filter-branch --tree-filter 'rm filename' HEAD

A significantly faster version:

-
git filter-branch --index-filter 'git update-index --remove filename' newbranch
+
git filter-branch --index-filter 'git update-index --remove filename' HEAD

Now, you will get the rewritten history saved in the branch newbranch (your current branch is left untouched).

@@ -472,7 +482,7 @@ history) to be the parent of the current initial commit, in order to paste the other history behind the current history:

-
git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' newbranch
+
git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' HEAD

(if the parent string is empty - therefore we are dealing with the initial commit - add graftcommit as a parent). Note that this assumes @@ -481,13 +491,13 @@ happened). If this is not the case, use:

git filter-branch --parent-filter \
-        'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' newbranch
+ 'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' HEAD

or even simpler:

echo "$commit-id $graft-id" >> .git/info/grafts
-git filter-branch newbranch $graft-id..
+git filter-branch $graft-id..HEAD

To remove commits authored by "Darl McBribe" from the history:

@@ -504,7 +514,7 @@ git filter-branch newbranch $graft-id.. done; else git commit-tree "$@"; - fi' newbranch + fi' HEAD

The shift magic first throws away the tree id and then the -p parameters. Note that this handles merges properly! In case Darl @@ -529,13 +539,13 @@ A--B-----C

To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use:

-
git filter-branch ... new-H C..H
+
git filter-branch ... C..H

To rewrite commits E,F,G,H, use one of these:

-
git filter-branch ... new-H C..H --not D
-git filter-branch ... new-H D..H --not C
+
git filter-branch ... C..H --not D
+git filter-branch ... D..H --not C

To move the whole tree into a subdirectory, or remove it from there:

@@ -544,7 +554,7 @@ git filter-branch ... new-H D..H --not C 'git ls-files -s | sed "s-\t-&newsubdir/-" | GIT_INDEX_FILE=$GIT_INDEX_FILE.new \ git update-index --index-info && - mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' directorymoved + mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD

Author

@@ -562,7 +572,7 @@ and the git list <git@vger.kernel.org>

diff --git a/git-filter-branch.txt b/git-filter-branch.txt index eaea82d0a..915258f41 100644 --- a/git-filter-branch.txt +++ b/git-filter-branch.txt @@ -12,7 +12,7 @@ SYNOPSIS [--index-filter ] [--parent-filter ] [--msg-filter ] [--commit-filter ] [--tag-name-filter ] [--subdirectory-filter ] - [-d ] [...] + [-d ] [-f | --force] [...] DESCRIPTION ----------- @@ -26,10 +26,9 @@ information) will be preserved. The command takes the new branch name as a mandatory argument and the filters as optional arguments. If you specify no filters, the commits will be recommitted without any changes, which would normally -have no effect and result in the new branch pointing to the same -branch as your current branch. Nevertheless, this may be useful in -the future for compensating for some git bugs or such, therefore -such a usage is permitted. +have no effect. Nevertheless, this may be useful in the future for +compensating for some git bugs or such, therefore such a usage is +permitted. *WARNING*! The rewritten history will have different object names for all the objects and will not converge with the original branch. You will not @@ -38,8 +37,9 @@ original branch. Please do not use this command if you do not know the full implications, and avoid using it anyway, if a simple single commit would suffice to fix your problem. -Always verify that the rewritten version is correct before disposing -the original branch. +Always verify that the rewritten version is correct: The original refs, +if different from the rewritten ones, will be stored in the namespace +'refs/original/'. Note that since this operation is extensively I/O expensive, it might be a good idea to redirect the temporary directory off-disk, e.g. on @@ -142,6 +142,11 @@ definition impossible to preserve signatures at any rate.) does this in the '.git-rewrite/' directory but you can override that choice by this parameter. +-f\|--force:: + `git filter-branch` refuses to start with an existing temporary + directory or when there are already refs starting with + 'refs/original/', unless forced. + :: When options are given after the new branch name, they will be passed to gitlink:git-rev-list[1]. Only commits in the resulting @@ -156,14 +161,14 @@ Suppose you want to remove a file (containing confidential information or copyright violation) from all commits: ------------------------------------------------------- -git filter-branch --tree-filter 'rm filename' newbranch +git filter-branch --tree-filter 'rm filename' HEAD ------------------------------------------------------- A significantly faster version: -------------------------------------------------------------------------------- -git filter-branch --index-filter 'git update-index --remove filename' newbranch -------------------------------------------------------------------------------- +-------------------------------------------------------------------------- +git filter-branch --index-filter 'git update-index --remove filename' HEAD +-------------------------------------------------------------------------- Now, you will get the rewritten history saved in the branch 'newbranch' (your current branch is left untouched). @@ -172,25 +177,25 @@ To set a commit (which typically is at the tip of another history) to be the parent of the current initial commit, in order to paste the other history behind the current history: ------------------------------------------------------------------------- -git filter-branch --parent-filter 'sed "s/^\$/-p /"' newbranch ------------------------------------------------------------------------- +------------------------------------------------------------------- +git filter-branch --parent-filter 'sed "s/^\$/-p /"' HEAD +------------------------------------------------------------------- (if the parent string is empty - therefore we are dealing with the initial commit - add graftcommit as a parent). Note that this assumes history with a single root (that is, no merge without common ancestors happened). If this is not the case, use: -------------------------------------------------------------------------------- +-------------------------------------------------------------------------- git filter-branch --parent-filter \ - 'cat; test $GIT_COMMIT = && echo "-p "' newbranch -------------------------------------------------------------------------------- + 'cat; test $GIT_COMMIT = && echo "-p "' HEAD +-------------------------------------------------------------------------- or even simpler: ----------------------------------------------- echo "$commit-id $graft-id" >> .git/info/grafts -git filter-branch newbranch $graft-id.. +git filter-branch $graft-id..HEAD ----------------------------------------------- To remove commits authored by "Darl McBribe" from the history: @@ -208,7 +213,7 @@ git filter-branch --commit-filter ' done; else git commit-tree "$@"; - fi' newbranch + fi' HEAD ------------------------------------------------------------------------------ The shift magic first throws away the tree id and then the -p @@ -238,14 +243,14 @@ A--B-----C To rewrite only commits D,E,F,G,H, but leave A, B and C alone, use: -------------------------------- -git filter-branch ... new-H C..H +git filter-branch ... C..H -------------------------------- To rewrite commits E,F,G,H, use one of these: ---------------------------------------- -git filter-branch ... new-H C..H --not D -git filter-branch ... new-H D..H --not C +git filter-branch ... C..H --not D +git filter-branch ... D..H --not C ---------------------------------------- To move the whole tree into a subdirectory, or remove it from there: @@ -255,7 +260,7 @@ git filter-branch --index-filter \ 'git ls-files -s | sed "s-\t-&newsubdir/-" | GIT_INDEX_FILE=$GIT_INDEX_FILE.new \ git update-index --index-info && - mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' directorymoved + mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD --------------------------------------------------------------- diff --git a/git-fsck.html b/git-fsck.html index 1aea637c2..2bf3dbdc3 100644 --- a/git-fsck.html +++ b/git-fsck.html @@ -378,8 +378,10 @@ index file and all SHA1 references in .git/refs/* as heads.

- Write dangling refs into .git/lost-found/commit/ or - .git/lost-found/other/, depending on type. + Write dangling objects into .git/lost-found/commit/ or + .git/lost-found/other/, depending on type. If the object is + a blob, the contents are written into the file, rather than + its object name.

@@ -519,7 +521,7 @@ GIT_ALTERNATE_OBJECT_DIRECTORIES diff --git a/git-fsck.txt b/git-fsck.txt index 1a432f231..45c0bee50 100644 --- a/git-fsck.txt +++ b/git-fsck.txt @@ -65,8 +65,10 @@ index file and all SHA1 references in .git/refs/* as heads. Be chatty. --lost-found:: - Write dangling refs into .git/lost-found/commit/ or - .git/lost-found/other/, depending on type. + Write dangling objects into .git/lost-found/commit/ or + .git/lost-found/other/, depending on type. If the object is + a blob, the contents are written into the file, rather than + its object name. It tests SHA1 and general object sanity, and it does full tracking of the resulting reachability and everything else. It prints out any diff --git a/git-rev-list.html b/git-rev-list.html index 238ecce0d..d49e2b6a6 100644 --- a/git-rev-list.html +++ b/git-rev-list.html @@ -301,6 +301,7 @@ git-rev-list(1) Manual Page [ --merge ] [ --reverse ] [ --walk-reflogs ] + [ --no-walk ] [ --do-walk ] <commit>… [ -- <paths>… ]

DESCRIPTION

@@ -818,6 +819,22 @@ we are bisecting right now to bisect_all. in packs.

+
+--no-walk +
+
+

+ Only show the given revs, but do not traverse their ancestors. +

+
+
+--do-walk +
+
+

+ Overrides a previous --no-walk. +

+

PRETTY FORMATS

@@ -1125,7 +1142,7 @@ and the git-list <git@vger.kernel.org>.

diff --git a/git-rev-list.txt b/git-rev-list.txt index 043013909..1c1978140 100644 --- a/git-rev-list.txt +++ b/git-rev-list.txt @@ -37,6 +37,7 @@ SYNOPSIS [ \--merge ] [ \--reverse ] [ \--walk-reflogs ] + [ \--no-walk ] [ \--do-walk ] ... [ \-- ... ] DESCRIPTION @@ -398,6 +399,14 @@ These options are mostly targeted for packing of git repositories. Only useful with '--objects'; print the object IDs that are not in packs. +--no-walk:: + + Only show the given revs, but do not traverse their ancestors. + +--do-walk:: + + Overrides a previous --no-walk. + include::pretty-formats.txt[]