summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-03-21clone: record the remote primary branch with remotes/$origin/HEADLibravatar Junio C Hamano1-3/+9
This matches c51d13692d4e451c755dd7da3521c5db395df192 commit to record the primary branch of the remote with a symbolic ref remotes/$origin/HEAD. The user can later change it to point at different branch to change the meaning of "$origin" shorthand. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-21revamp git-clone (take #2).Libravatar Junio C Hamano1-19/+31
This builds on top of the previous one. * --use-separate-remote uses .git/refs/remotes/$origin/ directory to keep track of the upstream branches. * The $origin above defaults to "origin" as usual, but the existing "-o $origin" option can be used to override it. I am not yet convinced if we should make "$origin" the synonym to "refs/remotes/$origin/$name" where $name is the primary branch name of $origin upstream, nor if so how we should decide which upstream branch is the primary one, but that is more or less orthogonal to what the clone does here. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-20revamp git-clone.Libravatar Junio C Hamano2-36/+166
This does two things. * A new flag --reference can be used to name a local repository that is to be used as an alternate. This is in response to an inquiry by James Cloos in the message on the list <m3r74ykue7.fsf@lugabout.cloos.reno.nv.us>. * A new flag --use-separate-remote stops contaminating local branch namespace by upstream branch names. The upstream branch heads are copied in .git/refs/remotes/ instead of .git/refs/heads/ and .git/remotes/origin file is set up to reflect this as well. It requires to have fetch/pull update to understand .git/refs/remotes by Eric Wong to further update the repository cloned this way. For the former change, git-fetch-pack is taught a new flag --all to fetch from all the remote heads. Nobody uses the git-clone-pack with this change, so we could deprecate the command, but removal of the command will be left to a separate round. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10fetch,parse-remote,fmt-merge-msg: refs/remotes/* supportLibravatar Eric Wong3-6/+20
We can now easily fetch and merge things from heads in the refs/remotes/ hierarchy in remote repositories. The refs/remotes/ hierarchy is likely to become the standard for tracking foreign SCMs, as well as the location of Pull: targets for tracking remote branches in newly cloned repositories. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10Add git-imap-send, derived from isync 1.0.1.Libravatar Mike McCormack3-1/+1362
git-imap-send drops a patch series generated by git-format-patch into an IMAP folder. This allows patch submitters to send patches through their own mail program. git-imap-send uses the following values from the GIT repository configuration: The target IMAP folder: [imap] Folder = "INBOX.Drafts" A command to open an ssh tunnel to the imap mail server. [imap] Tunnel = "ssh -q user@imap.server.com /usr/bin/imapd ./Maildir 2> /dev/null" [imap] Host = imap.server.com User = bob Password = pwd Port = 143
2006-03-10repack: prune loose objects when -d is givenLibravatar Junio C Hamano1-0/+1
[jc: the request originally came from Martin Atukunda, which was improved further by Alex Riesen] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-10try_to_simplify_commit(): do not skip inspecting tree change at boundary.Libravatar Junio C Hamano1-6/+14
When git-rev-list (and git-log) collapsed ancestry chain to commits that touch specified paths, we failed to inspect and notice tree changes when we are about to hit uninteresting parent. This resulted in "git rev-list since.. -- file" to always show the child commit after the lower bound, even if it does not touch the file. This commit fixes it. Thanks for Catalin for reporting this. See also: 461cf59f8924f174d7a0dcc3d77f576d93ed29a4 Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Fix t1200 test for breakage caused by removal of full-stop at the end of ↵Libravatar Junio C Hamano1-1/+1
fast-forward message. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Describe how to add extra mail header lines in mail generated by ↵Libravatar Mike McCormack1-0/+9
git-format-patch.
2006-03-09Document the --attach flag.Libravatar Mike McCormack1-1/+4
2006-03-09allow double click on current HEAD id after git-pullLibravatar Olaf Hering2-2/+2
Double click on to current HEAD commit id is not possible, the dot has to go. [jc: by popular requests.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09refs.c::do_for_each_ref(): Finish error message lines with "\n"Libravatar Junio C Hamano1-3/+3
We used fprintf() to show an error message without terminating it with LF; use error() for that. cf. c401cb48e77459a4ccad76888ad31bef252facc5 Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Nicer output from 'git'Libravatar Fredrik Kuivinen5-18/+96
[jc: with suggestions by Jan-Benedict Glaw] Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))Libravatar Junio C Hamano5-7/+5
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Remove trailing dot after short descriptionLibravatar Fredrik Kuivinen53-53/+53
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Fix some inconsistencies in the docsLibravatar Fredrik Kuivinen3-3/+3
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09contrib/git-svn: fix a harmless warning on rebuild (with old repos)Libravatar Eric Wong1-1/+1
It's only for repositories that were imported with very early versions of git-svn. Unfortunately, some of those repos are out in the wild already, so fix this warning. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09contrib/git-svn: remove the --no-stop-on-copy flagLibravatar Eric Wong2-13/+11
Output a big warning if somebody actually has a pre-1.0 version of svn that doesn't support it. Thanks to Yann Dirson for reminding me it still existed and attempting to re-enable it :) I think I subconciously removed support for it earlier... Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09contrib/git-svn: fix svn compat and fetch argsLibravatar Eric Wong2-20/+75
'svn info' doesn't work with URLs in svn <= 1.1. Now we only run svn info in local directories. As a side effect, this should also work better for 'init' off directories that are no longer in the latest revision of the repository. svn checkout -r<revision> arguments are fixed. Newer versions of svn (1.2.x) seem to need URL@REV as well as -rREV to checkout a particular revision... Add an example in the manpage of how to track directory that has been moved since its initial revision. A huge thanks to Yann Dirson for the bug reporting and testing my original patch. Thanks also to Junio C Hamano for suggesting a safer way to use git-rev-parse. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09Don't recurse into parents marked uninteresting.Libravatar Matthias Urlichs1-12/+14
revision.c:make_parents_uninteresting() is exponential with the number of merges in the tree. That's fine -- unless some other part of git already has pulled the whole commit tree into memory ... Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09diff-delta: bound hash list length to avoid O(m*n) behaviorLibravatar Nicolas Pitre1-30/+71
The diff-delta code can exhibit O(m*n) behavior with some patological data set where most hash entries end up in the same hash bucket. To prevent this, a limit is imposed to the number of entries that can exist in the same hash bucket. Because of the above the code is a tiny bit more expensive on average, even if some small optimizations were added as well to atenuate the overhead. But the problematic samples used to diagnoze the issue are now orders of magnitude less expensive to process with only a slight loss in compression. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-09test-delta needs zlib to compileLibravatar Nicolas Pitre1-1/+1
Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-08git-fmt-merge-msg cleanupLibravatar Linus Torvalds1-1/+1
Since I've started using the "merge.summary" flag in my repo, my merge messages look nicer, but I dislike how I get notifications of merges within merges. So I'd suggest this trivial change.. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07repo-config: give value_ a sane default so regexec won't segfaultLibravatar Jonas Fonseca2-1/+12
Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07Update http-push functionalityLibravatar Nick Hengeveld2-335/+727
This brings http-push functionality more in line with the ssh/git version, by borrowing bits from send-pack and rev-list to process refspecs and revision history in more standard ways. Also, the status of remote objects is determined using PROPFIND requests for the object directory rather than HEAD requests for each object - while it may be less efficient for small numbers of objects, this approach is able to get the status of all remote loose objects in a maximum of 256 requests. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-07cvsimport: Remove master-updating codeLibravatar Matthias Urlichs2-25/+8
The code which tried to update the master branch was somewhat broken. => People should do that manually, with "git merge". Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06Merge branch 'sp/checkout'Libravatar Junio C Hamano7-27/+371
* sp/checkout: Add --temp and --stage=all options to checkout-index.
2006-03-06Merge branch 'fd/asciidoc'Libravatar Junio C Hamano1-0/+10
* fd/asciidoc: Tweak asciidoc output to work with broken docbook-xsl
2006-03-06Allow format-patch to attach patchesLibravatar Mike McCormack1-7/+45
The --attach patch to git-format-patch to attach patches instead of inlining them. Some mailers linewrap inlined patches (eg. Mozilla). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06Allow adding arbitary lines in the mail header generated by format-patch.Libravatar Mike McCormack1-2/+6
Entries may be added to the config file as follows: [format] headers = "Organization: CodeWeavers\nTo: wine-patches <wine-patches@winehq.org>\n" Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06annotate-blame: tests incomplete lines.Libravatar Junio C Hamano1-0/+19
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-06blame: unbreak "diff -U 0".Libravatar Junio C Hamano1-2/+2
The commit 604c86d15bb319a1e93ba218fca48ce1c500ae52 changed the original "diff -u0" to "diff -u -U 0" for portability. A big mistake without proper testing. The form "diff -u -U 0" shows the default 3-line contexts, because -u and -U 0 contradicts with each other; "diff -U 0" (or its longhand "diff --unified=0") is what we meant. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05Tweak asciidoc output to work with broken docbook-xslLibravatar Francis Daly1-0/+10
docbook-xsl v1.68 incorrectly converts "<screen>" from docbook to manpage by not rendering it verbatim. v1.69 handles it correctly, but not many current popular distributions ship with it. asciidoc by default converts "listingblock" to "<screen>". This change causes asciidoc in git to convert "listingblock" to "<literallayout>", which both old and new docbook-xsl handle correctly. The difference can be seen in any manpage which includes a multi-line example, such as git-branch. [jc: the original patch was an disaster for html backends, so I made it apply only to docbook backends. ] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05annotate-blame test: add evil merge.Libravatar Junio C Hamano1-0/+9
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05annotate-blame test: don't "source", but say "."Libravatar Junio C Hamano2-2/+2
Just I am old fashioned. Source inclusion in bourne shell is "." (dot), not "source" -- that's csh. [jc: yes I know bash groks it, but I am old fashioned.] Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05annotate/blame tests updates.Libravatar Junio C Hamano1-37/+44
This rewrites the result check code a bit. The earlier one using awk was splitting columns at any whitespace, which confused lines attributed incorrectly to the merge made by the default author "A U Thor <author@example.com>" with lines attributed to author "A". The latest test by Ryan to add the "starting from older commit" test is also included, with another older commit test. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05annotate: Support annotation of files on other revisions.Libravatar Ryan Anderson1-2/+4
This is a bug fix, and cleans up one or two other things spotted during the course of tracking down the main bug here. [jc: the part that updates test-suite is split out to the next one. Also I dropped "use Data::Dumper;" which seemed leftover from debugging session.] Signed-off-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05git/Documentation: fix SYNOPSIS style bugsLibravatar Dmitry V. Levin8-10/+10
This trivial patch fixes SYNOPSIS style bugs. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05blame: avoid "diff -u0".Libravatar Junio C Hamano1-1/+1
As Linus suggests, use "diff -u -U 0" instead. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05git-blame: Use the same tests for git-blame as for git-annotateLibravatar Fredrik Kuivinen3-83/+97
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05blame and annotate: show localtime with timezone.Libravatar Junio C Hamano2-5/+20
Earlier they showed gmtime and timezone, which was inconsistent with the way our commits and tags are pretty-printed. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05blame: avoid -lm by not using log().Libravatar Junio C Hamano2-6/+4
... as suggested on the list. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05git-blame: Make the output human readableLibravatar Fredrik Kuivinen2-18/+148
The default output mode is slightly different from git-annotate's. However, git-annotate's output mode can be obtained by using the '-c' flag. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05get_revision(): do not dig deeper when we know we are at the end.Libravatar Linus Torvalds1-7/+11
This resurrects the special casing for "rev-list -n 1" which avoided reading parents unnecessarily. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05documentation: add 'see also' sections to git-rm and git-addLibravatar Jeff Muizelaar2-0/+6
Pair up git-add and git-rm by adding a 'see also' section that references the opposite command to each of their documentation files. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05contrib/emacs/Makefile: Provide tool for byte-compiling files.Libravatar Mark Wooding2-0/+21
Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05gitignore: Ignore some more boring things.Libravatar Mark Wooding2-0/+2
Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05Const tightening.Libravatar Junio C Hamano10-39/+44
Mark Wooding noticed there was a type mismatch warning in git.c; this patch does things slightly differently (mostly tightening const) and was what I was holding onto, waiting for the setup-revisions change to be merged into the master branch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05Documentation/Makefile: Some `git-*.txt' files aren't manpages.Libravatar Mark Wooding1-1/+5
In particular, git-tools.txt isn't a manpage, and my Asciidoc gets upset by it. The simplest fix is to Remove articles from the list of manpages the Makefile. Signed-off-by: Mark Wooding <mdw@distorted.org.uk> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-05cvsserver: updated documentationLibravatar Martin Langhoff1-25/+60
... and stripped trailing whitespace to appease the Gods... Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>