git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Junio C Hamano <gitster@pobox.com>,
	Thomas Rast <trast@student.ethz.ch>
Subject: [PATCH] git-add--interactive: manual hunk editing mode
Date: Tue,  1 Jul 2008 13:44:34 +0200	[thread overview]
Message-ID: <1214912674-9443-1-git-send-email-trast@student.ethz.ch> (raw)
In-Reply-To: <20080701101114.GA6379@sigill.intra.peff.net>

Adds a new option 'e' to the 'add -p' command loop that lets you edit
the current hunk in your favourite editor.

If the resulting patch applies cleanly, the edited hunk will
immediately be marked for staging. If it does not apply cleanly, you
will be given an opportunity to edit again. If all lines of the hunk
are removed, then the edit is aborted and the hunk is left unchanged.

Applying the changed hunk(s) relies on Johannes Schindelin's new
--recount option for git-apply.

Note that the "real patch" test intentionally uses
  (echo e; echo n; echo d) | git add -p
even though the 'n' and 'd' are superfluous at first sight.  They
serve to get out of the interaction loop if git add -p wrongly
concludes the patch does not apply.

Many thanks to Jeff King <peff@peff.net> for lots of help and
suggestions.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

Jeff King wrote:
> Now that this is in next, maybe it is a good time to repost the
> add--interactive patch (it should be independent of Dscho's 2/2 "add -e"
> patch).

It is independent, so I suppose you're right.  (Dscho mentioned in
passing he might repost "add -e" himself.)

- Thomas

 Documentation/git-add.txt  |    1 +
 git-add--interactive.perl  |  124 +++++++++++++++++++++++++++++++++++++++++++-
 t/t3701-add-interactive.sh |   67 ++++++++++++++++++++++++
 3 files changed, 191 insertions(+), 1 deletions(-)

diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index c6de028..1d8d209 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -246,6 +246,7 @@ patch::
        k - leave this hunk undecided, see previous undecided hunk
        K - leave this hunk undecided, see previous hunk
        s - split the current hunk into smaller hunks
+       e - manually edit the current hunk
        ? - print help
 +
 After deciding the fate for all hunks, if there is any hunk
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 903953e..6bb117a 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -2,6 +2,7 @@
 
 use strict;
 use Git;
+use File::Temp;
 
 my $repo = Git->repository();
 
@@ -18,6 +19,18 @@ my ($fraginfo_color) =
 	$diff_use_color ? (
 		$repo->get_color('color.diff.frag', 'cyan'),
 	) : ();
+my ($diff_plain_color) =
+	$diff_use_color ? (
+		$repo->get_color('color.diff.plain', ''),
+	) : ();
+my ($diff_old_color) =
+	$diff_use_color ? (
+		$repo->get_color('color.diff.old', 'red'),
+	) : ();
+my ($diff_new_color) =
+	$diff_use_color ? (
+		$repo->get_color('color.diff.new', 'green'),
+	) : ();
 
 my $normal_color = $repo->get_color("", "reset");
 
@@ -770,6 +783,104 @@ sub coalesce_overlapping_hunks {
 	return @out;
 }
 
+sub color_diff {
+	return map {
+		colored((/^@/  ? $fraginfo_color :
+			 /^\+/ ? $diff_new_color :
+			 /^-/  ? $diff_old_color :
+			 $diff_plain_color),
+			$_);
+	} @_;
+}
+
+sub edit_hunk_manually {
+	my ($oldtext) = @_;
+
+	my $t = File::Temp->new(
+		TEMPLATE => $repo->repo_path . "/git-hunk-edit.XXXXXX",
+		SUFFIX => '.diff'
+	);
+	print $t "# Manual hunk edit mode -- see bottom for a quick guide\n";
+	print $t @$oldtext;
+	print $t <<EOF;
+# ---
+# To remove '-' lines, make them ' ' lines (context).
+# To remove '+' lines, delete them.
+# Lines starting with # will be removed.
+#
+# If the patch applies cleanly, the edited hunk will immediately be
+# marked for staging. If it does not apply cleanly, you will be given
+# an opportunity to edit again. If all lines of the hunk are removed,
+# then the edit is aborted and the hunk is left unchanged.
+EOF
+	close $t;
+
+	my $editor = $ENV{GIT_EDITOR} || $repo->config("core.editor")
+		|| $ENV{VISUAL} || $ENV{EDITOR} || "vi";
+	system('sh', '-c', $editor.' "$@"', $editor, $t);
+
+	open my $fh, '<', $t
+		or die "failed to open hunk edit file for reading: " . $!;
+	my @newtext = grep { !/^#/ } <$fh>;
+	close $fh;
+
+	# Abort if nothing remains
+	if (!grep { /\S/ } @newtext) {
+		return undef;
+	}
+
+	# Reinsert the first hunk header if the user accidentally deleted it
+	if ($newtext[0] !~ /^@/) {
+		unshift @newtext, $oldtext->[0];
+	}
+	return \@newtext;
+}
+
+sub diff_applies {
+	my $fh;
+	open $fh, '| git apply --recount --cached --check';
+	for my $h (@_) {
+		print $fh @{$h->{TEXT}};
+	}
+	return close $fh;
+}
+
+sub prompt_yesno {
+	my ($prompt) = @_;
+	while (1) {
+		print colored $prompt_color, $prompt;
+		my $line = <STDIN>;
+		return 0 if $line =~ /^n/i;
+		return 1 if $line =~ /^y/i;
+	}
+}
+
+sub edit_hunk_loop {
+	my ($head, $hunk, $ix) = @_;
+	my $text = $hunk->[$ix]->{TEXT};
+
+	while (1) {
+		$text = edit_hunk_manually($text);
+		if (!defined $text) {
+			return undef;
+		}
+		my $newhunk = { TEXT => $text, USE => 1 };
+		if (diff_applies($head,
+				 @{$hunk}[0..$ix-1],
+				 $newhunk,
+				 @{$hunk}[$ix+1..$#{$hunk}])) {
+			$newhunk->{DISPLAY} = [color_diff(@{$text})];
+			return $newhunk;
+		}
+		else {
+			prompt_yesno(
+				'Your edited hunk does not apply. Edit again '
+				. '(saying "no" discards!) [y/n]? '
+				) or return undef;
+		}
+	}
+}
+
 sub help_patch_cmd {
 	print colored $help_color, <<\EOF ;
 y - stage this hunk
@@ -781,6 +892,7 @@ J - leave this hunk undecided, see next hunk
 k - leave this hunk undecided, see previous undecided hunk
 K - leave this hunk undecided, see previous hunk
 s - split the current hunk into smaller hunks
+e - manually edit the current hunk
 ? - print help
 EOF
 }
@@ -846,6 +958,7 @@ sub patch_update_file {
 
 	$num = scalar @hunk;
 	$ix = 0;
+	my $need_recount = 0;
 
 	while (1) {
 		my ($prev, $next, $other, $undecided, $i);
@@ -885,6 +998,7 @@ sub patch_update_file {
 		if (hunk_splittable($hunk[$ix]{TEXT})) {
 			$other .= '/s';
 		}
+		$other .= '/e';
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
@@ -949,6 +1063,13 @@ sub patch_update_file {
 				$num = scalar @hunk;
 				next;
 			}
+			elsif ($line =~ /^e/) {
+				my $newhunk = edit_hunk_loop($head, \@hunk, $ix);
+				if (defined $newhunk) {
+					splice @hunk, $ix, 1, $newhunk;
+					$need_recount = 1;
+				}
+			}
 			else {
 				help_patch_cmd($other);
 				next;
@@ -1002,7 +1123,8 @@ sub patch_update_file {
 	if (@result) {
 		my $fh;
 
-		open $fh, '| git apply --cached';
+		open $fh, '| git apply --cached'
+			. ($need_recount ? ' --recount' : '');
 		for (@{$head->{TEXT}}, @result) {
 			print $fh $_;
 		}
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index fae64ea..e95663d 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -66,6 +66,73 @@ test_expect_success 'revert works (commit)' '
 	grep "unchanged *+3/-0 file" output
 '
 
+cat >expected <<EOF
+EOF
+cat >fake_editor.sh <<EOF
+EOF
+chmod a+x fake_editor.sh
+test_set_editor "$(pwd)/fake_editor.sh"
+test_expect_success 'dummy edit works' '
+	(echo e; echo a) | git add -p &&
+	git diff > diff &&
+	test_cmp expected diff
+'
+
+cat >patch <<EOF
+@@ -1,1 +1,4 @@
+ this
++patch
+-doesn't
+ apply
+EOF
+echo "#!$SHELL_PATH" >fake_editor.sh
+cat >>fake_editor.sh <<\EOF
+mv -f "$1" oldpatch &&
+mv -f patch "$1"
+EOF
+chmod a+x fake_editor.sh
+test_set_editor "$(pwd)/fake_editor.sh"
+test_expect_success 'bad edit rejected' '
+	git reset &&
+	(echo e; echo n; echo d) | git add -p >output &&
+	grep "hunk does not apply" output
+'
+
+cat >patch <<EOF
+this patch
+is garbage
+EOF
+test_expect_success 'garbage edit rejected' '
+	git reset &&
+	(echo e; echo n; echo d) | git add -p >output &&
+	grep "hunk does not apply" output
+'
+
+cat >patch <<EOF
+@@ -1,0 +1,0 @@
+ baseline
++content
++newcontent
++lines
+EOF
+cat >expected <<EOF
+diff --git a/file b/file
+index b5dd6c9..f910ae9 100644
+--- a/file
++++ b/file
+@@ -1,4 +1,4 @@
+ baseline
+ content
+-newcontent
++more
+ lines
+EOF
+test_expect_success 'real edit works' '
+	(echo e; echo n; echo d) | git add -p &&
+	git diff >output &&
+	test_cmp expected output
+'
+
 if test "$(git config --bool core.filemode)" = false
 then
     say 'skipping filemode tests (filesystem does not properly support modes)'
-- 
1.5.4.5

  reply	other threads:[~2008-07-01 11:45 UTC|newest]

Thread overview: 381+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-09 10:46 What's cooking in git.git (topics) Junio C Hamano
2008-03-12  7:50 ` Junio C Hamano
2008-03-12 12:18   ` Johannes Schindelin
2008-03-14  9:00   ` Junio C Hamano
2008-03-23 10:08     ` Junio C Hamano
2008-03-23 12:00       ` Samuel Tardieu
2008-03-23 17:15         ` Junio C Hamano
2008-03-23 22:34           ` Samuel Tardieu
2008-03-23 12:39       ` Steffen Prohaska
2008-03-23 17:37         ` Junio C Hamano
2008-03-23 21:06       ` Govind Salinas
2008-03-24  3:01         ` Junio C Hamano
2008-03-28  1:45       ` Junio C Hamano
2008-03-31  8:40         ` Junio C Hamano
2008-04-04 18:24           ` Junio C Hamano
2008-04-04 20:21             ` Kristian Høgsberg
2008-04-04 20:52               ` Junio C Hamano
2008-04-05  0:26                 ` Johannes Schindelin
2008-04-05  5:51                   ` Junio C Hamano
2008-04-09  9:43             ` Junio C Hamano
2008-04-14  7:00               ` Junio C Hamano
2008-04-15 19:23                 ` Jeff King
2008-04-19  8:19                 ` Junio C Hamano
2008-04-19 14:23                   ` Johannes Schindelin
2008-04-19 16:34                   ` Lars Hjemli
2008-04-20  4:08                     ` Junio C Hamano
2008-04-21 16:10                   ` Brandon Casey
2008-04-22 10:03                   ` Junio C Hamano
2008-04-22 13:59                     ` Ping Yin
2008-04-22 14:55                       ` Josef Weidendorfer
2008-04-22 17:13                         ` Ping Yin
2008-04-22 17:28                           ` Johannes Schindelin
2008-04-23  1:27                             ` Ping Yin
2008-04-23  2:03                               ` Ping Yin
2008-04-22 18:07                           ` Josef Weidendorfer
2008-04-23  1:59                             ` Ping Yin
2008-04-23  7:47                               ` Fedor Sergeev
2008-04-23  8:32                                 ` Ping Yin
2008-04-23  8:47                                 ` Robin Rosenberg
2008-04-23  9:16                                   ` Fedor Sergeev
2008-04-22 20:51                     ` Michele Ballabio
2008-04-23  0:22                       ` Junio C Hamano
2008-04-23  7:36                         ` Michele Ballabio
2008-04-27  6:04                     ` Junio C Hamano
2008-04-27  6:44                       ` Ping Yin
2008-05-06  6:38                       ` Junio C Hamano
2008-05-12 22:03                         ` Junio C Hamano
2008-05-13  0:02                           ` Junio C Hamano
2008-05-14 22:30                         ` Junio C Hamano
2008-05-14 22:55                           ` Daniel Barkalow
2008-05-15  4:30                             ` Junio C Hamano
2008-05-15  5:51                           ` Steffen Prohaska
2008-05-22  1:18                           ` Junio C Hamano
2008-05-22 11:35                             ` Johannes Schindelin
2008-05-22 18:17                               ` Junio C Hamano
2008-05-22 22:02                                 ` Daniel Barkalow
2008-05-25 21:29                               ` Stephan Beyer
2008-05-26  1:22                             ` Junio C Hamano
2008-05-27  5:36                               ` [PATCH] git-diff: allow --no-index semantics a bit more Junio C Hamano
2008-05-30 20:44                               ` What's cooking in git.git (topics) Junio C Hamano
2008-05-30 21:10                                 ` Jon Loeliger
2008-05-31  1:25                                   ` Stephan Beyer
2008-05-30 22:00                                 ` Steven Grimm
2008-06-02  7:58                                 ` Junio C Hamano
2008-06-02  8:10                                   ` Jakub Narebski
2008-06-02 11:56                                   ` Sebastian Bober
2008-06-02 15:17                                   ` Johannes Schindelin
2008-06-02 15:43                                     ` Shawn O. Pearce
2008-06-02 16:14                                       ` Johannes Schindelin
2008-06-02 18:13                                         ` Junio C Hamano
2008-06-02 19:17                                           ` Johannes Schindelin
2008-06-02 19:25                                             ` Johannes Schindelin
2008-06-13 10:16                                   ` Junio C Hamano
2008-06-18  7:31                                     ` Junio C Hamano
2008-06-19  8:58                                       ` Johan Herland
2008-06-21  9:44                                       ` Junio C Hamano
2008-06-21 12:14                                         ` Miklos Vajna
2008-06-24  7:59                                           ` Junio C Hamano
2008-06-24  8:12                                             ` Pieter de Bie
2008-06-24  8:16                                               ` Pieter de Bie
2008-06-24 16:02                                               ` Miklos Vajna
2008-06-24 16:25                                                 ` Johannes Schindelin
2008-06-24 18:54                                                   ` Miklos Vajna
2008-06-24 19:08                                                     ` Johannes Schindelin
2008-06-24 19:31                                                       ` Jakub Narebski
2008-06-24 19:34                                                         ` Johannes Schindelin
2008-06-24 20:06                                                           ` Jakub Narebski
2008-06-26 15:41                                                           ` Jakub Narebski
2008-06-24 20:44                                                       ` Junio C Hamano
2008-06-24 22:10                                                         ` Miklos Vajna
2008-06-24 23:16                                                           ` Junio C Hamano
2008-06-24 23:32                                                             ` Miklos Vajna
2008-06-25  2:57                                                               ` Junio C Hamano
2008-06-25  3:08                                                               ` しらいしななこ
2008-06-25  3:22                                                                 ` [PATCH] Keep some git-* programs in $(bindir) Junio C Hamano
2008-06-25  3:26                                                                   ` [PATCH] Ask for "git program" when asking for "git-program" over SSH connection Junio C Hamano
2008-06-25  3:45                                                                     ` Shawn O. Pearce
2008-06-25  4:32                                                                       ` Junio C Hamano
2008-06-25  4:44                                                                         ` Shawn O. Pearce
2008-06-25  5:09                                                                           ` Junio C Hamano
2008-06-25  5:13                                                                             ` Junio C Hamano
2008-06-25  5:27                                                                               ` Junio C Hamano
2008-06-25  5:38                                                                                 ` Shawn O. Pearce
2008-06-25 22:47                                                                                   ` [PATCH] daemon: accept "git program" as well Junio C Hamano
2008-06-25 22:55                                                                                     ` [PATCH] Make clients ask for "git program" over ssh and local transport Junio C Hamano
2008-06-25 22:58                                                                                       ` [PATCH] Ask for "git program" even against git-daemon Junio C Hamano
2008-06-25 23:27                                                                                         ` Shawn O. Pearce
2008-06-25 23:36                                                                                           ` Junio C Hamano
2008-06-25 23:57                                                                                             ` Shawn O. Pearce
2008-06-26  0:07                                                                                               ` Junio C Hamano
2008-06-25 23:13                                                                                       ` [PATCH] Make clients ask for "git program" over ssh and local transport Shawn O. Pearce
2008-06-25 23:02                                                                                     ` [PATCH] daemon: accept "git program" as well Shawn O. Pearce
2008-06-25 23:26                                                                                       ` Junio C Hamano
2008-06-26  8:20                                                                                         ` Tommi Virtanen
2008-06-26 23:38                                                                                           ` Olivier Marin
2008-06-26 23:42                                                                                             ` Junio C Hamano
2008-06-25 13:06                                                                                 ` [PATCH] Ask for "git program" when asking for "git-program" over SSH connection Theodore Tso
2008-06-25 17:42                                                                                   ` Junio C Hamano
2008-06-25  5:34                                                                               ` Shawn O. Pearce
2008-06-25  5:53                                                                                 ` Junio C Hamano
2008-06-25  5:30                                                                           ` Junio C Hamano
2008-06-25  4:17                                                                   ` [PATCH] Keep some git-* programs in $(bindir) Shawn O. Pearce
2008-06-25  4:19                                                                   ` Daniel Barkalow
2008-06-25  4:37                                                                     ` Shawn O. Pearce
2008-06-25  3:26                                                                 ` What's cooking in git.git (topics) Shawn O. Pearce
2008-06-25  0:11                                                             ` Jakub Narebski
2008-06-25  3:32                                                               ` Shawn O. Pearce
2008-06-25  7:29                                                               ` Miklos Vajna
2008-06-23  7:15                                         ` Junio C Hamano
2008-06-23 12:15                                           ` Miklos Vajna
2008-06-25  9:31                                           ` Junio C Hamano
2008-06-29  8:50                                             ` [PATCH] Make default expiration period of reflog used for stash infinite Junio C Hamano
2008-06-30 23:45                                               ` Olivier Marin
2008-07-01  7:28                                                 ` Junio C Hamano
2008-07-02 10:59                                                   ` [PATCH] Disconnect stash from its base commit Nanako Shiraishi
2008-07-02 13:51                                                     ` Johannes Schindelin
2008-07-02 19:01                                                       ` Junio C Hamano
2008-07-02 19:54                                                         ` Abhijit Menon-Sen
2008-07-02 21:04                                                           ` Junio C Hamano
2008-07-03  2:23                                                             ` [PATCH] Implement "git stash branch <newbranch> <stash>" Abhijit Menon-Sen
2008-07-03  4:12                                                               ` Junio C Hamano
2008-07-03  6:16                                                                 ` Abhijit Menon-Sen
2008-07-06 11:23                                                                   ` [PATCH v3] " Abhijit Menon-Sen
2008-07-06 12:54                                                                     ` Johannes Schindelin
2008-07-06 14:45                                                                       ` [PATCH] Add a test for "git stash branch" Abhijit Menon-Sen
2008-07-06 19:53                                                                         ` Junio C Hamano
2008-07-06 21:20                                                                           ` [PATCH v2] " Abhijit Menon-Sen
2008-06-29  8:50                                             ` [PATCH] Teach git-merge to pass -X<option> to the backend strategy module Junio C Hamano
2008-06-29 10:32                                               ` Jakub Narebski
2008-06-29 19:09                                                 ` Junio C Hamano
2008-06-29  8:55                                             ` What's cooking in git.git (topics) Junio C Hamano
2008-06-29 18:35                                               ` Linus Torvalds
2008-06-29 19:08                                                 ` Junio C Hamano
2008-06-29 20:11                                                 ` Junio C Hamano
2008-06-29 20:15                                                   ` Pieter de Bie
2008-06-29 21:57                                                     ` Johannes Schindelin
2008-06-29 22:00                                                     ` Steffen Prohaska
2008-06-30  3:30                                               ` Jeff King
2008-06-30  5:31                                                 ` Junio C Hamano
2008-06-30  5:33                                                   ` Jeff King
2008-06-30  5:38                                                     ` Junio C Hamano
2008-06-30  9:08                                               ` Junio C Hamano
2008-06-30 11:19                                                 ` How to reduce remaining differences to 4msysgit? (was What's cooking in git.git (topics)) Steffen Prohaska
2008-06-30 18:47                                                   ` [msysGit] " Johannes Sixt
2008-07-01  0:03                                                     ` Clifford Caoile
2008-07-02  8:31                                                     ` Steffen Prohaska
2008-07-02  8:32                                                       ` [PATCH 01/12] Fake reencoding success under NO_ICONV instead of returning NULL Steffen Prohaska
2008-07-02  8:32                                                         ` [PATCH 02/12] Do not complain about "no common commits" in an empty repo Steffen Prohaska
2008-07-02  8:32                                                           ` [PATCH 03/12] MinGW: Convert CR/LF to LF in tag signatures Steffen Prohaska
2008-07-02  8:32                                                             ` [PATCH 04/12] Avoid calling signal(SIGPIPE, ..) for MinGW builds Steffen Prohaska
2008-07-02  8:32                                                               ` [PATCH 05/12] Windows(msysgit): Per default, display help as HTML in default browser Steffen Prohaska
2008-07-02  8:32                                                                 ` [PATCH 06/12] connect: Fix custom ports with plink (Putty's ssh) Steffen Prohaska
2008-07-02  8:32                                                                   ` [PATCH 07/12] Fixed text file auto-detection: treat EOF character 032 at the end of file as printable Steffen Prohaska
2008-07-02  8:32                                                                     ` [PATCH 08/12] fast-import: MinGW does not have getppid(). So do not print it Steffen Prohaska
2008-07-02  8:32                                                                       ` [PATCH 09/12] We need to check for msys as well as Windows in add--interactive Steffen Prohaska
2008-07-02  8:32                                                                         ` [PATCH 10/12] Add ANSI control code emulation for the Windows console Steffen Prohaska
2008-07-02  8:32                                                                           ` [PATCH 11/12] verify_path(): do not allow absolute paths Steffen Prohaska
2008-07-02  8:32                                                                             ` [PATCH 12/12] [TODO] setup: bring changes from 4msysgit/next to next Steffen Prohaska
2008-07-02 16:17                                                                               ` [msysGit] " Johannes Schindelin
2008-07-02 17:08                                                                                 ` Steffen Prohaska
2008-07-02 19:32                                                                                   ` [msysGit] " Johannes Sixt
2008-07-03  6:06                                                                                     ` Steffen Prohaska
2008-07-03  6:13                                                                                       ` Junio C Hamano
2008-07-02  9:21                                                                             ` [PATCH 11/12] verify_path(): do not allow absolute paths Junio C Hamano
2008-07-02 14:24                                                                               ` Steffen Prohaska
2008-07-02 16:15                                                                               ` Johannes Schindelin
2008-07-02 17:20                                                                                 ` Steffen Prohaska
2008-07-02 17:31                                                                                   ` Johannes Schindelin
2008-07-02 19:17                                                                           ` [msysGit] [PATCH 10/12] Add ANSI control code emulation for the Windows console Johannes Sixt
2008-07-02 19:32                                                                             ` Peter Harris
2008-07-07 18:41                                                                           ` Johannes Sixt
2008-07-02  9:20                                                                       ` [PATCH 08/12] fast-import: MinGW does not have getppid(). So do not print it Junio C Hamano
2008-07-02 14:22                                                                         ` Steffen Prohaska
2008-07-02 16:52                                                                         ` Johannes Schindelin
2008-07-02  9:16                                                                     ` [PATCH 07/12] Fixed text file auto-detection: treat EOF character 032 at the end of file as printable Junio C Hamano
2008-07-11 16:48                                                                       ` [PATCH] " Steffen Prohaska
2008-07-11 18:42                                                                         ` Johannes Schindelin
2008-07-11 20:32                                                                           ` Steffen Prohaska
2008-07-11 20:40                                                                             ` Johannes Schindelin
2008-07-02 19:04                                                                   ` [PATCH 06/12] connect: Fix custom ports with plink (Putty's ssh) Johannes Sixt
2008-07-03 11:10                                                                     ` Johannes Schindelin
2008-07-04  8:50                                                                       ` Steffen Prohaska
2008-07-04  9:18                                                                     ` Junio C Hamano
2008-07-04  9:29                                                                       ` Steffen Prohaska
2008-07-04 16:09                                                                         ` Clifford Caoile
2008-07-04 20:11                                                                           ` [msysGit] " Edward Z. Yang
2008-07-02  9:11                                                                 ` [PATCH 05/12] Windows(msysgit): Per default, display help as HTML in default browser Junio C Hamano
2008-07-02 18:57                                                                 ` Johannes Sixt
2008-07-04  9:06                                                                   ` Steffen Prohaska
2008-07-04  9:09                                                                     ` [PATCH 1/2] help.c: Add support for htmldir relative to git_exec_path() Steffen Prohaska
2008-07-04  9:09                                                                       ` [PATCH 2/2] help (Windows): Display HTML in default browser using Win32 API Steffen Prohaska
2008-07-04  9:26                                                                       ` [PATCH 1/2] help.c: Add support for htmldir relative to git_exec_path() Junio C Hamano
2008-07-04 12:35                                                                         ` Johannes Schindelin
2008-07-11  7:27                                                                           ` Steffen Prohaska
2008-07-11  7:28                                                                             ` [PATCH 1/3] Move code interpreting path relative to exec-dir to new function system_path() Steffen Prohaska
2008-07-11  7:28                                                                               ` [PATCH 2/3] help.c: Add support for htmldir relative to git_exec_path() Steffen Prohaska
2008-07-11  7:28                                                                                 ` [PATCH 3/3] help (Windows): Display HTML in default browser using Windows' shell API Steffen Prohaska
2008-07-11  7:35                                                                                   ` Steffen Prohaska
2008-07-11  7:37                                                                                     ` [PATCH 3/3 FIXED] " Steffen Prohaska
2008-07-12  3:26                                                                                       ` Junio C Hamano
2008-07-12  6:45                                                                                         ` Steffen Prohaska
2008-07-12  7:07                                                                                           ` Junio C Hamano
2008-07-12 20:41                                                                                             ` Johannes Sixt
2008-07-13  8:58                                                                                               ` Junio C Hamano
2008-07-13 20:31                                                                                                 ` [PATCH] Move code interpreting path relative to exec-dir to new function system_path() Johannes Sixt
2008-07-13 20:31                                                                                                   ` [PATCH] help.c: Add support for htmldir relative to git_exec_path() Johannes Sixt
2008-07-13 20:31                                                                                                     ` [PATCH] help (Windows): Display HTML in default browser using Windows' shell API Johannes Sixt
2008-07-13 20:31                                                                                                       ` [PATCH] Fix relative built-in paths to be relative to the command invocation Johannes Sixt
2008-07-13 20:31                                                                                                         ` [PATCH] Allow the built-in exec path to be relative to the command invocation path Johannes Sixt
2008-07-13 20:31                                                                                                           ` [PATCH] Allow add_path() to add non-existent directories to the path Johannes Sixt
2008-07-14  7:13                                                                                                             ` Johannes Sixt
2008-07-13 20:45                                                                                                           ` [PATCH] Allow the built-in exec path to be relative to the command invocation path Johannes Schindelin
2008-07-13 20:43                                                                                                         ` [PATCH] Fix relative built-in paths to be relative to the command invocation Johannes Schindelin
2008-07-14  6:55                                                                                                           ` Johannes Sixt
2008-07-14 12:20                                                                                                             ` Johannes Schindelin
2008-07-14 18:54                                                                                                               ` Johannes Sixt
2008-07-14 19:03                                                                                                                 ` Junio C Hamano
2008-07-14  8:47                                                                                                           ` Johannes Sixt
2008-07-14 21:41                                                                                                             ` [PATCH 0/5] replacement for the part of js/more-win that is in pu Johannes Sixt
2008-07-14 21:41                                                                                                               ` [PATCH 1/5] Makefile: Normalize $(bindir) and $(gitexecdir) before comparing Johannes Sixt
2008-07-14 21:41                                                                                                                 ` [PATCH 2/5] Record the command invocation path early Johannes Sixt
2008-07-14 21:41                                                                                                                   ` [PATCH 3/5] Fix relative built-in paths to be relative to the command invocation Johannes Sixt
2008-07-14 21:41                                                                                                                     ` [PATCH 4/5] Allow the built-in exec path to be relative to the command invocation path Johannes Sixt
2008-07-14 21:41                                                                                                                       ` [PATCH 5/5] Allow add_path() to add non-existent directories to the path Johannes Sixt
2008-07-15  7:59                                                                                                               ` [PATCH 0/5] replacement for the part of js/more-win that is in pu Johannes Sixt
2008-07-11  9:02                                                                             ` [PATCH 1/2] help.c: Add support for htmldir relative to git_exec_path() Johannes Sixt
2008-07-02  9:22                                                               ` [PATCH 04/12] Avoid calling signal(SIGPIPE, ..) for MinGW builds Junio C Hamano
2008-07-02 10:03                                                                 ` Marius Storm-Olsen
2008-07-02 14:29                                                                   ` Steffen Prohaska
2008-07-02 18:46                                                             ` [msysGit] [PATCH 03/12] MinGW: Convert CR/LF to LF in tag signatures Johannes Sixt
2008-07-03 11:08                                                               ` Johannes Schindelin
2008-07-11 16:55                                                               ` [PATCH] " Steffen Prohaska
2008-07-02  8:58                                                           ` [PATCH 02/12] Do not complain about "no common commits" in an empty repo Junio C Hamano
2008-07-02 14:04                                                             ` Steffen Prohaska
2008-07-02 17:07                                                               ` Johannes Schindelin
2008-07-02 18:43                                                         ` [PATCH 01/12] Fake reencoding success under NO_ICONV instead of returning NULL Johannes Sixt
2008-06-30 14:09                                                 ` What's cooking in git.git (topics) Kristian Høgsberg
2008-06-30 15:58                                                   ` Jakub Narebski
2008-06-30 22:15                                                     ` Junio C Hamano
2008-06-30 22:15                                                   ` Junio C Hamano
2008-06-30 22:51                                                     ` Andrew Morton
2008-06-30 23:09                                                       ` Johannes Schindelin
2008-06-30 22:53                                                     ` Petr Baudis
2008-07-01  0:57                                                     ` Stephen Rothwell
2008-07-01 15:44                                                     ` Kristian Høgsberg
2008-07-01 10:11                                                 ` Jeff King
2008-07-01 11:44                                                   ` Thomas Rast [this message]
2008-07-01 16:48                                                     ` [PATCH] git-add--interactive: manual hunk editing mode Johannes Schindelin
2008-07-01 23:54                                                     ` Junio C Hamano
2008-07-02  5:39                                                     ` Junio C Hamano
2008-07-02  7:00                                                       ` Thomas Rast
2008-07-02  8:38                                                         ` Junio C Hamano
2008-07-02  8:02                                                       ` Jeff King
2008-07-02  8:08                                                         ` Junio C Hamano
2008-07-02  8:32                                                           ` Jeff King
2008-07-02 13:13                                                             ` Johannes Schindelin
2008-07-02 18:27                                                               ` Junio C Hamano
2008-07-02 21:58                                                       ` [PATCH 0/3] git-add--interactive: use --recount, editing Thomas Rast
2008-07-02 21:59                                                         ` [PATCH 1/3] git-add--interactive: replace hunk recounting with apply --recount Thomas Rast
2008-07-02 21:59                                                           ` [PATCH 2/3] git-add--interactive: remove hunk coalescing Thomas Rast
2008-07-02 22:00                                                             ` [PATCH 3/3] git-add--interactive: manual hunk editing mode Thomas Rast
2008-07-02 22:26                                                             ` [PATCH 2/3] git-add--interactive: remove hunk coalescing Junio C Hamano
2008-07-02 22:35                                                               ` Junio C Hamano
2008-07-03 19:24                                                                 ` Thomas Rast
2008-07-03 21:46                                                                   ` Junio C Hamano
2008-07-02  4:41                                                 ` What's cooking in git.git (topics) Junio C Hamano
2008-07-06 10:04                                                   ` Junio C Hamano
2008-07-06 11:10                                                     ` Johannes Schindelin
2008-07-07  1:36                                                       ` Junio C Hamano
2008-07-08  2:46                                                     ` Junio C Hamano
2008-07-10  2:32                                                       ` Junio C Hamano
2008-07-14  5:11                                                         ` Junio C Hamano
2008-07-14  6:45                                                           ` Junio C Hamano
2008-07-14  7:50                                                           ` Closing the merge window for 1.6.0 Junio C Hamano
2008-07-14  8:07                                                             ` Johannes Sixt
2008-07-14  8:50                                                             ` Jakub Narebski
2008-07-14  8:55                                                             ` Petr Baudis
2008-07-14 11:57                                                               ` Johannes Schindelin
2008-07-14 12:41                                                                 ` Gerrit Pape
2008-07-14 12:56                                                                   ` Johannes Schindelin
2008-07-14 17:54                                                                   ` Nicolas Pitre
2008-07-14 19:00                                                                     ` Junio C Hamano
2008-07-14 19:19                                                                       ` Teemu Likonen
2008-07-15  3:14                                                                         ` Martin Langhoff
2008-07-15  9:20                                                                       ` Petr Baudis
2008-07-15 15:06                                                                         ` Dmitry Potapov
2008-07-15 15:27                                                                           ` Johannes Schindelin
2008-07-15 15:51                                                                             ` Avery Pennarun
2008-07-15 16:26                                                                             ` Nicolas Pitre
2008-07-15 16:46                                                                               ` Sverre Rabbelier
2008-07-15 17:28                                                                               ` Petr Baudis
2008-07-15 17:04                                                                             ` Dmitry Potapov
2008-07-15 18:51                                                                             ` Junio C Hamano
2008-07-15 22:10                                                                               ` Johannes Schindelin
2008-07-15 22:33                                                                                 ` Junio C Hamano
2008-07-15 22:45                                                                                   ` Johannes Schindelin
2008-07-15  2:51                                                                     ` Shawn O. Pearce
2008-07-15  3:30                                                                       ` Nicolas Pitre
2008-07-14 12:43                                                                 ` Petr Baudis
2008-07-20  2:23                                                                   ` Nick Andrew
2008-07-14 19:16                                                               ` Junio C Hamano
2008-07-15  9:09                                                                 ` Petr Baudis
2008-07-14 11:53                                                           ` What's cooking in git.git (topics) Johannes Schindelin
2008-07-14 23:12                                                           ` Lea Wiemann
2008-07-14 23:20                                                             ` Lea Wiemann
2008-07-15  0:03                                                               ` Junio C Hamano
2008-07-15  3:38                                                           ` Geoffrey Irving
2008-07-15  9:22                                                             ` Johannes Schindelin
2008-07-15 16:48                                                               ` Geoffrey Irving
2008-07-16  3:33                                                           ` Junio C Hamano
2008-07-17  8:08                                                             ` Junio C Hamano
2008-07-17 13:09                                                               ` Stephan Beyer
2008-07-18  8:50                                                               ` Nanako Shiraishi
2008-07-18  9:08                                                                 ` Junio C Hamano
2008-07-18  9:20                                                                 ` Nanako Shiraishi
2008-07-18  9:43                                                                   ` Junio C Hamano
2008-07-18 11:55                                                                     ` Johannes Schindelin
2008-07-19  5:32                                                                       ` Junio C Hamano
2008-07-19 11:19                                                                         ` Johannes Schindelin
2008-07-19 16:55                                                                           ` Junio C Hamano
2008-07-19 23:16                                                                             ` Johannes Schindelin
2008-07-20 13:04                                                                           ` Miklos Vajna
2008-07-20 13:16                                                                             ` Johannes Schindelin
2008-07-20 18:27                                                                             ` Junio C Hamano
2008-07-20 19:07                                                                               ` Johannes Schindelin
2008-07-20 19:58                                                                                 ` Junio C Hamano
2008-07-20 20:03                                                                                   ` Sverre Rabbelier
2008-07-20 20:33                                                                                     ` Miklos Vajna
2008-07-20 22:58                                                                                       ` Sverre Rabbelier
2008-07-21  8:47                                                                                         ` Jakub Narebski
2008-07-20 20:33                                                                                     ` Junio C Hamano
2008-07-20 22:24                                                                                   ` Johannes Schindelin
2008-07-18  9:44                                                                   ` Petr Baudis
2008-07-18  9:58                                                                     ` Junio C Hamano
2010-12-13 19:09                                                                       ` Yaroslav Halchenko
2010-12-13 20:46                                                                         ` Junio C Hamano
2010-12-13 21:46                                                                           ` Yaroslav Halchenko
2010-12-13 22:15                                                                             ` Junio C Hamano
2010-12-13 22:36                                                                               ` Yaroslav Halchenko
2010-12-14  7:23                                                                             ` Johannes Sixt
2010-12-14 14:21                                                                               ` Yaroslav Halchenko
2008-07-19  5:13                                                                     ` Nanako Shiraishi
2008-07-18 11:56                                                                 ` Johannes Schindelin
2008-07-20 10:20                                                                 ` Nanako Shiraishi
2008-07-20  1:58                                                               ` Junio C Hamano
2008-07-20 22:40                                                                 ` Petr Baudis
2008-07-20 23:04                                                                   ` Junio C Hamano
2008-06-30 14:59                                               ` Brandon Casey
  -- strict thread matches above, loose matches on Subject: below --
2008-05-23 20:21 [PATCH] git-add--interactive: manual hunk editing mode Thomas Rast
2008-05-24  1:24 ` Ping Yin
2008-05-29 15:37 ` Thomas Rast
2008-05-29 16:12   ` Johannes Schindelin
2008-05-29 19:10     ` Thomas Rast
2008-05-29 19:16       ` Thomas Rast
2008-05-29 18:58   ` Jeff King
2008-05-30  9:49     ` Johannes Schindelin
2008-05-30 10:46       ` Jakub Narebski
2008-05-30 12:21     ` Thomas Rast
2008-05-30 21:35       ` Junio C Hamano
2008-06-05  9:02     ` Thomas Rast
2008-07-02  9:03 Thomas Rast

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1214912674-9443-1-git-send-email-trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).