summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-12-05Color support for "git-add -i"Libravatar Junio C Hamano3-20/+146
This is mostly lifted from earlier series by Dan Zwell, but updated to use "git config --get-color" and "git config --get-colorbool" to make it simpler and more consistent with commands written in C. A new configuration color.interactive variable is like color.diff and color.status, and controls if "git-add -i" uses color. A set of configuration variables, color.interactive.<slot>, are used to define what color is used for the prompt, header, and help text. For perl scripts, Git.pm provides $repo->get_color() method, which takes the slot name and the default color, and returns the terminal escape sequence to color the output text. $repo->get_colorbool() method can be used to check if color is set to be used for a given operation. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05git config --get-colorboolLibravatar Junio C Hamano7-7/+58
This adds an option to help scripts find out color settings from the configuration file. git config --get-colorbool color.diff inspects color.diff variable, and exits with status 0 (i.e. success) if color is to be used. It exits with status 1 otherwise. If a script wants "true"/"false" answer to the standard output of the command, it can pass an additional boolean parameter to its command line, telling if its standard output is a terminal, like this: git config --get-colorbool color.diff true When called like this, the command outputs "true" to its standard output if color is to be used (i.e. "color.diff" says "always", "auto", or "true"), and "false" otherwise. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05Documentation: color.* = true means "auto"Libravatar Junio C Hamano1-7/+7
We forgot to document the earlier sanity-fix. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05Merge branch 'maint'Libravatar Junio C Hamano4-13/+86
* maint: git-am -i: report rewritten title git grep shows the same hit repeatedly for unmerged paths Do check_repository_format() early (re-fix) Do check_repository_format() early Add missing inside_work_tree setting in setup_git_directory_gently
2007-12-05git-am -i: report rewritten titleLibravatar Junio C Hamano1-0/+5
Jeff Garzik noticed that "git am -i" reports the applied patch with the title before the user edited it. This was confusing. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05git grep shows the same hit repeatedly for unmerged pathsLibravatar Junio C Hamano1-6/+6
When the index is unmerged, e.g. $ git ls-files -u 100644 faf413748eb6ccb15161a212156c5e348302b1b6 1 setup.c 100644 145eca50f41d811c4c8fcb21ed2604e6b2971aba 2 setup.c 100644 cb9558c49b6027bf225ba2a6154c4d2a52bcdbe2 3 setup.c running "git grep" for work tree files repeats hits for each unmerged stage. $ git grep -n -e setup_work_tree -- '*.[ch]' setup.c:209:void setup_work_tree(void) setup.c:209:void setup_work_tree(void) setup.c:209:void setup_work_tree(void) This should fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05Merge branch 'nd/maint-work-tree-fix' into maintLibravatar Junio C Hamano2-7/+75
* nd/maint-work-tree-fix: Do check_repository_format() early (re-fix) Do check_repository_format() early Add missing inside_work_tree setting in setup_git_directory_gently
2007-12-05Do check_repository_format() early (re-fix)Libravatar Nguyễn Thái Ngọc Duy2-12/+72
This pushes check_repository_format() (actually _gently() version) to setup_git_directory_gently() in order to prevent from using unsupported repositories. New setup_git_directory_gently()'s behaviour is stop searching for a valid gitdir and return as if there is no gitdir if a unsupported repository is found. Warning will be thrown in these cases. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05Revert "git-am: catch missing author date early."Libravatar Junio C Hamano1-2/+2
This reverts commit 6e9e0327b7d7f384d8a223b4bc40330ef3e7fb61. People can prepare a text file with Subject: and From: headers and feed it to "am" (pretending the file is a piece of e-mail), and have actually been doing so. Strict checking for Date: breaks this established workflow, which wants to record the time of the commit as the author time. Thanks go to Jens Axboe for injection of sanity. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05git config: Don't rely on regexec() returning 1 on non-matchLibravatar Björn Steinbrink1-2/+1
Some systems don't return 1 from regexec() when the pattern does not match (notably HP-UX which returns 20). Bug identified by Dscho and H.Merijn Brand. Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de> Tested-by: H.Merijn Brand <h.m.brand@xs4all.nl> Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-05Documentation: add --patch option to synopsis of git-addLibravatar Matthias Kestenholz1-1/+1
Signed-off-by: Matthias Kestenholz <matthias@spinlock.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Set OLD_ICONV on Cygwin.Libravatar Pascal Obry1-0/+1
Cygwin still has old definition for the iconv() second parameter. This patch fixes the last warning on Cygwin. This has been tested with Cygwin 1.5.24. Signed-off-by: Pascal Obry <pascal@obry.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04t5510: add a bit more tests for fetchLibravatar Junio C Hamano1-0/+42
"git pull/fetch" that gets explicit refspecs from the command line should not update configured tracking refs. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Merge branch 'wc/add-i'Libravatar Junio C Hamano5-46/+242
* wc/add-i: git-add -i: add help text for list-and-choose UI add -i: allow prefix highlighting for "Add untracked" as well. Highlight keyboard shortcuts in git-add--interactive Document all help keys in "git add -i" patch mode. Add "--patch" option to git-add--interactive add -i: Fix running from a subdirectory builtin-add: fix command line building to call interactive git-add -i: allow multiple selection in patch subcommand Add path-limiting to git-add--interactive Teach builtin-add to pass multiple paths to git-add--interactive
2007-12-04Merge branch 'kh/commit'Libravatar Junio C Hamano23-103/+1249
* kh/commit: (33 commits) git-commit --allow-empty git-commit: Allow to amend a merge commit that does not change the tree quote_path: fix collapsing of relative paths Make git status usage say git status instead of git commit Fix --signoff in builtin-commit differently. git-commit: clean up die messages Do not generate full commit log message if it is not going to be used Remove git-status from list of scripts as it is builtin Fix off-by-one error when truncating the diff out of the commit message. builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well. Add a few more tests for git-commit builtin-commit: Include the diff in the commit message when verbose. builtin-commit: fix partial-commit support Fix add_files_to_cache() to take pathspec, not user specified list of files Export three helper functions from ls-files builtin-commit: run commit-msg hook with correct message file builtin-commit: do not color status output shown in the message template file_exists(): dangling symlinks do exist Replace "runstatus" with "status" in the tests t7501-commit: Add test for git commit <file> with dirty index. ...
2007-12-04Merge branch 'sp/refspec-match'Libravatar Junio C Hamano8-39/+105
* sp/refspec-match: refactor fetch's ref matching to use refname_match() push: use same rules as git-rev-parse to resolve refspecs add refname_match() push: support pushing HEAD to real branch name
2007-12-04Simplify crud() in ident.cLibravatar Alex Riesen1-19/+9
Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Do not rely on the exit status of "unset" for unset variablesLibravatar H.Merijn Brand2-13/+13
POSIX says that exit status "0" means that "unset" successfully unset the variable. However, it is kind of ambiguous if an environment variable which was not set could be successfully unset. At least the default shell on HP-UX insists on reporting an error in such a case, so just ignore the exit status of "unset". [Dscho: extended the patch to git-submodule.sh, as Junio realized that this is the only other place where we check the exit status of "unset".] Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04gitweb: use Perl built-in utf8 function for UTF-8 decoding.Libravatar İsmail Dönmez1-4/+3
Signed-off-by: İsmail Dönmez <ismail@pardus.org.tr> Tested-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04t9600: require cvsps 2.1 to perform testsLibravatar Jeff King1-2/+18
git-cvsimport won't run at all with less than cvsps 2.1, because it lacks the -A flag. But there's no point in preventing people who have an old cvsps from running the full testsuite. Tested-by: A Large Angry SCM <gitzilla@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04contrib: Make remotes2config.sh script more robustLibravatar Jakub Narebski1-4/+4
The remotes2config.sh script replaced all 'unsafe' characters in repo name with '.'; include '-' in the 'safe' characters set (the set is probably even larger). Script required also space after "URL:", "Push:" and "Pull:" in remotes file. This for example made the following remote URL: git://git.kernel.org/pub/scm/git/git.git Pull: refs/heads/master:refs/heads/origin Pull:+refs/heads/pu:refs/heads/pu miss 'pu' branch (forced branch) in config file after conversion. Allow for any number of whitespace after "URL:", "Push:", "Pull:". Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Use a strbuf for copying the command line for the reflog.Libravatar Kristian Høgsberg1-16/+8
Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Documentation/git.txt: typofixLibravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Documentation: rerere is enabled by default these days.Libravatar Junio C Hamano2-5/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-04Formatting fix for Documentation/git-help.txtLibravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Update draft release notes for 1.5.4Libravatar Junio C Hamano1-21/+58
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0Libravatar Johannes Schindelin1-3/+16
Earlier, ':/<oneline-prefix>' would not work (i.e. die) with commands that set save_commit_buffer = 0, such as blame, describe, pack-objects, reflog and bundle. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Add git-fast-export to list of commands.Libravatar Junio C Hamano1-0/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03fast-export: rename the signed tag mode 'ignore' to 'verbatim'Libravatar Johannes Schindelin3-8/+8
The name 'verbatim' describes much better what this mode does with signed tags. While at it, fix the documentation what it actually does. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Add remote.<name>.proxyLibravatar Sam Vilain4-1/+18
As well as allowing a default http.proxy option, allow it to be set per-remote. Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Allow HTTP proxy to be overridden in configLibravatar Sam Vilain2-0/+15
The http_proxy / HTTPS_PROXY variables used by curl to control proxying may not be suitable for git. Allow the user to override them in the configuration file. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Trace and quote with argv: get rid of unneeded count argument.Libravatar Christian Couder7-20/+12
Now that str_buf takes care of all the allocations, there is no more gain to pass an argument count. So this patch removes the "count" argument from: - "sq_quote_argv" - "trace_argv_printf" and all the callers. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03install-sh from automake does not like -m without delimiting spaceLibravatar Robert Schiele3-11/+11
The install-sh script as shipped with automake requires a space between the -m switch and its argument. Since this is also the regular way of doing it with other install implementations this change inserts the missing space in all makefiles. Signed-off-by: Robert Schiele <rschiele@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03Documentation: add a new man page for "git-help"Libravatar Christian Couder4-3/+53
Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03git-commit documentation: fix unfinished sentence.Libravatar Junio C Hamano1-3/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03git-add -i: add help text for list-and-choose UILibravatar Wincent Colaiuta1-1/+30
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03git-commit --allow-emptyLibravatar Junio C Hamano1-2/+3
It does not usually make sense to record a commit that has the exact same tree as its sole parent commit and that is why git-commit prevents you from making such a mistake, but when data from foreign scm is involved, it is a different story. We are equipped to represent such an (perhaps insane, perhaps by mistake, or perhaps done on purpose) empty change, and it is better to represent it bypassing the safety valve for native use. This is primarily for use by foreign scm interface scripts. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03git-commit --allow-emptyLibravatar Junio C Hamano3-4/+24
It does not usually make sense to record a commit that has the exact same tree as its sole parent commit and that is why git-commit prevents you from making such a mistake, but when data from foreign scm is involved, it is a different story. We are equipped to represent such an (perhaps insane, perhaps by mistake, or perhaps done on purpose) empty change, and it is better to represent it bypassing the safety valve for native use. This is primarily for use by foreign scm interface scripts. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-03git-commit: Allow to amend a merge commit that does not change the treeLibravatar Johannes Sixt2-3/+38
Normally, it should not be allowed to generate an empty commit. A merge commit generated with git 'merge -s ours' does not change the tree (along the first parent), but merges are not "empty" even if they do not change the tree. Hence, commit 8588452ceb7 allowed to amend a merge commit that does not change the tree, but 4fb5fd5d301 disallowed it again in an attempt to avoid that an existing commit is amended such that it becomes empty. With this change, a commit can be edited (create a new one or amend an existing one) either if there are changes or if there are at least two parents. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-02git-commit: Allow to amend a merge commit that does not change the treeLibravatar Junio C Hamano1-1/+10
Normally, it should not be allowed to generate an empty commit. A merge commit generated with git 'merge -s ours' does not change the tree (along the first parent), but merges are not "empty" even if they do not change the tree. Hence, we should be careful not to forbid this case. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-02quote_path: fix collapsing of relative pathsLibravatar Jeff King2-6/+7
The code tries to collapse identical leading components between the prefix and the path. So if we're in "dir1", the path "dir1/file" should become just "file". However, we were ending up with "../dir1/file". The included test expected the wrong output. The "len" parameter to quote_path can be negative to mean "this is a NUL terminated string". Simply count it so that the loop can rely on it being the length of the path. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-02Make git status usage say git status instead of git commitLibravatar Shawn Bohrer1-5/+10
git status shares the same usage information as git commit since it shows what would be committed if the same options are given. However, when displaying the usage information for git status it should say it is for git status not git commit. Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-02Fix --signoff in builtin-commit differently.Libravatar Junio C Hamano3-14/+27
Introduce fmt_name() specifically meant for formatting the name and email pair, to add signed-off-by value. This reverts parts of 13208572fbe8838fd8835548d7502202d1f7b21d (builtin-commit: fix --signoff) so that an empty datestamp string given to fmt_ident() by mistake will error out as before. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-12-02Merge branch 'js/prune-expire'Libravatar Junio C Hamano3-2/+42
* js/prune-expire: Add "--expire <time>" option to 'git prune'
2007-12-02Merge branch 'js/export-with-assignment'Libravatar Junio C Hamano3-13/+19
* js/export-with-assignment: Replace instances of export VAR=VAL with VAR=VAL; export VAR
2007-12-02Merge branch 'js/fast-export'Libravatar Junio C Hamano7-0/+616
* js/fast-export: Add 'git fast-export', the sister of 'git fast-import'
2007-12-02Merge branch 'js/rebase-i-rerere'Libravatar Junio C Hamano1-1/+4
* js/rebase-i-rerere: rebase -i: give rerere a chance
2007-12-02Merge branch 'js/pull-rebase'Libravatar Junio C Hamano4-1/+49
* js/pull-rebase: Teach 'git pull' about --rebase
2007-12-02Merge branch 'wc/rebase-insn'Libravatar Junio C Hamano2-10/+28
* wc/rebase-insn: Mention that git-rm can be an appropriate resolution as well as git-add. revert/cherry-pick: Allow overriding the help text by the calling Porcelain
2007-12-02Merge branch 'jc/typebreak'Libravatar Junio C Hamano6-14/+105
* jc/typebreak: Enable rewrite as well as rename detection in git-status rename: Break filepairs with different types.