aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* documentation: move git(7) to git(1)Christian Couder2008-06-06
| | | | | | | | As the "git" man page describes the "git" command at the end-user level, it seems better to move it to man section 1. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* documentation: convert "diffcore" and "repository-layout" to man pagesChristian Couder2008-06-06
| | | | | | | | | | | | | This patch renames the following documents and at the same time converts them to the man format: diffcore.txt -> gitdiffcore.txt (man section 7) repository-layout.txt -> gitrepository-layout.txt (man section 5) Other documents that reference the above ones are changed accordingly. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* graph API: fix "git log --graph --first-parent"Adam Simpkins2008-06-06
| | | | | | | | | | | | | | | | This change teaches the graph API that only the first parent of each commit is interesting when "--first-parent" was specified. This change also consolidates the graph parent walking logic into two new internal functions, first_interesting_parent() and next_interesting_parent(). A simpler fix would have been to simply break at the end of the 2 existing for loops when graph->revs->first_parent_only is set. However, this change seems nicer, especially if we ever need to add any new loops over the parent list in the future. Signed-off-by: Adam Simpkins <adam@adamsimpkins.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Print info about "git help COMMAND" on git's main usage pagesTeemu Likonen2008-06-06
| | | | | | | | | | Git's main usage pages did not show "git help" as a way to get more information on a specific subcommand. This patch adds an info line after the list of git commands currently printed by "git", "git help", "git --help" and "git help --all". Signed-off-by: Teemu Likonen <tlikonen@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'maint'Junio C Hamano2008-06-06
|\ | | | | | | | | | | * maint: git-for-each-ref.txt: minor improvements name-rev: Fix segmentation fault when using --all
| * git-for-each-ref.txt: minor improvementsLea Wiemann2008-06-06
| | | | | | | | | | | | | | | | | | | | Rewrapped synopsis and removed wrong asterisk behind --count option; clarified --sort=<key> description for multiple keys; documented that for-each-ref supports not only glob patterns but also prefixes like "refs/heads" as patterns, and that multiple patterns can be given. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * name-rev: Fix segmentation fault when using --allBjörn Steinbrink2008-06-05
| | | | | | | | | | | | | | | | | | | | | | In commit da2478db "describe --always: fall back to showing an abbreviated object name" we lost the check that skips empty entries in the object hash table when iterating over it in cmd_name_rev. That may cause a NULL pointer being handed to show_name(), leading to a segmentation fault. So add that check back again. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | gitweb: Add charset info to "raw" output of 'text/plain' blobsJakub Narebski2008-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier "blob_plain" view sent "charset=utf-8" only when gitweb guessed the content type to be text by reading from it, and not when the MIME type was obtained from /etc/mime.types, or when gitweb couldn't guess mimetype and used $default_blob_plain_mimetype. This fixes the bug by always add charset info from $default_text_plain_charset (if it is defined) to "raw" (a=blob_plain) output for 'text/plain' blobs. Generating information for Content-Type: header got separated into blob_contenttype() subroutine; adding charset info in a special case was removed from blob_mimetype(), which now should return mimetype only. While at it cleanup code a bit: put subroutine parameter initialization first, make error message more robust (when $file_name is not defined) if more cryptic, remove unnecessary '"' around variable ("$var" -> $var). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Strbuf documentation: document most functionsMiklos Vajna2008-06-04
| | | | | | | | | | | | | | All functions in strbuf.h are documented, except launch_editor(). Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation/git-mailsplit: Enhanced description of -o optionDirk Suesserott2008-06-04
| | | | | | | | | | | | Added '-o' in the description of '-o<directory>' for consistency reasons. Signed-off-by: Dirk Suesserott <newsletter@dirk.my1.cc>
* | Fix "git clone http://$URL" to check out the worktree when askedJeff King2008-06-04
| | | | | | | | | | | | | | | | | | | | The builtin-clone now does the http commit walking and the tree unpacking in the same process, and the commit walker leaves the in-core objects in a funny state. When forgetting the data read from the tree object, the object should be marked "not parsed yet" for later users. Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'maint'Junio C Hamano2008-06-04
|\ \ | |/ | | | | | | * maint: describe: match pattern for lightweight tags too
| * describe: match pattern for lightweight tags tooMichael Dressel2008-06-04
| | | | | | | | | | | | | | | | | | | | | | | | The <pattern> given "git describe --match" was used only to filter tag objects, and not to filter lightweight tags. This fixes it. [jc: made the log to clarify this is a bugfix, not an enhancement, with additional test] Signed-off-by: Michael Dressel <MichaelTiloDressel@t-online.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | t7502: honor SHELL_PATHJunio C Hamano2008-06-04
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation: git-log cannot use rev-list specific optionsJunio C Hamano2008-06-03
| | | | | | | | | | | | | | | | | | The log family and git-rev-list share the same set of options that come from revision walking machinery, but they both have options unique to them. Notably, --header, --timestamp, --stdin and --quiet apply only to rev-list. Exclude them from the git-log documentation. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Fix t5516 on cygwin: it does not like double slashes at the beginning of a pathAlex Riesen2008-06-03
| | | | | | | | | | | | | | | | | | | | The double slashes "//" result from url./$TRASH/. expansion and the current directory, which even in cygwin contains "/" as first character. In cygwin such strings have special meaning: UNC path. Accessing an UNC path built for test purpose usually fails. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | t7502: tighten loosely written test sequenceJunio C Hamano2008-06-03
| | | | | | | | | | | | We would like to catch breakage at any step in the sequence. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | t7502: do not globally unset GIT_COMMITTER_* environment variablesJunio C Hamano2008-06-03
| | | | | | | | | | | | | | | | | | | | | | One particular test wants to check the behaviour of the command when these variables are not set, but the later tests should have the reliable committer identity for repeatable tests. Move the "unset" of the variables inside a subshell in the test that wants to unset them. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | cat-file --batch: flush stdout also when objects are missingLea Wiemann2008-06-03
| | | | | | | | | | | | | | | | | | cat-file --batch/--batch-check only flushes stdout when the object exists, but not when it doesn't ("<object> missing"). This makes bidirectional pipes hang. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | GIT v1.5.6-rc1v1.5.6-rc1Junio C Hamano2008-06-03
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | commit: drop duplicated parentsJunio C Hamano2008-06-02
| | | | | | | | | | | | | | | | | | | | | | | | The scripted version of git-commit internally used git-commit-tree which omitted duplicated parents given from the command line. This prevented a nonsensical octopus merge from getting created even when you said "git merge A B" while you are already on branch A. However, when git-commit was rewritten in C, this sanity check was lost. This resurrects it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | rebase --interactive: Compute upstream SHA1 before switching branchesJohannes Sixt2008-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the upstream argument to rebase (the first argument) was relative to HEAD and the name of the branch to rebase (the second argument) was given, the upstream would have been interpreted relative to the second argument. In particular, this command git rebase -i HEAD topic would always finish with "Nothing to do". (a1bf91e fixed the same issue for non-interactive rebase.) Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Documentation/git-filter-branch.txt: Fix description of --commit-filterKevin Ballard2008-06-02
| | | | | | | | | | | | | | | | | | | | | | The old description was misleading and logically impossible. It claimed that the ancestors of the original commit would be re-written to have the multiple emitted ids as parents. Not only would this modify existing objects, but it would create a cycle. What this actually does is pass the multiple emitted ids to the newly-created children to use as parents. Signed-off-by: Kevin Ballard <kevin@sb.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | gitweb: Fix "next" link on bottom of pageJakub Narebski2008-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix search form generation to not modify $cgi->param(...)'s. In git_header_html() we used to use $cgi->hidden(-name => "a") etc. to generate hidden fields; unfortunately to use this form it is required to modify $cgi->param("a") etc., which makes href(-replay,...) use wrong replay values. This for example made the "next" link on the bottom of the page has a=search instead of a=$action, and thus fails to get you to the next page. Because in CGI the value of a hidden field is "sticky", there is no way to modify it short of modifying $cgi->param(...). Therefore it got replaced by generating <input type="hidden" ...> element [semi] directly. Alternate solution would be for href(-replay,...) to use values saved in global variables, such as $action etc., instead of (re)reading them from $cgi->param($symbol). The bad link was reported by Kai Blin through http://bugs.debian.org/481902 Reported-by: Kai Blin <kai.blin@gmail.com> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Tested-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Revert "git.el: Set process-environment instead of invoking env"Karl Hasselström2008-06-02
| | | | | | | | | | | | | | | | | | This reverts commit dbe48256b41c1e94d81f2458d7e84b1fdcb47026, which caused mis-encoding of non-ASCII author/committer names when the git-status mode is used to create commits. Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'sb/am-tests'Junio C Hamano2008-06-01
|\ \ | | | | | | | | | | | | | | | * sb/am-tests: Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh Add test cases for git-am
| * | Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.shStephan Beyer2008-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the am test cases in t4150-am.sh and the am subdirectory test cases from t/t4150-am-subdir.sh into t/4151-am.sh. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | Add test cases for git-amStephan Beyer2008-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add t/t4151-am.sh that does basic testing of git-am functionality, including: * am applies patch correctly * am changes committer and keeps author * am --signoff adds Signed-off-by: line * am stays in branch * am --signoff does not add Signed-off-by: line if already there * am without --keep removes Re: and [PATCH] stuff * am --keep really keeps the subject * am -3 falls back to 3-way merge * am pauses on conflict * am --skip works * am --resolved works * am takes patches from a Pine mailbox * am fails on mail without patch * am fails on empty patch Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'lw/test-fix'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | * lw/test-fix: t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons
| * | | t/test-lib.sh: resolve symlinks in working directory, for pathname comparisonsLea Wiemann2008-05-31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, some tests will fail because they compare command output of subprocesses (such as git) with $PWD -- but subprocesses have the physical path as their working directory, whereas $PWD contains the symlinked path. This fixes it. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'sp/remote'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * sp/remote: Make "git-remote rm" delete refs acccording to fetch specs Make "git-remote prune" delete refs according to fetch specs Remove unused remote_prefix member in builtin-remote
| * | | Make "git-remote rm" delete refs acccording to fetch specsShawn O. Pearce2008-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A remote may be configured to fetch into tracking branches that don't match its name. A user may have created a remote by hand that will fetch to a different tracking branch namespace: [remote "alt"] url = git://repo.or.cz/alt-git.git fetch = refs/heads/*:refs/remotes/origin/* When deleting remote alt we should clean up the refs whose names start with "refs/remotes/origin/", even though the remote itself was named alt by the user. To avoid deleting refs used by another remote we only clear refs that are unique to this remote. This prevents `git prune rm alt` from removing the refs used by say origin if alt was just using a different URL for the same repository. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Make "git-remote prune" delete refs according to fetch specsShawn O. Pearce2008-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A remote may be configured to fetch into tracking branches that do not match the remote name. For example a user may have created extra remotes that will fetch to the same tracking branch namespace, but from different URLs: [remote "origin"] url = git://git.kernel.org/pub/scm/git/git.git fetch = refs/heads/*:refs/remotes/origin/* [remote "alt"] url = git://repo.or.cz/alt-git.git fetch = refs/heads/*:refs/remotes/origin/* When running `git remote prune alt` we expect stale branches to be removed from "refs/remotes/origin/*" and not from the unused namespace of "refs/remotes/alt/*". Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Remove unused remote_prefix member in builtin-remoteShawn O. Pearce2008-05-31
| |/ / | | | | | | | | | | | | | | | | | | | | | Not sure when this became unused, but no code references it, other than to populate the strbuf with an initial value. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'lt/pack-sync'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | | | | | * lt/pack-sync: Remove now unnecessary 'sync()' calls Make pack creation always fsync() the result
| * | | Remove now unnecessary 'sync()' callsLinus Torvalds2008-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the pack-files are now always created stably on disk, there is no need to sync() before pruning lose objects or old stale pack-files. [jc: with Nico's clean-up] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Make pack creation always fsync() the resultLinus Torvalds2008-05-31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | This means that we can depend on packs always being stable on disk, simplifying a lot of the object serialization worries. And unlike loose objects, serializing pack creation IO isn't going to be a performance killer. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'np/pack-check'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | * np/pack-check: make verify-pack a bit more useful with bad packs
| * | | make verify-pack a bit more useful with bad packsNicolas Pitre2008-06-01
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a pack gets corrupted, its SHA1 checksum will fail. However, this is more useful to let the test go on in order to find the actual problem location than only complain about the SHA1 mismatch and bail out. Also, it is more useful to compare the stored pack SHA1 with the one in the index file instead of the computed SHA1 since the computed SHA1 from a corrupted pack won't match the one stored in the index either. Finally a few code and message cleanups were thrown in as a bonus. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'jb/reset-q'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | * jb/reset-q: git-reset: honor -q and do not show progress message
| * | | git-reset: honor -q and do not show progress messageJamis Buck2008-05-31
| |/ / | | | | | | | | | | | | | | | | | | When running git-reset in a non-interactive setting, the -q switch works for everything except the progress updates. This squelches it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'jc/checkout'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'jc/checkout': checkout: "best effort" checkout unpack_trees(): allow callers to differentiate worktree errors from merge errors checkout: consolidate reset_{to_new,clean_to_new}() checkout: make reset_clean_to_new() not die by itself
| * | | checkout: "best effort" checkoutJunio C Hamano2008-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When unpack_trees() returned an error while switching branches, we used to stop right there, exiting without writing the index out or switching HEAD. This is Ok when unpack_trees() returned an error because it detected untracked files or locally modified paths that could be overwritten by branch switching, because that error return is done before we start to modify the work tree. But it is undesirable if unpack_trees() already started to update the work tree and a failure is returned because some but not all paths are updated in the work tree, perhaps because a directory that some files need to go in was read-only by mistake, or a file that will be overwritten by branch switching had a mandatory lock on it and we failed to unlink it. This changes the behaviour upon such an error to complete the branch switching; the files updated in the work tree will hopefully be much more consistent with the index and HEAD derived from the switched-to branch. We still issue error messages, and exit the command with non-zero status, so scripted callers need to notice it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | unpack_trees(): allow callers to differentiate worktree errors from merge errorsJunio C Hamano2008-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of uniformly returning -1 on any error, this teaches unpack_trees() to return -2 when the merge itself is Ok but worktree refuses to get updated. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | checkout: consolidate reset_{to_new,clean_to_new}()Junio C Hamano2008-05-29
| | | | | | | | | | | | | | | | | | | | | | | | These two were very similar functions with only tiny bit of difference. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | checkout: make reset_clean_to_new() not die by itselfJunio C Hamano2008-05-28
| |/ / | | | | | | | | | | | | | | | | | | Instead, have its error percolate up through the callchain and let it be the exit status of the main command. No semantic changes yet. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'lr/init-bare'Junio C Hamano2008-06-01
|\ \ \ | | | | | | | | | | | | | | | | * lr/init-bare: git-init: accept --bare option
| * | | git-init: accept --bare optionLuciano Rocha2008-05-28
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is unfortunate that "git init --bare" does not work and the only reason why "init" did not learn its own "--bare" option is because "git --bare init" already does the job (and as an option to the git 'potty', it is more generic solution). This teaches "git init" its own "--bare" option, so that both "git --bare init" and "git init --bare" works mostly the same way. [jc: rewrote the log message and added test] Signed-off-by: Luciano Rocha <strange@nsk.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Git.pm: fix return value of config methodLea Wiemann2008-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If config is called in array context, it is supposed to return all values set for the given option key. This works for all cases except if there is no value set at all. In that case, it wrongly returns (undef) instead of (). This fixes the return statement so that it returns undef in scalar context but an empty array in array context. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | glossary: improve a few linksLea Wiemann2008-06-01
| | | | | | | | | | | | | | | | | | | | | They now point to more specific/appropriate targets. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>