summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-02-15hg-to-git: fix parent analysisLibravatar Stelian Pop1-1/+1
Fix a bug in the hg-to-git convertor introduced by commit 1bc7c13af9f936aa80893100120b542338a10bf4: when searching the changeset parents, 'hg log' returns an extra space at the end of the line, which confuses the .split(' ') based tokenizer: Traceback (most recent call last): File "hg-to-git.py", line 123, in <module> hgchildren[mparent] += ( str(cset), ) KeyError: '' Signed-off-by: Stelian Pop <stelian@popies.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15mailinfo: feed only one line to handle_filter() for QP inputLibravatar Jay Soffian6-1/+45
The function is intended to be fed one logical line at a time to inspect, but a QP encoded raw input line can have more than one lines, just like BASE64 encoded one. Quoting LF as =0A may be unusual but RFC2045 allows it. The issue was noticed and fixed by Jay Soffian. JC added a test to protect the fix from regressing later. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15diff.c: add "const" qualifier to "char *cmd" member of "struct ll_diff_driver"Libravatar Christian Couder1-5/+2
Also use "git_config_string" to simplify code where "cmd" is set. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15Add "const" qualifier to "char *excludes_file".Libravatar Christian Couder3-8/+4
Also use "git_config_string" to simplify "config.c" code where "excludes_file" is set. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15Add "const" qualifier to "char *editor_program".Libravatar Christian Couder3-8/+4
Also use "git_config_string" to simplify "config.c" code where "editor_program" is set. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15Add "const" qualifier to "char *pager_program".Libravatar Christian Couder3-8/+4
Also use "git_config_string" to simplify "config.c" code where "pager_program" is set. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15config: add 'git_config_string' to refactor string config variables.Libravatar Christian Couder2-13/+13
In many places we just check if a value from the config file is not NULL, then we duplicate it and return 0. This patch introduces the new 'git_config_string' function to do that. This function is also used to refactor some code in 'config.c'. Refactoring other files is left for other patches. Also not all the code in "config.c" is refactored, because the function takes a "const char **" as its first parameter, but in many places a "char *" is used instead of a "const char *". (And C does not allow using a "char **" instead of a "const char **" without a warning.) Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15diff.c: remove useless check for value != NULLLibravatar Christian Couder1-7/+2
It is not necessary to check if value != NULL before calling 'parse_lldiff_command' as there is already a check inside this function. By the way this patch also improves the existing check inside 'parse_lldiff_command' by using: return config_error_nonbool(var); instead of: return error("%s: lacks value", var); Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15fast-import: check return value from unpack_entry()Libravatar Shawn O. Pearce1-0/+2
If the tree object we have asked for is deltafied in the packfile and the delta did not apply correctly or was not able to be decompressed from the packfile then we can get back NULL instead of the tree data. This is (part of) the reason why read_sha1_file() can return NULL, so we need to also handle it the same way. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15Validate nicknames of remote branches to prohibit confusing onesLibravatar Daniel Barkalow1-1/+11
The original problem was that the parsers for configuration files were getting confused by seeing as nicknames remotes that involved directory-changing characters. In particular, the branches config file for ".." was particularly mystifying on platforms that can open directories and read odd data from them. The validation function was written by Junio Hamano (with a typo corrected). Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15diff.c: replace a 'strdup' with 'xstrdup'.Libravatar Christian Couder1-1/+1
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-15diff.c: fixup garding of config parser from value=NULLLibravatar Junio C Hamano1-1/+1
Christian Couder noticed that there still were a handcrafted error() call that we should have converted to config_error_nonbool() where parse_lldiff_command() parses the configuration file. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13config: add test cases for empty value and no value config variables.Libravatar Christian Couder1-0/+23
The tests in 't1300-repo-config.sh' did not check what happens when an empty value like the following is used in the config file: [emptyvalue] variable = Also it was not checked that a variable with no value like the following: [novalue] variable gives a boolean "true" value, while an ampty value gives a boolean "false" value. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13cvsimport: have default merge regex also match beginning of commit messageLibravatar Gerrit Pape1-1/+1
The default value of @mergerx uses \W, which matches a non-word character; this means that commit messages like "Merging FOO" are not matched by default; using \b, which matches a word boundary, instead of \W fixes that. This change was suggested by Frédéric Brière through http://bugs.debian.org/463468 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13git clone -s documentation: force a new paragraph for the NOTELibravatar Miklos Vajna1-6/+7
It should be loud and clear. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13status: suggest "git rm --cached" to unstage for initial commitLibravatar Jeff King2-2/+11
It makes no sense to suggest "git reset HEAD" since we have no HEAD commit. This actually used to work but regressed in f26a0012. wt_status_print_cached_header was updated to take the whole wt_status struct rather than just the reference field. Previously the various code paths were sometimes sending in s->reference and sometimes sending in NULL, making the decision on whether this was an initial commit before we even got to this function. Now we must check the initial flag here. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13Protect get_author_ident_from_commit() from filenames in work treeLibravatar Junio C Hamano2-1/+23
We used to use "cat-file commit $commit" to extract the original author information from existing commit, but an earlier commit 5ac2715 (Consistent message encoding while reusing log from an existing commit) changed it to use "git show -s $commit". If you have a file in your work tree that can be interpreted as a valid object name (e.g. "HEAD"), this conversion will not work. Disambiguate by marking the end of revision parameter on the comand line with an explicit "--" to fix this. This breakage is most visible with rebase when a file called "HEAD" exists in the worktree. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13upload-pack: Initialize the exec-path.Libravatar Johannes Sixt1-0/+3
Since git-upload-pack has to spawn git-pack-objects, it has to make sure that the latter can be found in the PATH. Without this patch an attempt to clone or pull via ssh from a server fails if the git tools are not in the standard PATH on the server even though git clone or git pull were invoked with --upload-pack=/path/to/git-upload-pack. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13bisect: use verbatim commit subject in the bisect logLibravatar Johannes Schindelin1-1/+1
Due to a typo, the commit subject was shell expanded in the bisect log. That is, if you had some shell pattern in the commit subject, bisect would happily put all matching file names into the log. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Tested-by: Frans Pop <elendil@planet.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-13git-cvsimport.txt: fix '-M' description.Libravatar Sergei Organov1-2/+2
Fix '-M' description. Old one reads as if the user can somehow "see" the default regex when using -M along with -m. Signed-off-by: Sergei Organov <osv@javad.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-12Revert "pack-objects: only throw away data during memory pressure"Libravatar Junio C Hamano1-11/+2
This reverts commit 9c2174350cc0ae0f6bad126e15fe1f9f044117ab. Nico analyzed and found out that this does not really help, and I agree with it. By the time this gets into action and data is actively thrown away, performance simply goes down the drain due to the data constantly being reloaded over and over and over and over and over and over again, to the point of virtually making no relative progress at all. The previous behavior of enforcing the memory limit by dynamically shrinking the window size at least had the effect of allowing some kind of progress, even if the end result wouldn't be optimal. And that's the whole point behind this memory limiting feature: allowing some progress to be made when resources are too limited to let the repack go unbounded.
2008-02-11config.c: guard config parser from value=NULLLibravatar Junio C Hamano1-1/+15
user.{name,email}, core.{pager,editor,excludesfile,whitespace} and i18n.{commit,logoutput}encoding all expect string values. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-log.c: guard config parser from value=NULLLibravatar Junio C Hamano1-3/+2
format.suffix expects a string value. format.numbered is bool plus "auto" Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11imap-send.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+4
None of the configuration variables this expects is boolean. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11wt-status.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
status.color.* and color.status.* expect a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11setup.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
core.worktree expects a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11remote.c: guard config parser from value=NULLLibravatar Junio C Hamano1-3/+6
branch.*.{remote,merge} expect a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11merge-recursive.c: guard config parser from value=NULLLibravatar Junio C Hamano1-5/+6
merge.default, merge.*.{name,driver} expect a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11http.c: guard config parser from value=NULLLibravatar Junio C Hamano1-10/+15
http.sslcert and friends expect a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11help.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
help.format configuration expects a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11git.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
alias.* configuration expects a string value Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11diff.c: guard config parser from value=NULLLibravatar Junio C Hamano1-2/+12
diff.external, diff.*.command, diff.color.*, color.diff.* and diff.*.funcname configuration variables expect a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11convert.c: guard config parser from value=NULLLibravatar Junio C Hamano1-2/+2
filter.*.smudge and filter.*.clean configuration variables expect a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11connect.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
core.gitproxy configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-tag.c: guard config parser from value=NULLLibravatar Junio C Hamano1-1/+1
user.signingkey configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-show-branch.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
showbranch.default configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-reflog.c: guard config parser from value=NULLLibravatar Junio C Hamano1-5/+11
gc.reflogexpire and gc.reflogexpireunreachable configuration expect a string value suitable for calling approxidate() with. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-log.c: guard config parser from value=NULLLibravatar Junio C Hamano1-1/+1
format.subjectprefix configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-config.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
color configuration variables expect a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-commit.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
commit.template configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-branch.c: guard config parser from value=NULLLibravatar Junio C Hamano1-3/+6
color.branch.* configuration variables expect a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-apply.c: guard config parser from value=NULLLibravatar Junio C Hamano1-0/+2
apply.whitespace configuration expects a string value. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11Add config_error_nonbool() helper functionLibravatar Junio C Hamano2-0/+10
This is used to report misconfigured configuration file that does not give any value to a non-boolean variable, e.g. [section] var It is perfectly fine to say it if the section.var is a boolean (it means true), but if a variable expects a string value it should be flagged as a configuration error. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-gc.c: guard config parser from value=NULLLibravatar Miklos Vajna1-1/+1
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11archive-tar.c: guard config parser from value=NULLLibravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11Work around curl-gnutls not liking to be reinitializedLibravatar Mike Hommey1-4/+3
curl versions 7.16.3 to 7.18.0 included had a regression in which https requests following curl_global_cleanup/init sequence would fail with ASN1 parser errors with curl-gnutls. Such sequences happen in some cases such as git fetch. We work around this by removing the http_init and http_cleanup calls from get_refs_via_curl, replacing them with a transport->data initialization with the http_walker (which does http_init). While the http_walker is not currently used in get_refs_via_curl, http and walker code refactor will make it use it. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11man pages are littered with .ft C and othersLibravatar Jonas Fonseca2-1/+20
Jakub Narebski <jnareb@gmail.com> wrote Sun, Feb 03, 2008: > Junio C Hamano wrote: > > Jakub Narebski <jnareb@gmail.com> writes: > > > > [From] http://thread.gmane.org/gmane.comp.version-control.git/53457/focus=53458 > Julian Phillips: > > Are you using docbook xsl 1.72? There are known problems building the > > manpages with that version. 1.71 works, and 1.73 should work when it get > > released. I was able to solve this problem with this patch, which adds a XSL file used specifically for DOCBOOK_XSL_172=YesPlease and where dots and backslashes are escaped properly so they won't be substituted to the wrong thing further down the "DocBook XSL pipeline". Doing the escaping in the existing callout.xsl breaks v1.70.1. Hopefully v1.73 will end this part of the manpage nightmare. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11Add a BuildRequires for gettext in the spec file.Libravatar James Bowes1-1/+4
Signed-off-by: James Bowes <jbowes@dangerouslyinc.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11pack-objects: only throw away data during memory pressureLibravatar Martin Koegler1-2/+11
If pack-objects hit the memory limit, it deletes objects from the delta window. This patch make it only delete the data, which is recomputed, if needed again. Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Acked-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-11builtin-commit: remove .git/SQUASH_MSG upon successful commitLibravatar Gerrit Pape1-0/+1
After doing a merge --squash, and commit afterwards, the commit message template SQUASH_MSG in the git directory is not removed, which means that the content of SQUASH_MSG is used as default commit message for all subsequent commits. So have git commit remove the file SQUASH_MSG from the git directory upon a successful commit. The problem was discovered by Frédéric Brière, reported through http://bugs.debian.org/464656 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>