summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-01-11rebase: update documentation for --rootLibravatar Thomas Rast1-5/+16
Since the new option depends on --onto and omission of <upstream>, use a separate invocation style, and omit most options to save space. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-11rebase -i: learn to rebase root commitLibravatar Thomas Rast2-31/+179
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-11rebase: learn to rebase root commitLibravatar Thomas Rast2-16/+126
Teach git-rebase a new option --root, which instructs it to rebase the entire history leading up to <branch>. This option must be used with --onto <newbase>, and causes commits that already exist in <newbase> to be skipped. (Normal operation skips commits that already exist in <upstream> instead.) One possible use-case is with git-svn: suppose you start hacking (perhaps offline) on a new project, but later notice you want to commit this work to SVN. You will have to rebase the entire history, including the root commit, on a (possibly empty) commit coming from git-svn, to establish a history connection. This previously had to be done by cherry-picking the root commit manually. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-01-03rebase -i: execute hook only after argument checkingLibravatar Thomas Rast1-2/+3
Previously, the pre-rebase-hook would be launched before we knew if the <upstream> [<branch>] arguments were supplied. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-24GIT 1.6.1Libravatar Junio C Hamano2-0/+9
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-24Merge branch 'js/rebase-i-p'Libravatar Junio C Hamano2-16/+58
* js/rebase-i-p: rebase -i -p: leave a --cc patch when a merge could not be redone rebase -i -p: Fix --continue after a merge could not be redone Show a failure of rebase -p if the merge had a conflict
2008-12-24rebase -i -p: leave a --cc patch when a merge could not be redoneLibravatar Johannes Schindelin2-3/+13
The result is easier to review this way, and the merge resolution has to be done inside the work tree, not by adjusting "the patch" anyway.
2008-12-22t9129: skip the last three tests if UTF-8 locale is not availableLibravatar Miklos Vajna1-13/+17
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21GIT 1.6.1-rc4Libravatar Junio C Hamano1-1/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Always show which directory is not a git repositoryLibravatar Richard Hartmann3-4/+4
Unify all fatal: Not a git repository error messages so they include path information. Signed-off-by: Richard Hartmann <richih@net.in.tum.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Make help entries alphabeticalLibravatar Richard Hartmann1-4/+4
Signed-off-by: Richard Hartmann <richih@net.in.tum.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Merge branch 'maint'Libravatar Junio C Hamano1-1/+2
* maint: doc/git-fsck: change the way for getting heads' SHA1s
2008-12-21git-revert documentation: refer to new HOWTO on reverting faulty mergesLibravatar Boyd Stephen Smith Jr1-0/+8
Signed-off-by: Boyd Stephen Smith Jr <bss@iguanasuicide.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21git-revert: record the parent against which a revert was madeLibravatar Robin Rosenberg1-0/+5
As described in Documentation/howto/revert-a-faulty-merge.txt, re-merging from a previously reverted a merge of a side branch may need a revert of the revert beforehand. Record against which parent the revert was made in the commit, so that later the user can figure out what went on. Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Merge git://git.kernel.org/pub/scm/gitk/gitkLibravatar Junio C Hamano2-63/+213
* git://git.kernel.org/pub/scm/gitk/gitk: gitk: Force the focus to the main window on Windows gitk: Allow unbalanced quotes/braces in commit headers gitk: Update German translation gitk: Mark forgotten strings (header sentence parts in color chooser) for translation gitk: Ensure that "Reset branch" menu entry is enabled gitk: Use check-buttons' -text property instead of separate labels gitk: Map / to focus the search box gitk: Fix bugs in blaming code
2008-12-22gitk: Force the focus to the main window on WindowsLibravatar Johannes Sixt1-0/+5
On msysGit, the focus is first on the (Tk) console. This console is then hidden, but keeps the focus. Work around that by forcing the focus onto the gitk window. This fixes msysGit issue 14. Diagnosed and originally fixed by Johannes Schindelin. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Allow unbalanced quotes/braces in commit headersLibravatar Kevin Ballard1-2/+3
When parsing commits, gitk treats the headers of the commit as tcl lists. This causes errors if the header contains an unbalanced quote or open brace. Splitting the line on spaces allows us to treat it as a set of words instead of as a tcl list, which prevents errors. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Update German translationLibravatar Christian Stimming1-29/+157
Attached to avoid whitespace problems. Regards, Christian From 282060ac531fee722142f9d39c4ff29570723cbb Mon Sep 17 00:00:00 2001 From: Christian Stimming <stimming@tuhh.de> Date: Sat, 6 Dec 2008 20:47:15 +0100 Subject: [PATCH 2/2] gitk: Update German translation Merged with most recent "make update-po" result. Signed-off-by: Christian Stimming <stimming@tuhh.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Mark forgotten strings (header sentence parts in color chooser) for ↵Libravatar Christian Stimming1-6/+6
translation Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Ensure that "Reset branch" menu entry is enabledLibravatar Johannes Sixt1-1/+1
Consider this sequence of events: 1. Detach HEAD and fire up gitk 2. Call the context menu on some commit. Notice that the last menu entry says "Detached HEAD: can't reset" and it is disabled. 3. Now checkout some regular branch (e.g. 'master') using the context menu. 4. Call the context menu again on some commit. Previously, at this point the last menu entry said "Reset master branch to here", but it was still disabled. With this fix it is now enabled again. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Use check-buttons' -text property instead of separate labelsLibravatar Johannes Sixt1-20/+10
Previously the check-buttons' labels in the Preferences were separate widgets. This had the disadvantage that in order to toggle the check-button with the mouse the check-box had to be clicked. With this change the check-box can also be toggled by clicking the label. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-22gitk: Map / to focus the search boxLibravatar Giuseppe Bilotta1-2/+2
The / key is often used to initiate searches (less, vim, some web browsers). This changes the binding for the / (slash) key from 'find next' to 'focus the search box' to follow this convention. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-12-21doc/git-fsck: change the way for getting heads' SHA1sLibravatar Markus Heidelberg1-1/+2
The straightforward way with using 'cat .git/refs/heads/*' doesn't work with packed refs as well as branches of the form topic/topic1. So let's use git-for-each-ref for getting the heads' SHA1s in this example. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Documentation/git-show-branch: work around "single quote" typesetting glitchLibravatar Markus Heidelberg1-1/+1
The displayed example is typeset with acute accents around the string that should be surrounded by a pair of single quotes in manpage. Replace them with double quotes (the semantics of the example does not change). Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21send-email: futureproof split_addrs() subLibravatar Junio C Hamano1-1/+1
Matt Kraai points out that calling parse_line() assuming that the caller ever passes only one argument is a bug waiting to happen, and he is right. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Make sure lockfiles are unlocked when dying on SIGPIPELibravatar Junio C Hamano2-0/+18
We cleaned up lockfiles upon receiving the usual suspects HUP, TERM, QUIT but a wicked user could kill us of asphyxiation by piping our output to a pipe that does not read. Protect ourselves by catching SIGPIPE and clean up the lockfiles as well in such a case. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21fast-import.c: stricter strtoul check, silence compiler warningLibravatar René Scharfe1-4/+7
Store the return value of strtoul() in order to avoid compiler warnings on Ubuntu 8.10. Also check errno after each call, which is the only way to notice an overflow without making ULONG_MAX an illegal date. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21connect.c: stricter port validation, silence compiler warningLibravatar René Scharfe1-2/+2
In addition to checking if the provided port is numeric, also check that the string isn't empty and that the port number is within the valid range. Incidentally, this silences a compiler warning about ignoring strtol's return value. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Add a documentat on how to revert a faulty mergeLibravatar Nanako Shiraishi1-0/+179
Linus and Junio explained issues that are involved in reverting a merge and how to continue working with a branch that was updated since such a revert on the mailing list. This is to help new people who did not see these messages. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Remove the requirement opaquelocktoken uri schemeLibravatar Kirill A. Korinskiy1-8/+6
The program flow of pushing over http is: - call lock_remote() to issue a DAV_LOCK request to the server to lock info/refs and branch refs being pushed into; handle_new_lock_ctx() is used to parse its response to populate "struct remote_lock" that is returned from lock_remote(); - send objects; - call unlock_remote() to drop the lock. The handle_new_lock_ctx() function assumed that the server will use a lock token in opaquelocktoken URI scheme, which may have been an Ok assumption under RFC 2518, but under RFC 4918 which obsoletes the older standard it is not necessarily true. This resulted in push failure (often resulted in "cannot lock existing info/refs" error message) when talking to a server that does not use opaquelocktoken URI scheme. Signed-off-by: Kirill A. Korinskiy <catap@catap.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dirLibravatar Marcel M. Cary3-2/+136
I want directories of my working tree to be linked to from various paths on my filesystem where third-party components expect them, both in development and production environments. A build system's install step could solve this, but I develop scripts and web pages that don't need to be built. Git's submodule system could solve this, but we tend to develop, branch, and test those directories all in unison, so one big repository feels more natural. We prefer to edit and commit on the symlinked paths, not the canonical ones, and in that setting, "git pull" fails to find the top-level directory of the repository while other commands work fine. "git pull" fails because POSIX shells have a notion of current working directory that is different from getcwd(). The shell stores this path in PWD. As a result, "cd ../" can be interpreted differently in a shell script than chdir("../") in a C program. The shell interprets "../" by essentially stripping the last textual path component from PWD, whereas C chdir() follows the ".." link in the current directory on the filesystem. When PWD is a symlink, these are different destinations. As a result, Git's C commands find the correct top-level working tree, and shell scripts do not. Changes: * When interpreting a relative upward (../) path in cd_to_toplevel, prepend the cwd without symlinks, given by /bin/pwd * Add tests for cd_to_toplevel and "git pull" in a symlinked directory that failed before this fix, plus contrasting scenarios that already worked Signed-off-by: Marcel M. Cary <marcel@oak.homeunix.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21rebase -i -p: Fix --continue after a merge could not be redoneLibravatar Johannes Sixt2-3/+2
When a merge that has a conflict was rebased, then rebase stopped to let the user resolve the conflicts. However, thereafter --continue failed because the author-script was not saved. (This is rebase -i's way to preserve a commit's authorship.) This fixes it by doing taking the same failure route after a merge that is also taken after a normal cherry-pick. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-21Show a failure of rebase -p if the merge had a conflictLibravatar Johannes Sixt1-11/+44
This extends t3409-rebase-preserve-merges by a case where the merge that is rebased has a conflict. Therefore, the rebase stops and expects that the user resolves the conflict. However, currently rebase --continue fails because .git/rebase-merge/author-script is missing. The test script had allocated two identical clones, but only one of them (clone2) was used. Now we use both as indicated in the comment. Also, two instances of && was missing in the setup part. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19Documentation: fix typos, grammar, asciidoc syntaxLibravatar Markus Heidelberg1-1/+1
[jc: the original patch was against master but 99% of it applied to maint; this commit splits out the part that applies only to master.] Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19Merge branch 'maint' to sync with GIT 1.6.0.6Libravatar Junio C Hamano26-48/+185
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19GIT 1.6.0.6Libravatar Junio C Hamano6-38/+67
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19fast-import: make tagger information optionalLibravatar Junio C Hamano2-11/+33
Even though newer Porcelain tools always record the tagger information when creating new tags, export/import pair should be able to faithfully reproduce ancient tag objects that lack tagger information. Signed-off-by: Junio C Hamano <gitster@pobox.com> Acked-by: Shawn O. Pearce <spearce@spearce.org>
2008-12-19fast-export: deal with tag objects that do not have a taggerLibravatar Johannes Schindelin3-5/+42
When no tagger was found (old Git produced tags like this), no "tagger" line is printed (but this is incompatible with the current git fast-import). Alternatively, you can pass the option --fake-missing-tagger, forcing fast-export to fake a tagger Unspecified Tagger <no-tagger> with a tag date of the beginning of (Unix) time in the case of a missing tagger, so that fast-import is still able to import the result. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19SubmittingPatches: mention the usage of real name in Signed-off-by: linesLibravatar Miklos Vajna1-0/+3
Especially with something that is supposed to hopefully have some legal value down the line if somebody starts making noises, it really would be nice to have a real person to associate things with. Suggest this in the SubmittingPatches document. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19git-mergetool: properly handle "git mergetool -- filename"Libravatar David Aguilar1-0/+1
Like many git commands, git-mergetool allows "--" to signal the end of option processing. This adds a missing "shift" statement so that this is correctly handled. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19git-send-email: handle email address with quoted commaLibravatar Wu Fengguang1-3/+8
Correctly handle email addresses containing quoted commas, e.g. "Zhu, Yi" <yi.zhu@intel.com>, "Li, Shaohua" <shaohua.li@intel.com> The commas inside the double quotes are not separators. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19Documentation: fix typos, grammar, asciidoc syntaxLibravatar Markus Heidelberg13-25/+25
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-19Documentation: sync example output with git outputLibravatar Markus Heidelberg4-11/+9
Don't confuse the user with old git messages. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-18Fix type-mismatch compiler warning from diff_populate_filespec()Libravatar René Scharfe1-1/+2
The type of the size member of filespec is ulong, while strbuf_detach expects a size_t pointer. This patch should fix the warning: Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-18test overlapping ignore patternsLibravatar Michael J Gruber1-0/+6
Add a test which checks that negated patterns such as "!foo.html" can override previous patterns such as "*.html". This is documented behaviour but had not been tested so far. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-17Merge branch 'lt/readlink'Libravatar Junio C Hamano9-50/+62
* lt/readlink: combine-diff.c: use strbuf_readlink() builtin-blame.c: use strbuf_readlink() make_absolute_path(): check bounds when seeing an overlong symlink Make 'prepare_temp_file()' ignore st_size for symlinks Make 'diff_populate_filespec()' use the new 'strbuf_readlink()' Make 'index_path()' use 'strbuf_readlink()' Make 'ce_compare_link()' use the new 'strbuf_readlink()' Add generic 'strbuf_readlink()' helper function
2008-12-17Enable threaded delta search on Mac OS X/DarwinLibravatar Arjen Laarhoven1-0/+1
Signed-off-by: Arjen Laarhoven <arjen@yaph.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-17Clarify documentation of "git checkout <tree-ish> paths" syntaxLibravatar Nanako Shiraishi1-1/+1
The SYNOPSIS section of the manual writes: git checkout [options] [<tree-ish>] [--] <paths>... but the DESCRIPTION says that this form checks the paths out "from the index, or from a named commit." A later sentence refers to the same argument as "<tree-ish> argument", but it is not clear that these two sentences are talking about the same command line argument for first-time readers. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-17Merge git://repo.or.cz/git-guiLibravatar Junio C Hamano11-423/+3157
* git://repo.or.cz/git-gui: git-gui 0.12 git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL git-gui: Update Hungarian translation for 0.12 git-gui: Fixed typos in Swedish translation. git-gui: Updated Swedish translation (515t0f0u). git gui: update Italian translation git-gui: Update Japanese translation for 0.12 git-gui: Starting translation for Norwegian git-gui: Update German (completed) translation. git-gui: Update po template to include 'Mirroring %s' message git-gui: Fix commit encoding handling. git-gui: Fix handling of relative paths in blame.
2008-12-17git-gui 0.12Libravatar Shawn O. Pearce1-1/+1
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>