1
0
mirror of https://github.com/git/git.git synced 2024-10-19 18:48:25 +02:00
Git Source Code Mirror. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
Go to file
Thomas Rast d911d1465d rebase -i: learn to rebase root commit
Teach git-rebase -i a new option --root, which instructs it to rebase
the entire history leading up to <branch>.  This is mainly for
symmetry with ordinary git-rebase; it cannot be used to edit the root
commit in-place (it requires --onto <newbase>).  Commits that already
exist in <newbase> are skipped.

In the normal mode of operation, this is fairly straightforward.  We
run cherry-pick in a loop, and cherry-pick has supported picking the
root commit since f95ebf7 (Allow cherry-picking root commits,
2008-07-04).

In --preserve-merges mode, we track the mapping from old to rewritten
commits and use it to update the parent list of each commit.  In this
case, we define 'rebase -i -p --root --onto $onto $branch' to rewrite
the parent list of all root commit(s) on $branch to contain $onto
instead.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-11 23:04:45 -08:00
arm
compat Merge branch 'js/mingw-rename-fix' 2008-11-27 19:25:06 -08:00
contrib Always show which directory is not a git repository 2008-12-21 18:46:41 -08:00
Documentation GIT 1.6.1 2008-12-24 19:41:08 -08:00
git-gui Merge git://repo.or.cz/git-gui 2008-12-17 21:56:48 -08:00
gitk-git Merge git://git.kernel.org/pub/scm/gitk/gitk 2008-12-21 18:31:12 -08:00
gitweb GIT 1.6.0.6 2008-12-19 19:27:35 -08:00
mozilla-sha1
perl Always show which directory is not a git repository 2008-12-21 18:46:41 -08:00
ppc
t rebase -i: learn to rebase root commit 2009-01-11 23:04:45 -08:00
templates
xdiff xdiff: give up scanning similar lines early 2008-12-02 23:45:37 -08:00
.gitattributes
.gitignore add stage to gitignore 2008-12-03 21:29:03 -08:00
.mailmap
abspath.c make_absolute_path(): check bounds when seeing an overlong symlink 2008-12-17 13:36:34 -08:00
alias.c
alloc.c
archive-tar.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
archive-zip.c
archive.c Merge branch 'maint' 2008-10-26 16:21:08 -07:00
archive.h
attr.c
attr.h
base85.c
blob.c
blob.h
branch.c Merge branch 'jc/maint-co-track' 2008-10-21 17:58:11 -07:00
branch.h
builtin-add.c Fix typo in comment in builtin-add.c 2008-12-10 15:39:00 -08:00
builtin-annotate.c
builtin-apply.c Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
builtin-archive.c git-archive: work in bare repos 2008-10-26 16:19:59 -07:00
builtin-blame.c builtin-blame.c: use strbuf_readlink() 2008-12-17 13:36:35 -08:00
builtin-branch.c git-branch: display sha1 on branch deletion 2008-12-12 20:42:59 -08:00
builtin-bundle.c
builtin-cat-file.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-check-attr.c Fix non-literal format in printf-style calls 2008-11-11 14:50:02 -08:00
builtin-check-ref-format.c
builtin-checkout-index.c parse-opt: migrate builtin-checkout-index. 2008-10-19 14:38:04 -07:00
builtin-checkout.c builtin-checkout.c: check error return from read_cache() 2008-12-07 19:08:15 -08:00
builtin-clean.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-clone.c builtin_clone: use strbuf in cmd_clone() 2008-11-25 15:34:26 -08:00
builtin-commit-tree.c
builtin-commit.c builtin-commit: remove unused message variable 2008-12-13 12:09:36 -08:00
builtin-config.c Use git_pathdup instead of xstrdup(git_path(...)) 2008-10-30 17:52:24 -07:00
builtin-count-objects.c
builtin-describe.c describe: Make --tags and --all match lightweight tags more often 2008-10-17 11:35:43 -07:00
builtin-diff-files.c Add cache preload facility 2008-11-14 19:11:49 -08:00
builtin-diff-index.c
builtin-diff-tree.c
builtin-diff.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
builtin-fast-export.c fast-export: deal with tag objects that do not have a tagger 2008-12-19 19:11:27 -08:00
builtin-fetch--tool.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-fetch-pack.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-fetch.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
builtin-fmt-merge-msg.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-for-each-ref.c Fix potentially dangerous uses of mkpath and git_path 2008-10-26 22:25:09 -07:00
builtin-fsck.c Merge branch 'maint' 2008-12-11 00:36:31 -08:00
builtin-gc.c Merge branch 'bc/maint-keep-pack' 2008-11-12 22:00:43 -08:00
builtin-grep.c
builtin-help.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-http-fetch.c
builtin-init-db.c
builtin-log.c Merge branch 'maint' 2008-12-15 23:06:13 -08:00
builtin-ls-files.c Teach ls-files --with-tree=<tree> to work with options other than -c 2008-11-16 00:15:50 -08:00
builtin-ls-remote.c git ls-remote: make usage string match manpage 2008-11-11 13:24:00 -08:00
builtin-ls-tree.c
builtin-mailinfo.c
builtin-mailsplit.c
builtin-merge-base.c
builtin-merge-file.c
builtin-merge-ours.c
builtin-merge-recursive.c
builtin-merge.c Make some of fwrite/fclose/write/close failures visible 2008-12-04 18:05:41 -08:00
builtin-mv.c
builtin-name-rev.c
builtin-pack-objects.c Merge branch 'maint' 2008-12-11 00:36:31 -08:00
builtin-pack-refs.c
builtin-prune-packed.c
builtin-prune.c
builtin-push.c
builtin-read-tree.c checkout: Fix "initial checkout" detection 2008-11-12 14:16:50 -08:00
builtin-receive-pack.c receive-pack: detect push to current branch of non-bare repo 2008-11-09 10:16:50 -08:00
builtin-reflog.c Merge branch 'ar/maint-mksnpath' into ar/mksnpath 2008-10-30 18:08:58 -07:00
builtin-remote.c git-remote: add verbose mode to git remote update 2008-11-18 15:38:34 -08:00
builtin-rerere.c Always initialize xpparam_t to 0 2008-10-25 12:09:31 -07:00
builtin-reset.c Fix git branch -m for symrefs. 2008-10-26 14:42:57 -07:00
builtin-rev-list.c Add a 'source' decorator for commits 2008-11-04 00:08:03 -08:00
builtin-rev-parse.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-revert.c git-revert: record the parent against which a revert was made 2008-12-21 18:32:04 -08:00
builtin-rm.c git add --intent-to-add: fix removal of cached emptiness 2008-11-28 19:58:24 -08:00
builtin-send-pack.c Merge branch 'maint' 2008-11-08 21:33:55 -08:00
builtin-shortlog.c
builtin-show-branch.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-show-ref.c
builtin-stripspace.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-symbolic-ref.c
builtin-tag.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
builtin-tar-tree.c
builtin-unpack-objects.c better validation on delta base object offsets 2008-11-02 15:22:34 -08:00
builtin-update-index.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
builtin-update-ref.c Fix git update-ref --no-deref -d. 2008-10-26 14:44:25 -07:00
builtin-upload-archive.c
builtin-verify-pack.c
builtin-verify-tag.c
builtin-write-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
builtin.h
bundle.c Fix non-literal format in printf-style calls 2008-11-11 14:43:59 -08:00
bundle.h
cache-tree.c git add --intent-to-add: do not let an empty blob be committed by accident 2008-11-30 17:59:19 -08:00
cache-tree.h
cache.h Merge branch 'maint' 2008-12-11 00:36:31 -08:00
check_bindir
check-builtins.sh
check-racy.c
color.c
color.h
combine-diff.c combine-diff.c: use strbuf_readlink() 2008-12-17 13:36:35 -08:00
command-list.txt
commit.c
commit.h builtin-blame: Reencode commit messages according to git-log rules. 2008-10-21 14:09:34 -07:00
config.c Get rid of the last remnants of GIT_CONFIG_LOCAL 2008-12-14 16:43:39 -08:00
config.mak.in Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
configure.ac Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
connect.c connect.c: stricter port validation, silence compiler warning 2008-12-21 01:48:23 -08:00
convert.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
copy.c
COPYING
csum-file.c
csum-file.h
ctype.c
daemon.c daemon: deglobalize variable 'directory' 2008-11-23 19:56:36 -08:00
date.c date/time: do not get confused by fractional seconds 2008-11-13 09:06:58 -08:00
decorate.c
decorate.h
delta.h
diff-delta.c
diff-lib.c
diff-no-index.c
diff.c Fix type-mismatch compiler warning from diff_populate_filespec() 2008-12-18 09:58:40 -08:00
diff.h userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
diffcore-break.c
diffcore-delta.c
diffcore-order.c
diffcore-pickaxe.c
diffcore-rename.c Add file delete/create info when we overflow rename_limit 2008-10-28 08:58:42 -07:00
diffcore.h Merge branch 'maint' 2008-11-02 16:36:40 -08:00
dir.c
dir.h
dump-cache-tree.c
editor.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
entry.c
environment.c Add cache preload facility 2008-11-14 19:11:49 -08:00
exec_cmd.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
exec_cmd.h
fast-import.c fast-import.c: stricter strtoul check, silence compiler warning 2008-12-21 01:48:26 -08:00
fetch-pack.h
fixup-builtins
fsck.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
fsck.h
generate-cmdlist.sh generate-cmdlist.sh: avoid selecting synopsis at wrong place 2008-11-30 18:16:32 -08:00
git-add--interactive.perl add -p: warn if only binary changes present 2008-10-26 16:20:24 -07:00
git-am.sh git-am: rename apply_opt_extra file to apply-opt 2008-12-05 20:02:10 -08:00
git-archimport.perl
git-bisect.sh Documentation: describe how to "bisect skip" a range of commits 2008-12-02 15:29:12 -08:00
git-compat-util.h
git-cvsexportcommit.perl
git-cvsimport.perl
git-cvsserver.perl
git-filter-branch.sh filter-branch: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-instaweb.sh
git-lost-found.sh lost-found: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-merge-octopus.sh
git-merge-one-file.sh
git-merge-resolve.sh
git-mergetool.sh git-mergetool: properly handle "git mergetool -- filename" 2008-12-19 19:10:58 -08:00
git-parse-remote.sh
git-pull.sh pull: use git rev-parse -q 2008-12-03 14:27:17 -08:00
git-quiltimport.sh
git-rebase--interactive.sh rebase -i: learn to rebase root commit 2009-01-11 23:04:45 -08:00
git-rebase.sh rebase: learn to rebase root commit 2009-01-11 23:03:36 -08:00
git-relink.perl
git-repack.sh repack: only unpack-unreachable if we are deleting redundant packs 2008-11-14 21:39:10 -08:00
git-request-pull.sh request-pull: make usage string match manpage 2008-11-17 02:27:18 -08:00
git-send-email.perl send-email: futureproof split_addrs() sub 2008-12-21 01:57:59 -08:00
git-sh-setup.sh git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir 2008-12-21 01:10:48 -08:00
git-stash.sh Revert "git-stash: use git rev-parse -q" 2008-12-07 17:30:35 -08:00
git-submodule.sh submodule: use git rev-parse -q 2008-12-03 14:27:18 -08:00
git-svn.perl Get rid of the last remnants of GIT_CONFIG_LOCAL 2008-12-14 16:43:39 -08:00
GIT-VERSION-GEN git-gui 0.12 2008-12-17 20:15:17 -08:00
git-web--browse.sh
git.c Make chdir failures visible 2008-12-04 18:05:51 -08:00
git.spec.in Include git-gui--askpass in git-gui RPM package 2008-12-01 00:54:16 -08:00
graph.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
graph.h
grep.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
grep.h
hash-object.c Fix non-literal format in printf-style calls 2008-11-11 14:50:02 -08:00
hash.c
hash.h
help.c
help.h
http-push.c Remove the requirement opaquelocktoken uri scheme 2008-12-21 01:12:48 -08:00
http-walker.c
http.c Merge branch 'maint' 2008-12-07 15:13:02 -08:00
http.h
ident.c Add backslash to list of 'crud' characters in real name 2008-12-02 15:29:13 -08:00
imap-send.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
index-pack.c Merge branch 'np/pack-safer' 2008-11-12 22:26:35 -08:00
INSTALL Makefile: add install-man rules (quick and normal) 2008-11-02 20:46:52 -08:00
levenshtein.c Document levenshtein.c 2008-11-23 19:23:34 -08:00
levenshtein.h
list-objects.c
list-objects.h
ll-merge.c merge-recursive: use strbuf_expand() instead of interpolate() 2008-11-23 19:55:52 -08:00
ll-merge.h
lockfile.c Make sure lockfiles are unlocked when dying on SIGPIPE 2008-12-21 01:56:20 -08:00
log-tree.c Fix machine-parseability of 'git log --source' 2008-11-16 00:24:41 -08:00
log-tree.h Add a 'source' decorator for commits 2008-11-04 00:08:03 -08:00
mailmap.c
mailmap.h
Makefile Enable threaded delta search on Mac OS X/Darwin 2008-12-17 22:01:20 -08:00
match-trees.c
merge-file.c Always initialize xpparam_t to 0 2008-10-25 12:09:31 -07:00
merge-index.c
merge-recursive.c Report symlink failures in merge-recursive 2008-12-04 18:05:51 -08:00
merge-recursive.h
merge-tree.c
mktag.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
mktree.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
name-hash.c
object.c
object.h
pack-check.c
pack-redundant.c
pack-refs.c Enhance hold_lock_file_for_{update,append}() API 2008-10-19 12:35:37 -07:00
pack-refs.h
pack-revindex.c make find_pack_revindex() aware of the nasty world 2008-11-02 15:22:35 -08:00
pack-revindex.h
pack-write.c
pack.h
pager.c Merge branch 'maint' 2008-12-15 23:06:13 -08:00
parse-options.c Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
parse-options.h Teach/Fix pull/fetch -q/-v options 2008-11-14 17:18:32 -08:00
patch-delta.c
patch-id.c
patch-ids.c
patch-ids.h
path.c Fix non-literal format in printf-style calls 2008-11-11 14:43:59 -08:00
pkt-line.c
pkt-line.h
preload-index.c Makefile: introduce NO_PTHREADS 2008-12-02 15:29:12 -08:00
pretty.c builtin-blame: Reencode commit messages according to git-log rules. 2008-10-21 14:09:34 -07:00
progress.c
progress.h
quote.c
quote.h
reachable.c
reachable.h
read-cache.c Make 'ce_compare_link()' use the new 'strbuf_readlink()' 2008-12-17 13:36:34 -08:00
README
reflog-walk.c
reflog-walk.h
refs.c Merge branch 'maint' 2008-11-11 14:49:50 -08:00
refs.h
RelNotes GIT 1.6.0.6 2008-12-19 19:27:35 -08:00
remote.c Merge branch 'mk/maint-cg-push' 2008-11-12 22:26:24 -08:00
remote.h remote: add a new 'origin' variable to the struct 2008-11-11 14:19:29 -08:00
rerere.c Make some of fwrite/fclose/write/close failures visible 2008-12-04 18:05:41 -08:00
rerere.h
revision.c Merge branch 'maint' 2008-11-14 22:12:38 -08:00
revision.h revision traversal: '--simplify-by-decoration' 2008-11-04 00:45:34 -08:00
run-command.c
run-command.h
send-pack.h
server-info.c Use git_pathdup instead of xstrdup(git_path(...)) 2008-10-30 17:52:24 -07:00
setup.c Always show which directory is not a git repository 2008-12-21 18:46:41 -08:00
sha1_file.c Make 'index_path()' use 'strbuf_readlink()' 2008-12-17 13:36:34 -08:00
sha1_name.c Merge branch 'ar/maint-mksnpath' into HEAD 2008-10-26 22:24:44 -07:00
sha1-lookup.c
sha1-lookup.h
shallow.c
shell.c
shortlog.h
show-index.c
sideband.c
sideband.h
strbuf.c Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
strbuf.h Add generic 'strbuf_readlink()' helper function 2008-12-17 13:36:30 -08:00
string-list.c
string-list.h
symlinks.c
tag.c
tag.h
tar.h
test-chmtime.c Add --verbose|-v to test-chmtime 2008-10-31 00:19:52 -07:00
test-date.c
test-delta.c
test-genrandom.c
test-match-trees.c
test-parse-options.c
test-path-utils.c
test-sha1.c
test-sha1.sh
thread-utils.c
thread-utils.h
trace.c
transport.c Merge branch 'rs/alloc-ref' 2008-10-21 17:58:01 -07:00
transport.h
tree-diff.c
tree-walk.c
tree-walk.h
tree.c
tree.h
unpack-file.c
unpack-trees.c Fix non-literal format in printf-style calls 2008-11-11 14:43:59 -08:00
unpack-trees.h
update-server-info.c
upload-pack.c
usage.c
userdiff.c userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
userdiff.h userdiff: require explicitly allowing textconv 2008-10-26 14:09:48 -07:00
utf8.c
utf8.h
var.c
walker.c make alloc_ref_from_str() the new alloc_ref() 2008-10-18 06:53:47 -07:00
walker.h
wrapper.c
write_or_die.c
ws.c Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer 2008-10-12 12:36:19 -07:00
wt-status.c reorder ALLOW_TEXTCONV option setting 2008-12-07 19:59:25 -08:00
wt-status.h
xdiff-interface.c xdiff-interface.c: remove 10 duplicated lines 2008-11-26 10:47:41 -08:00
xdiff-interface.h add xdi_diff_hunks() for callers that only need hunk lengths 2008-10-25 12:09:31 -07:00

////////////////////////////////////////////////////////////////

	GIT - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.

The messages titled "A note from the maintainer", "What's in
git.git (stable)" and "What's cooking in git.git (topics)" and
the discussion following them on the mailing list give a good
reference for project status, development direction and
remaining tasks.