summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* tar-tree: Use the prefix field of a tar headerRene Scharfe2006-03-252-3/+24
| | | | | | | | | | | | | | | | | ... to store parts of the path, if possible. This allows us to avoid writing extended headers in certain cases (long pathes can only be split at '/' chars). Also adds a file to the test repo with a 100 chars long directory name. Even old versions of tar that don't understand POSIX extended headers should be able to handle this testcase. Btw.: The longest path in the kernel tree currently has 70 chars. Together with a 30 chars long prefix this would already cross the field limit of 100 chars. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* tar-tree: Remove obsolete codeRene Scharfe2006-03-251-214/+0
| | | | | Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* tar-tree: Use write_entry() to write the archive contentsRene Scharfe2006-03-251-18/+38
| | | | | Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* tar-tree: Introduce write_entry()Rene Scharfe2006-03-252-18/+155
| | | | | | | | | | | | | | | | | | | | | | ... and use it initially to write global extended header records. Improvements compared to the old write_header(): - Uses a struct ustar_header instead of hardcoded offsets. - Takes one struct strbuf as path argument instead of a (basedir, prefix, name) tuple. - Not only writes the tar header, but also the contents of the file, if any. - Does not write directly into the ring buffer. This allows the code to be layed out more naturally, because there is no more ordering constraint. Before we had to first finish writing the extended header, now we can construct the extended and normal headers in parallel. - The typeflag parameter has been replaced by (reasonable) magic values. path == NULL indicates an extended header, additionally sha1 == NULL means it is a global extended header. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* tar-tree: Use SHA1 of root tree for the basedirRene Scharfe2006-03-251-3/+4
| | | | | | | ... instead of the made-up "0". Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-apply: safety fixesLinus Torvalds2006-03-251-1/+3
| | | | | | | | | | | | | | | | | | | This was triggered by me testing the "@@" numbering shorthand by GNU patch, which not only showed that git-apply thought it meant the number was duplicated (when it means that the second number is 1), but my tests showed than when git-apply mis-understood the number, it would then not raise an alarm about it if the patch ended early. Now, this doesn't actually _matter_, since with a three-line context, the only case that "x,1" will be shorthanded to "x" is when x itself is 1 (in which case git-apply got it right), but the fact that git-apply would also silently accept truncated patches was a missed opportunity for additional sanity-checking. So make git-apply refuse to look at a patch fragment that ends early. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Removed bogus "<snap>" identifier.Jon Loeliger2006-03-241-4/+0
| | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Clarify and expand some hook documentation.Jon Loeliger2006-03-243-13/+42
| | | | | | | | Clarify update and post-update hooks. Made a few references to the hooks documentation. Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* commit-tree: check return value from write_sha1_file()Junio C Hamano2006-03-241-3/+6
| | | | | | ... found by Matthias Kestenholz. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'jc/cvsimport'Junio C Hamano2006-03-231-1/+18
|\ | | | | | | | | | | * jc/cvsimport: cvsimport: fix reading from rev-parse cvsimport: honor -i and non -i upon subsequent imports
| * cvsimport: fix reading from rev-parseJunio C Hamano2006-03-181-0/+1
| | | | | | | | | | | | | | | | | | The updated code reads the tip of the current branch before and after the import runs, but forgot to chomp what we read from the command. The read-tree command did not them with the trailing LF. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * cvsimport: honor -i and non -i upon subsequent importsJunio C Hamano2006-03-171-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation says -i is "import only", so without it, subsequent import should update the current branch and working tree files in a sensible way. "A sensible way" defined by this commit is "act as if it is a git pull from foreign repository which happens to be CVS not git". So: - If importing into the current branch (note that cvsimport requires the tracking branch is pristine -- you checked out the tracking branch but it is your responsibility not to make your own commits there), fast forward the branch head and match the index and working tree using two-way merge, just like "git pull" does. - If importing into a separate tracking branch, update that branch head, and merge it into your current branch, again, just like "git pull" does. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/pull'Junio C Hamano2006-03-231-2/+10
|\ \ | | | | | | | | | | | | | | | * jc/pull: git-pull: reword "impossible to fast-forward" message. git-pull: further safety while on tracking branch.
| * | git-pull: reword "impossible to fast-forward" message.Junio C Hamano2006-03-221-1/+7
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | git-pull: further safety while on tracking branch.Junio C Hamano2006-03-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Running 'git pull' while on the tracking branch has a built-in safety valve to fast-forward the index and working tree to match the branch head, but it errs on the safe side too cautiously. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'jc/fetch'Junio C Hamano2006-03-231-0/+1
|\ \ \ | | | | | | | | | | | | | | | | * jc/fetch: fetch: exit non-zero when fast-forward check fails.
| * | | fetch: exit non-zero when fast-forward check fails.Junio C Hamano2006-03-171-0/+1
| | |/ | |/| | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | send-email: Identify author at the top when sending e-mailJunio C Hamano2006-03-231-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | git-send-email did not check if the sender is the same as the patch author. Follow the "From: at the beginning" convention to propagate the patch author correctly. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Format tweaks for asciidoc.Francis Daly2006-03-222-10/+10
| |/ |/| | | | | | | | | | | | | Some documentation "options" were followed by independent preformatted paragraphs. Now they are associated plain text paragraphs. The difference is clear in the generated html. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-apply: do not barf when updating an originally empty file.Junio C Hamano2006-03-221-1/+1
| | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | http-push.c: squelch C90 warnings.Junio C Hamano2006-03-211-8/+12
| | | | | | | | | | | | | | If you write code after declarations in a block, gcc scolds you with "warning: ISO C90 forbids mixed declarations and code". Signed-off-by: Junio C Hamano <junkio@cox.net>
* | fix field width/precision warnings in blame.cLuck, Tony2006-03-211-1/+1
| | | | | | | | | | | | | | | | Using "size_t" values for printf field width/precision upsets gcc, it wants to see an "int". Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | contrib/git-svn: allow rebuild to work on non-linear remote headsEric Wong2006-03-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | Because committing back to an SVN repository from different machines can result in different lineages, two different repositories running git-svn can result in different commit SHA1s (but of the same tree). Sometimes trees that are tracked independently are merged together (usually via children), resulting in non-unique git-svn-id: lines in rev-list. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | http-push: don't assume char is signedNick Hengeveld2006-03-201-1/+1
| | | | | | | | | | | | | | | | Declare remote_dir_exists[] as signed char to be sure that values of -1 are valid. Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | http-push: add support for deleting remote branchesNick Hengeveld2006-03-201-1/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Processes new command-line arguments -d and -D to remove a remote branch if the following conditions are met: - one branch name is present on the command line - the specified branch name matches exactly one remote branch name - the remote HEAD is a symref - the specified branch is not the remote HEAD - the remote HEAD resolves to an object that exists locally (-d only) - the specified branch resolves to an object that exists locally (-d only) - the specified branch is an ancestor of the remote HEAD (-d only) Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Be verbose when !initial commitYasushi SHOJI2006-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | verbose option in git-commit.sh lead us to run git-diff-index, which needs a commit-ish we are making diff against. When we are commiting the fist set, we obviously don't have any commit-ish in the repo. So we just skip the git-diff-index run. It might be possible to produce diff against empty but do we need that? Signed-off-by: Yasushi SHOJI <yashi@atmark-techno.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Fix multi-paragraph list items in OPTIONS sectionFrancis Daly2006-03-202-23/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the html docs right, makes the asciidoc docs a bit odd but consistent with what is there already, and makes the manpages look OK using docbook-xsl 1.68, but miss a paragraph separator when using 1.69. For the manpages, current is like -A <author_file> Read a file with lines on the form username = User's Full Name <email@addr.es> and use "User's Full Name <email@addr.es>" as the GIT With this patch, docbook-xsl v1.68 looks like -A <author_file> Read a file with lines on the form username = User's Full Name <email@addr.es> and use "User's Full Name <email@addr.es>" as the GIT author and while docbook-xsl v1.69 becomes -A <author_file> Read a file with lines on the form username = User's Full Name <email@addr.es> and use "User's Full Name <email@addr.es>" as the GIT author and The extra indentation is to keep the v1.69 manpage looking sane.
* | http-fetch: nicer warning for a server with unreliable 404 statusJunio C Hamano2006-03-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a repository otherwise properly prepared is served by a dumb HTTP server that sends "No such page" output with 200 status for human consumption to a request for a page that does not exist, the users will get an alarming "File X corrupt" error message. Hint that they might be dealing with such a server at the end and suggest running fsck-objects to check if the result is OK (the pack-fallback code does the right thing in this case so unless a loose object file was actually corrupt the result should check OK). Signed-off-by: Junio C Hamano <junkio@cox.net>
* | generate-cmdlist: style cleanups.Junio C Hamano2006-03-191-3/+7
| | | | | | | | | | | | | | Instead of giving multiple commands concatenated with semicolon to sed, write them on separate lines. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Add missing semicolon to sed command.Shawn Pearce2006-03-191-1/+1
| | | | | | | | | | | | | | generate-cmdlist.sh is giving errors messages from sed on Mac OS 10.4 due to a missing semicolon. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | unpack_delta_entry(): reduce memory footprint.Junio C Hamano2006-03-191-8/+10
| | | | | | | | | | | | | | | | | | | | | | Currently we unpack the delta data from the pack and then unpack the base object to apply that delta data to it. When getting an object that is deeply deltified, we can reduce memory footprint by unpacking the base object first and then unpacking the delta data, because we will need to keep at most one delta data in memory that way. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git.el: Added a function to diff against the other heads in a merge.Alexandre Julliard2006-03-191-0/+11
| | | | | | | | | | | | | | | | | | git-diff-file-merge-head generates a diff against the first merge head, or with a prefix argument against the nth head. Bound to `d h' by default. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git.el: Get the default user name and email from the repository config.Alexandre Julliard2006-03-191-2/+9
| | | | | | | | | | | | | | | | | | If user name or email are not set explicitly, get them from the user.name and user.email configuration values before falling back to the Emacs defaults. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git.el: More robust handling of subprocess errors when returning strings.Alexandre Julliard2006-03-191-16/+13
| | | | | | | | | | | | | | | | Make sure that functions that call a git process and return a string always return nil when the subprocess failed. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Makefile: Add TAGS and tags targetsFredrik Kuivinen2006-03-181-2/+9
| | | | | | | | | | Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | ls-files: Don't require exclude files to end with a newline.Alexandre Julliard2006-03-181-1/+2
| | | | | | | | | | | | | | | | Without this patch, the last line of an exclude file is silently ignored if it doesn't end with a newline. Signed-off-by: Alexandre Julliard <julliard@winehq.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | git-pull: run repo-config with dash form.Junio C Hamano2006-03-181-2/+2
| | | | | | | | | | | | ... as discussed on the list for consistency. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'jc/empty'Junio C Hamano2006-03-181-2/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * jc/empty: revision traversal: --remove-empty fix (take #2). revision traversal: --remove-empty fix. Conflicts: revision.c (adjust for the updates by Fredrik)
| * | revision traversal: --remove-empty fix (take #2).Junio C Hamano2006-03-121-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marco Costalba reports that --remove-empty omits the commit that created paths we are interested in. try_to_simplify_commit() logic was dropping a parent we introduced those paths against, which I think is not what we meant. Instead, this makes such parent parentless. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | revision traversal: --remove-empty fix.Junio C Hamano2006-03-121-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marco Costalba reports that --remove-empty omits the commit that created paths we are interested in. try_to_simplify_commit() logic was dropping a parent we introduced those paths against, which I think is not what we meant. Instead, this marks such parent uninteresting. The traversal does not go beyond that parent as advertised, but we still say that the current commit changed things from that parent. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | 3% tighter packs for freeNicolas Pitre2006-03-171-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes for 3.4% smaller pack with the git repository, and a bit more than 3% smaller pack with the kernel repository. And so with _no_ measurable CPU difference. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Rewrite synopsis to clarify the two primary uses of git-checkout.Jon Loeliger2006-03-171-10/+13
| | | | | | | | | | | | | | | | | | | | | Fix a few typo/grammar problems. Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Fix minor typo.Jon Loeliger2006-03-171-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Reference git-commit-tree for env vars.Jon Loeliger2006-03-171-0/+4
| | | | | | | | | | | | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Clarify git-rebase example commands.Jon Loeliger2006-03-171-3/+3
| | | | | | | | | | | | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Document the default source of template files.Jon Loeliger2006-03-171-5/+13
| | | | | | | | | | | | | | | | | | | | | Also explain a bit more about how the template option works. Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Call out the two different uses of git-branch and fix a typo.Jon Loeliger2006-03-171-3/+7
| | | | | | | | | | | | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Add git-show referenceJon Loeliger2006-03-171-0/+3
| |/ |/| | | | | | | Signed-off-by: Jon Loeliger <jdl@jdl.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame: Fix git-blame <directory>Fredrik Kuivinen2006-03-171-0/+6
| | | | | | | | | | | | | | | | | | Before this patch git-blame <directory> gave non-sensible output. (It assigned blame to some random file in <directory>) Abort with an error message instead. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | blame: Nicer outputFredrik Kuivinen2006-03-171-5/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As pointed out by Junio, it may be dangerous to cut off people's names after 15 bytes. If the name is encoded in an encoding which uses more than one byte per code point we may end up with outputting garbage. Instead of trying to do something smart, just output the entire name. We don't gain much screen space by chopping it off anyway. Furthermore, only output the file name if we actually found any renames. Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>