Re: [PATCH] Documentation/git-rebase.txt: fix -f description to match actual git behavior.

2014-08-18 Thread Sergey Organov
Junio C Hamano gits...@pobox.com writes: Sergey Organov sorga...@gmail.com writes: A sentence --force has no effect under --preserve-merges mode does not tell the readers very much, either and leaves them wondering if it means --preserve-merges mode always rebases every time it is asked,

[PATCH] make config --add behave correctly for empty and NULL values

2014-08-18 Thread Tanay Abhra
Currently if we have a config file like, [foo] baz bar = and we try something like, git config --add foo.baz roll, Git will segfault. Moreover, for git config --add foo.bar roll, it will overwrite the original value instead of appending after the existing empty value. The problem

Cannot run cmd command lines from GIT bash

2014-08-18 Thread Dickson, Alex
HI, I have just installed GIT from Git-1.9.4-preview20140815.exe having previously been using Git-1.9.2-preview20140411.exe I now find that some scripts I have been using for some time are no longer working correctly. It seems that now I cannot pass parameters through to a DOS  command e.g.    

RE: Understanding behavior of git blame -M

2014-08-18 Thread Sokolov, Konstantin (ext)
Seems like not detecting single line movements is per design and just the documentation is not precise about this. Could such an enhancement be considered as a feature request? We're using git (blame) as a low level tool for building further functionality on top of it. Maintaining a custom

Re: [PATCH] make config --add behave correctly for empty and NULL values

2014-08-18 Thread Matthieu Moy
Tanay Abhra tanay...@gmail.com writes: Currently if we have a config file like, [foo] baz bar = and we try something like, git config --add foo.baz roll, Git will segfault. Moreover, for git config --add foo.bar roll, it will overwrite the original value instead of

RE: Admin Alert

2014-08-18 Thread Tidwell, James
From: Tidwell, James Sent: Monday, August 18, 2014 4:45 AM To: Tidwell, James Subject: Admin Alert Help desk will undergo unscheduled system maintenance today in order to improve your account. The new Microsoft Outlook Web-access 2014 which will be installed on

Re: [PATCH] Documentation/git-rebase.txt: fix -f description to match actual git behavior.

2014-08-18 Thread Sergey Organov
Junio C Hamano gits...@pobox.com writes: Sergey Organov sorga...@gmail.com writes: ... I.e., git must not rebase anything when Current branch is a descendant of the commit you are rebasing onto, unless -f is given. Simple, reasonable, straightforward. It may be simple and straightforward,

Re: Cannot run cmd command lines from GIT bash

2014-08-18 Thread Robin Rosenberg
- Ursprungligt meddelande - Från: Alex Dickson alex_dick...@mentor.com Till: git@vger.kernel.org Skickat: måndag, 18 aug 2014 13:07:46 Ämne: Cannot run cmd command lines from GIT bash HI, I have just installed GIT from Git-1.9.4-preview20140815.exe having previously been using

Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:14 PM, Daniel Corbe co...@corbe.net wrote: Karsten Blees karsten.bl...@gmail.com writes: Am 18.08.2014 00:01, schrieb Erik Faye-Lund: On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe co...@corbe.net wrote: I installed git on my Windows machine while it was connected

RE: Cannot run cmd command lines from GIT bash

2014-08-18 Thread Dickson, Alex
Thanks for your reply, I hadn't known that msys did translation of parameters with /. Doubling these up does make the commands work, but doesn’t explain why they used to work and now don't :( Alex Dickson, IESD, Mentor Graphics, Newbury, UK. phone:+44 1635 811429,fax:+44 1635 810102

Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe
Erik Faye-Lund kusmab...@gmail.com writes: Or you could just restart your shell when you disconnect... Well I'm not that daft. I tried that and if it had resolved my problem I wouldn't have posted. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to

Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe co...@corbe.net wrote: Erik Faye-Lund kusmab...@gmail.com writes: Or you could just restart your shell when you disconnect... Well I'm not that daft. I tried that and if it had resolved my problem I wouldn't have posted. Hm, but isn't that

Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund kusmab...@gmail.com wrote: On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe co...@corbe.net wrote: Erik Faye-Lund kusmab...@gmail.com writes: Or you could just restart your shell when you disconnect... Well I'm not that daft. I tried that and if

Re: [PATCH] Documentation/git-rebase.txt: fix -f description to match actual git behavior.

2014-08-18 Thread Junio C Hamano
Sergey Organov sorga...@gmail.com writes: (I rarely use preserve-merges myself, so I offhand do not know for certain). I wonder, don't you yourself use preserve-merges because you don't care and just use the default, or because you actually use vanilla history-flattening feature? The

Re: [PATCH] read-cache.c: Ensure unmerged entries are removed

2014-08-18 Thread Junio C Hamano
Jaime Soriano Pastor jsorianopas...@gmail.com writes: I'd like to add some tests too for this, but I don't know how to reproduce this state with git commands only, is there any way to add entries to the index without checkings? Perhaps feeding update-index --index-info four input lines would

Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe
Karsten Blees karsten.bl...@gmail.com writes: Am 18.08.2014 00:01, schrieb Erik Faye-Lund: On Sun, Aug 17, 2014 at 10:18 PM, Daniel Corbe co...@corbe.net wrote: I installed git on my Windows machine while it was connected to my corporate network. It picked up on that fact and used a mapped

Re: [PATCH v3 03/10] setup: convert setup_git_directory_gently_1 et al. to strbuf

2014-08-18 Thread Junio C Hamano
René Scharfe l@web.de writes: Is there a chance to squueze this in: $ git diff diff --git a/setup.c b/setup.c index 526cdf6..fb61860 100644 --- a/setup.c +++ b/setup.c @@ -734,7 +734,7 @@ static const char *setup_git_directory_gently_1(int *nongit_ok)

Re: t5534 broken when gpg not installed

2014-08-18 Thread Junio C Hamano
Torsten Bögershausen tbo...@web.de writes: (I couldn't find a post for this patch) Thanks. This is from a topic near the tip of 'pu' I have been toying with on and off but not yet ready to be sent to the list. The following is needed for systems without gpg to make t5534 pass: diff --git

Re: [PATCH] run-command: introduce CHILD_PROCESS_INIT

2014-08-18 Thread Junio C Hamano
Jeff King p...@peff.net writes: I'm a little worried, though, that use sites without initializers would be left behind. For example, git_proxy_connect uses xcalloc to allocate the child_process, which results in all-bits-zero. If we want to start caring about the initialization, we probably

Re: [PATCH] git-imap-send: simplify tunnel construction

2014-08-18 Thread Junio C Hamano
Bernhard Reiter ock...@raz.or.at writes: Signed-off-by: Bernhard Reiter ock...@raz.or.at --- imap-send.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Oy. Where is the patch? Please avoid multipart/mixed on this list. Thanks. -- To unsubscribe from this list: send the line

Re: Location of git config on Windows

2014-08-18 Thread Daniel Corbe
Erik Faye-Lund kusmab...@gmail.com writes: On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund kusmab...@gmail.com wrote: On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe co...@corbe.net wrote: Erik Faye-Lund kusmab...@gmail.com writes: Or you could just restart your shell when you disconnect...

Re: [PATCH] git-imap-send: simplify tunnel construction

2014-08-18 Thread Bernhard Reiter
Am 2014-08-18 um 19:00 schrieb Junio C Hamano: Bernhard Reiter ock...@raz.or.at writes: Signed-off-by: Bernhard Reiter ock...@raz.or.at --- imap-send.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) Oy. Where is the patch? Please avoid multipart/mixed on this list.

Re: [PATCH] read-cache.c: Ensure unmerged entries are removed

2014-08-18 Thread Jaime Soriano Pastor
Yes, --index-info worked for this purpouse, thanks! https://github.com/jsoriano/git/blob/remove-unmerged-index-entry/t/t9904-unmerged-file-with-merged-entry.sh#L25 I'll try to send the patches to the mailing lists later today or tomorrow. On Mon, Aug 18, 2014 at 6:34 PM, Junio C Hamano

Re: Location of git config on Windows

2014-08-18 Thread Erik Faye-Lund
On Mon, Aug 18, 2014 at 7:05 PM, Daniel Corbe co...@corbe.net wrote: Erik Faye-Lund kusmab...@gmail.com writes: On Mon, Aug 18, 2014 at 5:47 PM, Erik Faye-Lund kusmab...@gmail.com wrote: On Mon, Aug 18, 2014 at 5:40 PM, Daniel Corbe co...@corbe.net wrote: Erik Faye-Lund kusmab...@gmail.com

Re: [PATCH] make config --add behave correctly for empty and NULL values

2014-08-18 Thread Junio C Hamano
Tanay Abhra tanay...@gmail.com writes: Currently if we have a config file like, [foo] baz bar = and we try something like, git config --add foo.baz roll, Git will segfault. Thanks; this is a good find. This is a tangent, but people please stop starting their sentence with

Relative submodule URLs

2014-08-18 Thread Robert Dailey
The documentation wasn't 100% clear on this, but I'm assuming by remote origin, it says that the relative URL is relative to the actual remote *named* origin (and it is not using origin as just a general terminology). Is there a way to specify (on a per-clone basis) which named remote will be

[PATCH] Push the NATIVE_CRLF Makefile variable to C and added a test for native.

2014-08-18 Thread Torsten Bögershausen
Commit 95f31e9a correctly points out that the NATIVE_CRLF setting is incorrectly set on Mingw git. However, the Makefile variable is not propagated to the C preprocessor and results in no change. This patch pushes the definition to the C code and adds a test to validate that when core.eol as

Re: Relative submodule URLs

2014-08-18 Thread Jonathan Nieder
Hi, Robert Dailey wrote: The documentation wasn't 100% clear on this, but I'm assuming by remote origin, it says that the relative URL is relative to the actual remote *named* origin (and it is not using origin as just a general terminology). Thanks for reporting. The remote used is the

[PATCH v3 00/27] Enable options --signoff, --reset-author for pick, reword, edit

2014-08-18 Thread Fabian Ruch
Hi, this is the third reroll of the patch series that makes the well-known commit options `--signoff` and `--reset-author` available to be used with the to-do list commands `pick`, `reword` and `edit`. What follows is a short changelog since the second reroll from almost two weeks ago. The

[PATCH v3 03/27] rebase -i: allow rewording empty commits without complaints

2014-08-18 Thread Fabian Ruch
The to-do list command `reword` replays a commit like `pick` but lets the user also edit the commit's log message. If `--keep-empty` is passed as option to git-rebase--interactive, empty commits ought to be replayed without complaints. However, if the users chooses to reword an empty commit by

[PATCH v3 04/27] fake_editor: leave standard output unchanged

2014-08-18 Thread Fabian Ruch
The helper function `set_fake_editor` installs a script as `GIT_EDITOR` that applies pre-defined editing rules to the files it is called with, which is a quite powerful tool when writing test cases for git-rebase--interactive. To aid in debugging the changes it makes, the installed script dumps

[PATCH v3 01/27] rebase -i: allow replaying commits with empty log messages

2014-08-18 Thread Fabian Ruch
git-rebase--interactive handles empty log messages inconsistently between enabled and disabled fast-forwards. By default, commits with empty log messages are rebased successfully like in non-interactive mode. In contrast, the `--no-ff` option aborts the replay of such commits. In line with not

[PATCH v3 08/27] rebase -i: verify squash messages using commit-msg

2014-08-18 Thread Fabian Ruch
Using the to-do list command `squash` the user can specify two or more commits and git-rebase creates one commit that introduces all their changes combined. The authorship for the created commit is taken from the first commit specified and the user can edit the log message. There is a variant of

[PATCH v3 02/27] rebase -i: allow squashing empty commits without complaints

2014-08-18 Thread Fabian Ruch
The to-do list commands `squash` and `fixup` apply the changes introduced by the named commit to the tree but instead of creating a new commit on top of the current head it replaces the previous commit with a new commit that records the updated tree. If the result is an empty commit git-rebase

[PATCH v3 05/27] rebase -i: hide interactive command messages in verbose mode

2014-08-18 Thread Fabian Ruch
git-rebase--interactive prints summary messages of the commits it creates in the final history only if the `--verbose` option is specified by the user and suppresses them otherwise. This behaviour is implemented by wrapping git-commit calls in a shell function named `output` which redirects stderr

[PATCH v3 06/27] rebase -i: discard redundant message when rewording fails

2014-08-18 Thread Fabian Ruch
The to-do list command `reword` replays a commit like `pick` but lets the user also edit the commit's log message. If the edited log message is empty or is found ill-formatted by one of the commit hooks, git-rebase--interactive prints three error messages to the console. 1. The git-commit

[PATCH v3 25/27] rebase -i: do not overwrite user author information

2014-08-18 Thread Fabian Ruch
The shell function `get_author_ident_from_commit` defined by git-sh-setup retrieves the author information from the named commit and returns assignments of the environment variables GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE ready for evaluation by the shell. This interface is

[PATCH v3 24/27] rebase -i: teach do_pick the option --signoff

2014-08-18 Thread Fabian Ruch
`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive that is currently used to implement most of the to-do list commands and offers additional options that will eventually find their way onto to-do lists. To extend the repertoire of available options, add the git-commit and

[PATCH v3 23/27] rebase -i: teach do_pick the option --reset-author

2014-08-18 Thread Fabian Ruch
`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive that is used to implement many of the to-do list commands. Eventually, the complete `do_pick` interface will be exposed to the user in some form or another and those commands will become simple aliases for the `do_pick` options

[PATCH v3 27/27] rebase -i: enable --signoff, --reset-author for pick, reword, edit

2014-08-18 Thread Fabian Ruch
Lift the general unknown option blockade for the `pick`, `reword` and `edit` commands. If `do_cmd` comes across one of the options `--signoff` and `--reset-author` while parsing a to-do entry and the scheduled command is either `pick` or `reword`, relay the option to `do_pick`. Remember to add

[PATCH v3 07/27] commit: allow disabling pre-commit and commit-msg separately

2014-08-18 Thread Fabian Ruch
Introduce the git-commit command line options `--no-pre-commit` and `--no-commit-msg` to disable the pre-commit and commit-msg hooks, respectively. Make `--no-verify` a synonym for specifying both at the same time. This change is motivated by an internal usage of git-commit in

[PATCH v3 16/27] rebase -i: teach do_pick the option --amend

2014-08-18 Thread Fabian Ruch
`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive that is used to implement the to-do list commands `pick`, `reword` and `edit`. To cater for the different pick behaviours (like `squash`), `do_pick` accepts several options not only from the git-cherry-pick but also the git-commit

[PATCH v3 09/27] rebase -i: do not verify reworded patches using pre-commit

2014-08-18 Thread Fabian Ruch
The to-do list command `reword` replays a commit like `pick` but lets the user also edit the commit's log message. This happens in two steps. Firstly, the named commit is cherry-picked. Secondly, the commit created in the first step is amended using an unchanged index to edit the log message. The

[PATCH v3 26/27] rebase -i: refuse to commit when resuming with updated head

2014-08-18 Thread Fabian Ruch
If git-rebase--interactive fails to apply the changes introduced by a commit due to conflicts, it interrupts the rebase process and gives the user a shell to resolve the conflicts manually. The process is resumed when the user executes `git rebase --continue`. If the index has changes, the script

[PATCH v3 18/27] rebase -i: remove no-op do_with_author git commit --amend

2014-08-18 Thread Fabian Ruch
The author script is a file in the state directory that contains assignments of the environment variables GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE to be evaluated by the shell. It is used to store author information and has two applications in `git-rebase--interactive.sh`.

[PATCH v3 22/27] rebase -i: parse to-do list command line options

2014-08-18 Thread Fabian Ruch
Read in to-do list lines as command args instead of command sha1 rest so that to-do list command lines can specify additional arguments apart from the commit hash and the log message title, which become the non-options in `args`. Loop over `args`, put all options (an argument beginning

[PATCH v3 15/27] rebase -i: do not die in do_pick

2014-08-18 Thread Fabian Ruch
Since `do_pick` might be executed in a sub-shell (a modified author environment for instance), calling `die` in `do_pick` has no effect but exiting the sub-shell with a failure exit status. The git-rebase--interactive script is not terminated. Moreover, if `do_pick` is called while a squash or

[PATCH v3 19/27] rebase -i: prepare for squash in terms of do_pick --amend

2014-08-18 Thread Fabian Ruch
Rewrite `squash` and `fixup` handling in `do_next` using the sequence pick_one commit in order to test the correctness of a single `do_squash` or parameterised `do_pick` and make the subsequent patch reimplementing `squash` in terms of such a single function more readable. Do not call

[PATCH v3 17/27] rebase -i: teach do_pick the option --file

2014-08-18 Thread Fabian Ruch
`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive that is used to implement the to-do list command `pick`, `reword` and `edit`. To cater for the different pick behaviours (like `squash`), `do_pick` accepts several options not only from the git-cherry-pick but also the git-commit

[PATCH v3 21/27] rebase -i: explicitly distinguish replay commands and exec tasks

2014-08-18 Thread Fabian Ruch
There are two kinds of to-do list commands available. One kind replays a commit (`pick`, `reword`, `edit`, `squash` and `fixup` that is) and the other executes a shell command (`exec`). We will call the first kind replay commands. The two kinds of tasks are scheduled using different line formats.

[PATCH v3 13/27] rebase -i: do not use -C when --no-edit is sufficient

2014-08-18 Thread Fabian Ruch
The command line used to recreate root commits uses `-C` to suppress the log message editor. This is unnecessarily confusing, though, because that suppression is a secondary effect of the option. The main purpose of `-C` is to pull the metadata from another commit, but here we know that this is a

[PATCH v3 11/27] rebase -i: implement reword in terms of do_pick

2014-08-18 Thread Fabian Ruch
The to-do list command `reword` replays a commit like `pick` but lets the user also edit the commit's log message. If one thinks of `pick` entries as scheduled `cherry-pick` command lines, then `reword` becomes an alias for the command line `cherry-pick --edit`. The porcelain `rebase--interactive`

[PATCH v3 14/27] rebase -i: commit only once when rewriting picks

2014-08-18 Thread Fabian Ruch
The options passed to `do_pick` determine whether the picked commit will be rewritten or not. If the commit gets rewritten, because the user requested to edit the commit message for instance, let `pick_one` merely apply the changes introduced by the commit and do not commit the resulting tree yet.

[PATCH v3 20/27] rebase -i: implement squash in terms of do_pick

2014-08-18 Thread Fabian Ruch
The to-do list command `squash` and its close relative `fixup` replay the changes of a commit like `pick` but do not recreate the commit. Instead they replace the previous commit with a new commit that also introduces the changes of the squashed commit. This is roughly like cherry-picking without

[PATCH v3 10/27] rebase -i: teach do_pick the option --edit

2014-08-18 Thread Fabian Ruch
`do_pick` is the git-cherry-pick wrapper in git-rebase--interactive that is used to implement the to-do list command `pick`. To cater for the different pick behaviours (like `reword`), `do_pick` accepts several options not only from the git-cherry-pick but also the git-commit interface. Add the

[PATCH v3 12/27] rebase -i: log the replay of root commits

2014-08-18 Thread Fabian Ruch
The command line used to recreate root commits specifies the option `-q` which suppresses the commit summary message. However, git-rebase--interactive tends to tell the user about the commits it creates in the final history, if she wishes (cf. command line option `--verbose`). The code parts

[BUG] Hang when I did something a bit weird with submodules

2014-08-18 Thread Chris Packham
Hi, I was just setting up a new project using submodules and have run into what appears to be a hang when git status is invoked. I haven't tried to reproduce this but this is basically what I did (edited highlights from my bash_history). $ git --version git version 2.0.3 $ mkdir proj $ cd

Re: [BUG] Hang when I did something a bit weird with submodules

2014-08-18 Thread Chris Packham
On Tue, Aug 19, 2014 at 4:33 PM, Chris Packham judge.pack...@gmail.com wrote: Hi, I was just setting up a new project using submodules and have run into what appears to be a hang when git status is invoked. I haven't tried to reproduce this but this is basically what I did (edited highlights

Re: [PATCH] make config --add behave correctly for empty and NULL values

2014-08-18 Thread Jeff King
On Mon, Aug 18, 2014 at 11:18:52AM -0700, Junio C Hamano wrote: Are we sure that a^, which cannot be true for any string, will not be caught by anybody's regcomp() as an error? I know regcomp() accepts the expression and regexec() fails to match with GNU libc, but that is not the whole of