Git development
 help / color / mirror / Atom feed
* Re: How it was at GitTogether'08 ?
From: Kai Blin @ 2008-11-09 18:55 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: David Symonds, git, Johannes Schindelin, Tim Ansell
In-Reply-To: <200811091731.48694.jnareb@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 937 bytes --]

On Sunday 09 November 2008 17:31:47 Jakub Narebski wrote:


> The workaround is to put all large files for example in 'media/' folder,
> and make this folder be submodule. Each clone of repository can have
> this 'media' submodule either present (both in object database, although
> usually separate from main project object database), or not present
> (not cloned and not checked out).

Tim was talking about that media/ folder and managing that in git. If you want 
to work on the media, you might end up getting hundreds of gigabytes of data 
to get that folder, even if you only need to change one single file.

That's the issue we're running into, and I don't thing submodules solve this 
at all.

Cheers,
Kai

-- 
Kai Blin
WorldForge developer  http://www.worldforge.org/
Wine developer        http://wiki.winehq.org/KaiBlin
Samba team member     http://www.samba.org/samba/team/
--
Will code for cotton.

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: Documentation/user-manual.txt, asciidoc and "--" escapes
From: Jonas Fonseca @ 2008-11-09 18:52 UTC (permalink / raw)
  To: Piotr Findeisen; +Cc: git
In-Reply-To: <ddb82bf60811090044l43eb4bb1ga5a16718a4176c29@mail.gmail.com>

> On Fri, Nov 7, 2008 at 04:09, Piotr Findeisen <piotr.findeisen@gmail.com> wrote:
>> Hello!

Hello,

>> The attached file is a result of running `git diff HEAD~1`.

Please read Documentation/SubmittingPatches for the preferred way to
contribute patches.

>> Asciidoc replaces "--" with "—" when not in verbatim mode. This is
>> sometimes unwanted -- especially when citing command line options like
>> "git diff --cached". This commit includes proper quotes in user-manual.txt.

Newer asciidoc versions have the following "workaround". Maybe adding
something like this to Documentation/asciidoc.conf would be more
future proof.

# -- Spaced and unspaced em dashes (entity reference &mdash;)
# But disallow unspaced in man pages because double-dash option name prefixes
# are pervasive.
ifndef::doctype-manpage[]
(^|[^-\\])--($|[^-])=\1&#8212;\2
endif::doctype-manpage[]
ifdef::doctype-manpage[]
(^|\s*[^\S\\])--($|\s+)=\1&#8212;\2
endif::doctype-manpage[]
\\--(?!-)=--

-- 
Jonas Fonseca

^ permalink raw reply

* Re: force a merge conflict
From: Deskin Miller @ 2008-11-09 18:39 UTC (permalink / raw)
  To: Caleb Cushing; +Cc: git
In-Reply-To: <81bfc67a0811090709s483506c1h6f9cb0f96216ef22@mail.gmail.com>

On Sun, Nov 09, 2008 at 10:09:49AM -0500, Caleb Cushing wrote:
> is there any way to force a merge conflict?

I'm not sure a 'conflict' is what you want, based on what you say below;
rather, it seems you simply want to force a 'merge commit', i.e. a commit with
multiple parents.

> in this case I have a dev branch and fork branch the fork is a copy of
> dev except I committed one of the files from the fork. I need to merge
> this file back into dev, but git thinks it's a fast forward, because
> it really is for git, in reality it isn't, both files have newer
> history than their common ancestry.

git merge --no-ff ?

Hope that helps,
Deskin Miller

^ permalink raw reply

* Re: [PATCH 2/2] Cached the git configuration, which is now noticibly faster on windows.
From: Junio C Hamano @ 2008-11-09 18:33 UTC (permalink / raw)
  To: Simon Hausmann, Han-Wen Nienhuys; +Cc: John Chapman, git
In-Reply-To: <1226114569-8506-2-git-send-email-thestar@fussycoder.id.au>

These are patches to fast-import/git-p4, which you two seem to in charge
of.

    From:	John Chapman <thestar@fussycoder.id.au>
    Subject: [PATCH 1/2] Added support for purged files and also optimised memory usage.
    Date:	Sat,  8 Nov 2008 14:22:48 +1100
    Message-Id: <1226114569-8506-1-git-send-email-thestar@fussycoder.id.au>

    From:	John Chapman <thestar@fussycoder.id.au>
    Subject: [PATCH 2/2] Cached the git configuration, which is now noticibly faster on windows.
    Date:	Sat,  8 Nov 2008 14:22:49 +1100
    Message-Id: <1226114569-8506-2-git-send-email-thestar@fussycoder.id.au>

It was unfortunately not immediately obvious from the Subject: line what
these patches are about, and I am guessing you missed them because of that.

^ permalink raw reply

* [ANNOUNCE] GIT 1.6.0.4
From: Junio C Hamano @ 2008-11-09 18:07 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

The latest maintenance release GIT 1.6.0.4 is available at the
usual places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.6.0.4.tar.{gz,bz2}			(source tarball)
  git-htmldocs-1.6.0.4.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.6.0.4.tar.{gz,bz2}		(preformatted docs)

The RPM binary packages for a few architectures are also provided
as courtesy.

  RPMS/$arch/git-*-1.6.0.4-1.fc9.$arch.rpm	(RPM)

Fixes since v1.6.0.3
--------------------

* 'git add -p' said "No changes" when only binary files were changed.

* 'git archive' did not work correctly in bare repositories.

* 'git checkout -t -b newbranch' when you are on detached HEAD was broken.

* when we refuse to detect renames because there are too many new or
  deleted files, 'git diff' did not say how many there are.

* 'git push --mirror' tried and failed to push the stash; there is no
  point in sending it to begin with.

* 'git push' did not update the remote tracking reference if the corresponding
  ref on the remote end happened to be already up to date.

* 'git pull $there $branch:$current_branch' did not work when you were on
  a branch yet to be born.

* when giving up resolving a conflicted merge, 'git reset --hard' failed
  to remove new paths from the working tree.

* 'git send-email' had a small fd leak while scanning directory.

* 'git status' incorrectly reported a submodule directory as an untracked
  directory.

* 'git svn' used deprecated 'git-foo' form of subcommand invocaition.

* 'git update-ref -d' to remove a reference did not honor --no-deref option.

* Plugged small memleaks here and there.

* Also contains many documentation updates.

^ permalink raw reply

* Re: How it was at GitTogether'08 ?
From: Jakub Narebski @ 2008-11-09 17:54 UTC (permalink / raw)
  To: Steven Grimm; +Cc: git, Shawn O. Pearce, Jeff King, Petr Baudis, Tim Ansell
In-Reply-To: <F0422D64-2A35-4755-BD28-782BFA634AAC@midwinter.com>

Steven Grimm wrote:
> On Nov 9, 2008, at 3:49 AM, Jakub Narebski wrote:
>>
>> Still missing (neither video, nor slides, nor description, nor email)
>> are the following talks from GitTogether'08
>>
>>> * Steven: Life with git-svn
> 
> Here are the slides from David's and my talk:
> 
> http://docs.google.com/Presentation?id=dhhs72s2_1wtzbnsnj&invite=v4t8kr

Thanks. Added to http://git.or.cz/gitwiki/GitTogether
(even if I cannot view them in my old web browser).

-- 
Jakub Narebski
Poland

^ permalink raw reply

* Re: How it was at GitTogether'08 ?
From: Steven Grimm @ 2008-11-09 16:52 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git, Shawn O. Pearce, Jeff King, Petr Baudis, Tim Ansell
In-Reply-To: <200811091249.40735.jnareb@gmail.com>

On Nov 9, 2008, at 3:49 AM, Jakub Narebski wrote:
> Still missing (neither video, nor slides, nor description, nor email)
> are the following talks from GitTogether'08
>> * Steven: Life with git-svn

Here are the slides from David's and my talk:

http://docs.google.com/Presentation?id=dhhs72s2_1wtzbnsnj&invite=v4t8kr

-Steve

^ permalink raw reply

* Re: How it was at GitTogether'08 ?
From: Jakub Narebski @ 2008-11-09 16:31 UTC (permalink / raw)
  To: Kai Blin; +Cc: David Symonds, git, Johannes Schindelin, Tim Ansell
In-Reply-To: <200811091636.55343.kai@samba.org>

On Sun, 9 Nov 2008, Kai Blin wrote:
> On Saturday 08 November 2008 16:31:04 Jakub Narebski wrote:

>>>> * Tim: Git as a Media Repository
>>>>  http://www.thousandparsec.net/~tim/media+git.pdf
>>>
>>> This has kicked off some mailing list discussion; I think this can be
>>> a major weak point for git, since checking out only a subtree (and
>>> only the latest revision) is the common SVN way, which copes with
>>> media repositories and the like just fine.
>>
>> Well, you can workaround this weakness by (ab)using submodules...
>> ...and one should always remember that casual partial checkouts
>> interfere a bit with whole-tree commits.
> 
> Interesting. How would you use submodules to work around the fact that binary 
> file changes diff very bad and produce huge histories with basically no value 
> for the user of the working copy? Can you do this from a GUI, easily? We're 
> talking about media repositories here, so our users are artists.

What I meant here (but perhaps was not clear) was (ab)using submodules
to allow to have full working repository without large [media] files
both in object database (repository) and without them checked out.

The workaround is to put all large files for example in 'media/' folder,
and make this folder be submodule. Each clone of repository can have
this 'media' submodule either present (both in object database, although
usually separate from main project object database), or not present
(not cloned and not checked out).

As to submodules UI and GUI support for submodules... currently it is
unfortunately lacking.


Note that I explicitly mentioned that (ab)using submodules to better
deal with large files is _workaround_, and not _solution_. Lazy clone
in version proposed by Tim is IMHO correct solution.

P.S. Could anybody document at last `delta' gitattribute?
P.P.S. You can have separate diff driver for binary files, but I don't
       know anyone who uses for example some such for images...
-- 
Jakub Narebski
Poland

^ permalink raw reply

* Re: How it was at GitTogether'08 ?
From: Kai Blin @ 2008-11-09 15:36 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: David Symonds, git, Johannes Schindelin
In-Reply-To: <200811081631.06229.jnareb@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1142 bytes --]

On Saturday 08 November 2008 16:31:04 Jakub Narebski wrote:

> > > * Tim: Git as a Media Repository
> > >  http://www.thousandparsec.net/~tim/media+git.pdf
> >
> > This has kicked off some mailing list discussion; I think this can be
> > a major weak point for git, since checking out only a subtree (and
> > only the latest revision) is the common SVN way, which copes with
> > media repositories and the like just fine.
>
> Well, you can workaround this weakness by (ab)using submodules...
> ...and one should always remember that casual partial checkouts
> interfere a bit with whole-tree commits.

Interesting. How would you use submodules to work around the fact that binary 
file changes diff very bad and produce huge histories with basically no value 
for the user of the working copy? Can you do this from a GUI, easily? We're 
talking about media repositories here, so our users are artists.

Cheers,
Kai


-- 
Kai Blin
WorldForge developer  http://www.worldforge.org/
Wine developer        http://wiki.winehq.org/KaiBlin
Samba team member     http://www.samba.org/samba/team/
--
Will code for cotton.

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* [PATCH (GIT-GUI)] git-gui: Request blame metadata in utf-8.
From: Alexander Gavrilov @ 2008-11-09 15:53 UTC (permalink / raw)
  To: git; +Cc: Shawn O. Pearce

The blame builtin now supports automatic conversion of
metadata encoding. By default it is converted to the
character set specified by i18n.logoutputencoding.

Since gui blame expects the data in utf-8, it is
necessary to specify the desired encoding directly.
An old version of the blame command will simply
ignore the option.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 lib/blame.tcl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/blame.tcl b/lib/blame.tcl
index 8d60f12..4875804 100644
--- a/lib/blame.tcl
+++ b/lib/blame.tcl
@@ -559,7 +559,7 @@ method _read_file {fd jump} {
 } ifdeleted { catch {close $fd} }
 
 method _exec_blame {cur_w cur_d options cur_s} {
-	lappend options --incremental
+	lappend options --incremental --encoding=utf-8
 	if {$commit eq {}} {
 		lappend options --contents $path
 	} else {
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* [PATCH (GIT-GUI)] git-gui: Add the Show SSH Key item to the clone dialog.
From: Alexander Gavrilov @ 2008-11-09 15:51 UTC (permalink / raw)
  To: git; +Cc: Shawn O. Pearce

The user might need to see the key before cloning a repository.
This patch makes the relevant menu item available in the Select
Repository/Clone dialog.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 git-gui.sh                |   20 +++++++++++---------
 lib/choose_repository.tcl |    6 ++++++
 2 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/git-gui.sh b/git-gui.sh
index 12b496b..cf9ef6e 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -999,6 +999,17 @@ citool {
 
 ######################################################################
 ##
+## execution environment
+
+set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
+
+# Suggest our implementation of askpass, if none is set
+if {![info exists env(SSH_ASKPASS)]} {
+	set env(SSH_ASKPASS) [gitexec git-gui--askpass]
+}
+
+######################################################################
+##
 ## repository setup
 
 set picked 0
@@ -1073,15 +1084,6 @@ set selected_commit_type new
 set nullid "0000000000000000000000000000000000000000"
 set nullid2 "0000000000000000000000000000000000000001"
 
-set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
-
-######################################################################
-
-# Suggest our implementation of askpass, if none is set
-if {![info exists env(SSH_ASKPASS)]} {
-	set env(SSH_ASKPASS) [gitexec git-gui--askpass]
-}
-
 ######################################################################
 ##
 ## task management
diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl
index 9091316..f9ff62a 100644
--- a/lib/choose_repository.tcl
+++ b/lib/choose_repository.tcl
@@ -43,12 +43,18 @@ constructor pick {} {
 			$w.mbar.apple add command \
 				-label [mc "About %s" [appname]] \
 				-command do_about
+			$w.mbar.apple add command \
+				-label [mc "Show SSH Key"] \
+				-command do_ssh_key
 		} else {
 			$w.mbar add cascade -label [mc Help] -menu $w.mbar.help
 			menu $w.mbar.help
 			$w.mbar.help add command \
 				-label [mc "About %s" [appname]] \
 				-command do_about
+			$w.mbar.help add command \
+				-label [mc "Show SSH Key"] \
+				-command do_ssh_key
 		}
 
 		wm protocol $top WM_DELETE_WINDOW exit
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* [PATCH (GIT-GUI)] git-gui: Fix focus transition in the blame viewer.
From: Alexander Gavrilov @ 2008-11-09 15:36 UTC (permalink / raw)
  To: git; +Cc: Shawn O. Pearce

Now that the blame viewer has a search panel, it should be
taken into account by the focus transition code. Otherwise
showing a commit tip (by accidentally moving the mouse to
the text frame) causes the focus to transfer away from the
search field.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 lib/blame.tcl  |   16 ++++++++++++----
 lib/search.tcl |   14 +++++++++++---
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/lib/blame.tcl b/lib/blame.tcl
index 765d08c..642f5ca 100644
--- a/lib/blame.tcl
+++ b/lib/blame.tcl
@@ -321,7 +321,7 @@ constructor new {i_commit i_path i_jump} {
 			tk_popup $w.ctxm %X %Y
 		"
 		bind $i <Shift-Tab> "[list focus $w_cviewer];break"
-		bind $i <Tab>       "[list focus $w_cviewer];break"
+		bind $i <Tab>       "[cb _focus_search $w_cviewer];break"
 	}
 
 	foreach i [concat $w_columns $w_cviewer] {
@@ -337,10 +337,10 @@ constructor new {i_commit i_path i_jump} {
 		bind $i <Control-Key-f> {catch {%W yview scroll  1 pages};break}
 	}
 
-	bind $w_cviewer <Shift-Tab> "[list focus $w_file];break"
+	bind $w_cviewer <Shift-Tab> "[cb _focus_search $w_file];break"
 	bind $w_cviewer <Tab>       "[list focus $w_file];break"
-	bind $w_cviewer <Button-1> [list focus $w_cviewer]
-	bind $w_file    <Visibility> [list focus $w_file]
+	bind $w_cviewer <Button-1>   [list focus $w_cviewer]
+	bind $w_file    <Visibility> [cb _focus_search $w_file]
 	bind $top       <F7>         [list searchbar::show $finder]
 	bind $top       <Escape>     [list searchbar::hide $finder]
 	bind $top       <F3>         [list searchbar::find_next $finder]
@@ -382,6 +382,14 @@ constructor new {i_commit i_path i_jump} {
 	_load $this $i_jump
 }
 
+method _focus_search {win} {
+	if {[searchbar::visible $finder]} {
+		focus [searchbar::editor $finder]
+	} else {
+		focus $win
+	}
+}
+
 method _handle_destroy {win} {
 	if {$win eq $w} {
 		_kill $this
diff --git a/lib/search.tcl b/lib/search.tcl
index d292f20..32c8656 100644
--- a/lib/search.tcl
+++ b/lib/search.tcl
@@ -19,11 +19,11 @@ constructor new {i_w i_text args} {
 
 	frame  $w
 	label  $w.l       -text [mc Find:]
+	entry  $w.ent -textvariable ${__this}::searchstring -background lightgreen
 	button $w.bn      -text [mc Next] -command [cb find_next]
 	button $w.bp      -text [mc Prev] -command [cb find_prev]
 	checkbutton $w.cs -text [mc Case-Sensitive] \
 		-variable ${__this}::casesensitive -command [cb _incrsearch]
-	entry  $w.ent -textvariable ${__this}::searchstring -background lightgreen
 	pack   $w.l   -side left
 	pack   $w.cs  -side right
 	pack   $w.bp  -side right
@@ -40,19 +40,27 @@ constructor new {i_w i_text args} {
 }
 
 method show {} {
-	if {![winfo ismapped $w]} {
+	if {![visible $this]} {
 		grid $w
 	}
 	focus -force $w.ent
 }
 
 method hide {} {
-	if {[winfo ismapped $w]} {
+	if {[visible $this]} {
 		focus $ctext
 		grid remove $w
 	}
 }
 
+method visible {} {
+	return [winfo ismapped $w]
+}
+
+method editor {} {
+	return $w.ent
+}
+
 method _get_new_anchor {} {
 	# use start of selection if it is visible,
 	# or the bounds of the visible area
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* [PATCH] git send-email: add --body option for --compose
From: Joe MacDonald @ 2008-11-09 15:29 UTC (permalink / raw)
  To: spearce; +Cc: git

If the --compose option is specified, --body will allow you to specify a
file that should be included in the message body when the editor starts
up.

Signed-off-by: Joe MacDonald <joe.macdonald@gmail.com>
---
I use --compose with nearly all of my send-email bundles, but
immediately after I enter the editor I read in the contents of another
text file that contains boilerplate text.  So I modified
git-send-email.perl to take a new option --body, which takes a filename
as an argument and appends the contents of that file to the standard
text that send-email normally puts into the .msg.$$ (or whatever file is
pointed to by $compose_filename).

I suppose this is even a step closer to having a batch version of
send-email that will include an introduction email in the patch thread,
but I don't know that such a thing is really useful to anyone.  It would
be for me, but I might be a special case (or at least a minority) in
that.

 git-send-email.perl |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/git-send-email.perl b/git-send-email.perl
index 94ca5c8..17120d3 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -48,6 +48,7 @@ git send-email [options] <file | directory>...
     --subject               <str>  * Email "Subject:"
     --in-reply-to           <str>  * Email "In-Reply-To:"
     --compose                      * Open an editor for introduction.
+    --body                  <str>  * Initial body for the introduction.

   Sending:
     --envelope-sender       <str>  * Email envelope sender.
@@ -156,6 +157,7 @@ my ($smtp_server, $smtp_server_port,
$smtp_authuser, $smtp_encryption);
 my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts);
 my ($validate);
 my (@suppress_cc);
+my ($compose_body);

 my %config_bool_settings = (
     "thread" => [\$thread, 1],
@@ -222,6 +224,7 @@ my $rc = GetOptions("sender|from=s" => \$sender,
 		    "smtp-encryption=s" => \$smtp_encryption,
 		    "identity=s" => \$identity,
 		    "compose" => \$compose,
+		    "body=s" => \$compose_body,
 		    "quiet" => \$quiet,
 		    "cc-cmd=s" => \$cc_cmd,
 		    "suppress-from!" => \$suppress_from,
@@ -483,7 +486,11 @@ if (!defined $smtp_server) {
 if ($compose) {
 	# Note that this does not need to be secure, but we will make a small
 	# effort to have it be unique
-	open(C,">",$compose_filename)
+	if ($compose_body) {
+		open(CB, "<",$compose_body)
+			or die "Failed to open $compose_body : ". $!;
+	}
+	open(C,">>",$compose_filename)
 		or die "Failed to open for writing $compose_filename: $!";
 	print C "From $sender # This line is ignored.\n";
 	printf C "Subject: %s\n\n", $initial_subject;
@@ -494,6 +501,11 @@ GIT: Consider including an overall diffstat or
table of contents
 GIT: for the patch you are writing.

 EOT
+	if ($compose_body) {
+		local $/;
+		print C <CB>;
+		close(CB);
+	}
 	close(C);

 	my $editor = $ENV{GIT_EDITOR} || Git::config(@repo, "core.editor")
|| $ENV{VISUAL} || $ENV{EDITOR} || "vi";
-- 
1.6.0.3.640.g6331a.dirty

^ permalink raw reply related

* force a merge conflict
From: Caleb Cushing @ 2008-11-09 15:09 UTC (permalink / raw)
  To: git

is there any way to force a merge conflict?

there are 2 projects which have basically diverged becoming
incompatible, and both have updated since there common ancestry. I'm
working slowing on merging them back together.

in this case I have a dev branch and fork branch the fork is a copy of
dev except I committed one of the files from the fork. I need to merge
this file back into dev, but git thinks it's a fast forward, because
it really is for git, in reality it isn't, both files have newer
history than their common ancestry.

-- 
Caleb Cushing

^ permalink raw reply

* [PATCH (GITK)] gitk: Fix commit encoding support.
From: Alexander Gavrilov @ 2008-11-09 15:06 UTC (permalink / raw)
  To: git; +Cc: Paul Mackerras

This commit fixes two problems with commit encodings:

1) git-log actually uses i18n.logoutputencoding to generate
   its output, and falls back to i18n.commitencoding only
   when that option is not set. Thus, gitk should use its
   value to read the results, if available.

2) The readcommit function did not process encodings at all.
   This led to randomly appearing misconverted commits if
   the commit encoding differed from the current locale.

Now commit messages should be displayed correctly, except
when logoutputencoding is set to an encoding that cannot
represent charecters in the message. For example, it is
impossible to convert Japanese characters from Shift-JIS
to CP-1251 (although the reverse conversion works).

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 gitk |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/gitk b/gitk
index ae775b1..3834fc0 100755
--- a/gitk
+++ b/gitk
@@ -1555,9 +1555,27 @@ proc chewcommits {} {
     return 0
 }
 
+proc do_readcommit {id} {
+    global tclencoding
+
+    # Invoke git-log to handle automatic encoding conversion
+    set fd [open [concat | git log --no-color --pretty=raw -1 $id] r]
+    # Read the results using i18n.logoutputencoding
+    fconfigure $fd -translation lf -eofchar {}
+    if {$tclencoding != {}} {
+	fconfigure $fd -encoding $tclencoding
+    }
+    set contents [read $fd]
+    close $fd
+    # Remove the heading line
+    regsub {^commit [0-9a-f]+\n} $contents {} contents
+
+    return $contents
+}
+
 proc readcommit {id} {
-    if {[catch {set contents [exec git cat-file commit $id]}]} return
-    parsecommit $id $contents 0
+    if {[catch {set contents [do_readcommit $id]}]} return
+    parsecommit $id $contents 1
 }
 
 proc parsecommit {id contents listed} {
@@ -10565,6 +10583,9 @@ set gitencoding {}
 catch {
     set gitencoding [exec git config --get i18n.commitencoding]
 }
+catch {
+    set gitencoding [exec git config --get i18n.logoutputencoding]
+}
 if {$gitencoding == ""} {
     set gitencoding "utf-8"
 }
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* Re: [PATCH (GITK) v3 6/6] gitk: Explicitly position popup windows.
From: Alexander Gavrilov @ 2008-11-09 14:53 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git
In-Reply-To: <18708.11537.229423.296701@cargo.ozlabs.ibm.com>

On Friday 07 November 2008 14:57:05 Paul Mackerras wrote:
> Alexander Gavrilov writes:
> 
> > For some reason, on Windows all transient windows are placed
> > in the upper left corner of the screen. Thus, it is necessary
> > to explicitly position the windows relative to their parent.
> > For simplicity this patch uses the function that is used
> > internally by Tk dialogs.
> 
> Is there any reason to call tk::PlaceWindow under Linux or MacOS?
> If not I'd rather add an if statement so we only call it on Windows.

I don't know about MacOS, but in Linux it does seem unnecessary, so:


--- >8 ---
Subject: [PATCH] gitk: Explicitly position popup windows.

For some reason, on Windows all transient windows are placed
in the upper left corner of the screen. Thus, it is necessary
to explicitly position the windows relative to their parent.
For simplicity this patch uses the function that is used
internally by Tk dialogs.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 gitk |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/gitk b/gitk
index 1363d20..d72412c 100755
--- a/gitk
+++ b/gitk
@@ -1739,7 +1739,17 @@ proc removehead {id name} {
     unset headids($name)
 }
 
-proc show_error {w top msg} {
+proc center_window {window origin} {
+    # Let platforms with a real window manager
+    # deal with it on their own
+    if {$::tcl_platform(platform) ne {windows}} return
+
+    # Use a handy function from Tk. Note that it
+    # calls 'update' to figure out dimensions.
+    tk::PlaceWindow $window widget $origin
+}
+
+proc show_error {w top msg {owner {}}} {
     message $w.m -text $msg -justify center -aspect 400
     pack $w.m -side top -fill x -padx 20 -pady 20
     button $w.ok -text [mc OK] -command "destroy $top"
@@ -1748,6 +1758,9 @@ proc show_error {w top msg} {
     bind $top <Key-Return> "destroy $top"
     bind $top <Key-space>  "destroy $top"
     bind $top <Key-Escape> "destroy $top"
+    if {$owner ne {}} {
+	center_window $top $owner
+    }
     tkwait window $top
 }
 
@@ -1755,7 +1768,7 @@ proc error_popup {msg {owner .}} {
     set w .error
     toplevel $w
     wm transient $w $owner
-    show_error $w $w $msg
+    show_error $w $w $msg $owner
 }
 
 proc confirm_popup {msg {owner .}} {
@@ -1774,6 +1787,7 @@ proc confirm_popup {msg {owner .}} {
     bind $w <Key-Return> "set confirm_ok 1; destroy $w"
     bind $w <Key-space>  "set confirm_ok 1; destroy $w"
     bind $w <Key-Escape> "destroy $w"
+    center_window $w $owner
     tkwait window $w
     return $confirm_ok
 }
@@ -2572,6 +2586,7 @@ Use and redistribute under the terms of the GNU General Public License"] \
     bind $w <Visibility> "focus $w.ok"
     bind $w <Key-Escape> "destroy $w"
     bind $w <Key-Return> "destroy $w"
+    center_window $w .
 }
 
 proc keys {} {
@@ -2635,6 +2650,7 @@ proc keys {} {
     bind $w <Visibility> "focus $w.ok"
     bind $w <Key-Escape> "destroy $w"
     bind $w <Key-Return> "destroy $w"
+    center_window $w .
 }
 
 # Procedures for manipulating the file list window at the
@@ -3687,6 +3703,7 @@ proc vieweditor {top n title} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid columnconfigure $top.buts 2 -weight 1 -uniform a
     pack $top.buts -in $top -side top -fill x
+    center_window $top .
     focus $top.t
 }
 
@@ -7950,6 +7967,7 @@ proc mkpatch {} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid $top.buts - -pady 10 -sticky ew
     focus $top.fname
+    center_window $top .
 }
 
 proc mkpatchrev {} {
@@ -8024,6 +8042,7 @@ proc mktag {} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid $top.buts - -pady 10 -sticky ew
     focus $top.tag
+    center_window $top .
 }
 
 proc domktag {} {
@@ -8131,6 +8150,7 @@ proc writecommit {} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid $top.buts - -pady 10 -sticky ew
     focus $top.fname
+    center_window $top .
 }
 
 proc wrcomgo {} {
@@ -8181,6 +8201,7 @@ proc mkbranch {} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid $top.buts - -pady 10 -sticky ew
     focus $top.name
+    center_window $top .
 }
 
 proc mkbrgo {top} {
@@ -8341,6 +8362,7 @@ proc resethead {} {
     bind $w <Key-Escape> [list destroy $w]
     pack $w.cancel -side right -fill x -padx 20 -pady 20
     bind $w <Visibility> "grab $w; focus $w"
+    center_window $w .
     tkwait window $w
     if {!$confirm_ok} return
     if {[catch {set fd [open \
@@ -8526,6 +8548,7 @@ proc showrefs {} {
     bind $top.list <ButtonRelease-1> {sel_reflist %W %x %y; break}
     set reflist {}
     refill_reflist
+    center_window $top .
 }
 
 proc sel_reflist {w x y} {
@@ -9878,6 +9901,7 @@ proc choosefont {font which} {
 	grid columnconfigure $top.buts 1 -weight 1 -uniform a
 	pack $top.buts -side bottom -fill x
 	trace add variable fontparam write chg_fontparam
+	center_window $top $prefstop
     } else {
 	raise $top
 	$top.c itemconf text -text $which
@@ -10060,6 +10084,7 @@ proc doprefs {} {
     grid columnconfigure $top.buts 1 -weight 1 -uniform a
     grid $top.buts - - -pady 10 -sticky ew
     bind $top <Visibility> "focus $top.buts.ok"
+    center_window $top .
 }
 
 proc choose_extdiff {} {
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* [PATCH] bisect: fix missing "exit"
From: Christian Couder @ 2008-11-09 14:25 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

In my previous patch:

6a54d97 (2008-09-06 07:27:03 +0200 Christian Couder) bisect: remove "checkout_done" variable used when checking merge bases

I forgot to move '|| exit' to a line above.

This patch should fix that.

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 git-bisect.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/git-bisect.sh b/git-bisect.sh
index 79de701..0d0e278 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -455,7 +455,7 @@ bisect_next() {
 	good=$(git for-each-ref --format='^%(objectname)' \
 		"refs/bisect/good-*" | tr '\012' ' ') &&
 	skip=$(git for-each-ref --format='%(objectname)' \
-		"refs/bisect/skip-*" | tr '\012' ' ') &&
+		"refs/bisect/skip-*" | tr '\012' ' ') || exit
 
 	# Maybe some merge bases must be tested first
 	check_good_are_ancestors_of_bad "$bad" "$good" "$skip"
-- 
1.6.0.3.614.g0f3b9

^ permalink raw reply related

* Re: [PATCH] git send-email: edit recipient addresses with the --compose flag
From: Francis Galiegue @ 2008-11-09 14:13 UTC (permalink / raw)
  To: Ian Hilt; +Cc: Git Mailing List, Pierre Habouzit
In-Reply-To: <1226235588-2997-1-git-send-email-ian.hilt@gmx.com>

Le Sunday 09 November 2008 13:59:48 Ian Hilt, vous avez écrit :
> Sometimes specifying the recipient addresses can be tedious on the
> command-line.  This commit will allow the user to edit the recipient
> addresses in their editor of choice.
>
> Signed-off-by: Ian Hilt <ian.hilt@gmx.com>
> ---
[...]
> +	if ($c_file =~ /^To:\s*+(.+)\s*\nCc:/ism) {

Greedy operators are only supported with perl 5.10 or more... I think it's a 
bad idea to use them...

-- 
Francis Galiegue
ONE2TEAM
Ingénieur système
Mob : +33 (0) 6 83 87 78 75
Tel : +33 (0) 1 78 94 55 52
fge@one2team.com
40 avenue Raymond Poincaré
75116 Paris

^ permalink raw reply

* [PATCH] Documentation: bisect: change a few instances of "git-cmd" to "git cmd"
From: Christian Couder @ 2008-11-09 13:53 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 Documentation/git-bisect.txt |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index c7981ef..39034ec 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -26,7 +26,7 @@ on the subcommand:
  git bisect log
  git bisect run <cmd>...
 
-This command uses 'git-rev-list --bisect' to help drive the
+This command uses 'git rev-list --bisect' to help drive the
 binary search process to find which change introduced a bug, given an
 old "good" commit object name and a later "bad" commit object name.
 
@@ -101,7 +101,7 @@ $ git bisect visualize
 to see the currently remaining suspects in 'gitk'.  `visualize` is a bit
 too long to type and `view` is provided as a synonym.
 
-If 'DISPLAY' environment variable is not set, 'git-log' is used
+If 'DISPLAY' environment variable is not set, 'git log' is used
 instead.  You can even give command line options such as `-p` and
 `--stat`.
 
@@ -215,7 +215,7 @@ tweaks (e.g., s/#define DEBUG 0/#define DEBUG 1/ in a header file, or
 work around other problem this bisection is not interested in")
 applied to the revision being tested.
 
-To cope with such a situation, after the inner 'git-bisect' finds the
+To cope with such a situation, after the inner 'git bisect' finds the
 next revision to test, with the "run" script, you can apply that tweak
 before compiling, run the real test, and after the test decides if the
 revision (possibly with the needed tweaks) passed the test, rewind the
-- 
1.6.0.3.614.g0f3b9

^ permalink raw reply related

* [PATCH] Documentation: rev-list: change a few instances of "git-cmd" to "git cmd"
From: Christian Couder @ 2008-11-09 13:46 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 Documentation/rev-list-options.txt |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index 966276b..68a253f 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -285,7 +285,7 @@ See also linkgit:git-reflog[1].
 History Simplification
 ~~~~~~~~~~~~~~~~~~~~~~
 
-When optional paths are given, 'git-rev-list' simplifies commits with
+When optional paths are given, 'git rev-list' simplifies commits with
 various strategies, according to the options you have selected.
 
 Suppose you specified `foo` as the <paths>.  We shall call commits
@@ -466,14 +466,14 @@ Limit output to the one commit object which is roughly halfway between
 the included and excluded commits. Thus, if
 
 -----------------------------------------------------------------------
-	$ git-rev-list --bisect foo ^bar ^baz
+	$ git rev-list --bisect foo ^bar ^baz
 -----------------------------------------------------------------------
 
 outputs 'midpoint', the output of the two commands
 
 -----------------------------------------------------------------------
-	$ git-rev-list foo ^midpoint
-	$ git-rev-list midpoint ^bar ^baz
+	$ git rev-list foo ^midpoint
+	$ git rev-list midpoint ^bar ^baz
 -----------------------------------------------------------------------
 
 would be of roughly the same length.  Finding the change which
-- 
1.6.0.3.614.g0f3b9

^ permalink raw reply related

* [PATCH] git send-email: edit recipient addresses with the --compose flag
From: Ian Hilt @ 2008-11-09 12:59 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Pierre Habouzit

Sometimes specifying the recipient addresses can be tedious on the
command-line.  This commit will allow the user to edit the recipient
addresses in their editor of choice.

Signed-off-by: Ian Hilt <ian.hilt@gmx.com>
---
This is on top of Pierre's most recent series.  I'm not exactly happy
with the way it turned out, but it seems to function correctly.
Comments are most welcome.

  [ This is a resend.  I don't know what happened to the first mail I
    sent to the list. ]

 git-send-email.perl |   60 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/git-send-email.perl b/git-send-email.perl
index fd72127..3a22767 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -455,6 +455,9 @@ if ($compose) {
 	my $tpl_sender = $sender || $repoauthor || $repocommitter || '';
 	my $tpl_subject = $initial_subject || '';
 	my $tpl_reply_to = $initial_reply_to || '';
+	my $tpl_to = join(', ', @to);
+	my $tpl_cc = join(', ', @initial_cc);
+	my $tpl_bcc = join(', ', @bcclist);
 
 	print C <<EOT;
 From $tpl_sender # This line is ignored.
@@ -464,6 +467,9 @@ GIT: for the patch you are writing.
 GIT:
 GIT: Clear the body content if you don't wish to send a summary.
 From: $tpl_sender
+To: $tpl_to
+Cc: $tpl_cc
+Bcc: $tpl_bcc
 Subject: $tpl_subject
 In-Reply-To: $tpl_reply_to
 
@@ -487,9 +493,31 @@ EOT
 	open(C,"<",$compose_filename)
 		or die "Failed to open $compose_filename : " . $!;
 
+	local $/;
+	my $c_file = <C>;
+	$/ = "\n";
+	close(C);
+
+	my (@tmp_to, @tmp_cc, @tmp_bcc);
+
+	if ($c_file =~ /^To:\s*+(.+)\s*\nCc:/ism) {
+		@tmp_to = get_recipients($1);
+	}
+	if ($c_file =~ /^Cc:\s*+(.+)\s*\nBcc:/ism) {
+		@tmp_cc = get_recipients($1);
+	}
+	if ($c_file =~ /^Bcc:\s*+(.+)\s*\nSubject:/ism) {
+		@tmp_bcc = get_recipients($1);
+	}
+
+
 	my $need_8bit_cte = file_has_nonascii($compose_filename);
 	my $in_body = 0;
 	my $summary_empty = 1;
+
+	open(C,"<",$compose_filename)
+		or die "Failed to open $compose_filename : " . $!;
+
 	while(<C>) {
 		next if m/^GIT: /;
 		if ($in_body) {
@@ -518,15 +546,21 @@ EOT
 		} elsif (/^From:\s*(.+)\s*$/i) {
 			$sender = $1;
 			next;
-		} elsif (/^(?:To|Cc|Bcc):/i) {
-			print "To/Cc/Bcc fields are not interpreted yet, they have been ignored\n";
-			next;
 		}
 		print C2 $_;
 	}
 	close(C);
 	close(C2);
 
+	if (@tmp_to) {
+		@to = @tmp_to;
+	}
+	if (@tmp_cc) {
+		@initial_cc = @tmp_cc;
+	}
+	if (@tmp_bcc) {
+		@bcclist = @tmp_bcc;
+	}
 	if ($summary_empty) {
 		print "Summary email is empty, skpping it\n";
 		$compose = -1;
@@ -1070,3 +1104,23 @@ sub file_has_nonascii {
 	}
 	return 0;
 }
+
+sub get_recipients {
+	my $match = shift(@_);
+	my @recipients = split(/\s*,\s*/, $match);
+	for (my $i = 0; $i <= $#recipients; ++$i) {
+		if ($recipients[$i] eq "") {
+			splice(@recipients, $i, 1);
+		} elsif ($recipients[$i] =~ /"/) {
+			my $x = $i;
+			my $tmp;
+			while ($recipients[$i] !~ /</) {
+				$tmp = join(', ', $recipients[$i],$recipients[$i+1]);
+				++$i;
+				splice(@recipients, $i, 1, $tmp);
+			}
+			splice(@recipients, $x, $i, $tmp);
+		}
+	}
+	return @recipients;
+}
-- 
1.6.0.3.523.g304d0

^ permalink raw reply related

* Re: How it was at GitTogether'08 ?
From: Jakub Narebski @ 2008-11-09 11:49 UTC (permalink / raw)
  To: git; +Cc: Shawn O. Pearce, Jeff King, Petr Baudis, Steven Grimm, Tim Ansell
In-Reply-To: <200811080254.53202.jnareb@gmail.com>

On Sat, 8 Nov 2008, Jakub Narębski wrote:

> GitTogether 2008, which took place October 27(Mon)-29(Wed), has ended more
> than week ago.  Therefore I'd like to ask you impressions (while it is still
> fresh) from GitTogether, describe talks which are not described below,
> correct wrong information in below, etc.
> 
> Please reply to this email while GitTogether is on front of your mind...

Still missing (neither video, nor slides, nor description, nor email)
are the following talks from GitTogether'08

 
> Talks at GitTogether 2008
> =========================
> 
> Mon, Oct 27, 2008
> -----------------
> * Jeff: Helping new contributors join
> * Shawn: JGit
 
> Tue, Oct 28, 2008
> -----------------
> * Jeff: What needs refactoring?
> * Lighting Round Talks
>   - Jeff: Portability autobuilders
>   - Petr: Quick TopGit introduction, problems, future plans
> * Steven: Life with git-svn

> Wed, Oct 29, 2008
> -----------------
+ What was the difference between "Tim: Large media in Git (Repeat)"
  from Wed, and earlier "Tim: Git as a Media Repository" from Tue?

-- 
Jakub Narebski
Poland

^ permalink raw reply

* Re: [PATCH (GITK) v3 3/6] gitk: Add accelerators to frequently used menu commands.
From: Alexander Gavrilov @ 2008-11-09 11:21 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: git
In-Reply-To: <18708.11115.293282.71076@cargo.ozlabs.ibm.com>

On Friday 07 November 2008 14:50:03 Paul Mackerras wrote:
> Alexander Gavrilov writes:
> 
> > -	eval $m add $params [lrange $i 4 end]
> > +	set tail [lrange $i 4 end]
> > +	regsub -all {\$M1T\y} $tail $M1T tail
> > +	eval $m add $params $tail
> 
> This is solving the problem that the $M1T doesn't get expanded in the
> call below because it's inside {}.  If we are going to have a magic
> string that gets expanded like this, I'd rather it didn't look like a
> variable reference, because that is confusing.

How about "Meta1" then?

> Alternatively, we could define a [meta] function that does this:
> 
> proc meta {x} {
>     if {[tk windowingsystem] eq "aqua"} {
> 	return Cmd-$x
>     }
>     return Ctrl-$x
> }
> 
> and then use -accelerator [meta F5] in the makemenu call, and not have
> any magic string substitution in makemenu.  That will work since the
> eval will evaluate the [].

For some reason it didn't work. Maybe I did something wrong.

--- >8 ---
Subject: [PATCH] gitk: Add accelerators to frequently used menu commands.

This commit documents keyboard accelerators used for menu
commands in the menu, as it is usually done, and adds some
more, e.g. F4 to invoke Edit View.

The changes include a workaround for handling Shift-F4 on
systems where XKB binds special XF86_Switch_VT_* symbols
to Ctrl-Alt-F* combinations. Tk often receives these codes
when Shift-F* is pressed, so it is necessary to bind the
relevant actions to them as well.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
---
 gitk |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/gitk b/gitk
index 41d3d2d..a9618dc 100755
--- a/gitk
+++ b/gitk
@@ -1801,6 +1801,11 @@ proc setoptions {} {
 # command to invoke for command, or {variable value} for radiobutton
 proc makemenu {m items} {
     menu $m
+    if {[tk windowingsystem] eq {aqua}} {
+	set Meta1 Cmd
+    } else {
+	set Meta1 Ctrl
+    }
     foreach i $items {
 	set name [mc [lindex $i 1]]
 	set type [lindex $i 2]
@@ -1826,7 +1831,9 @@ proc makemenu {m items} {
 		    -value [lindex $thing 1]
 	    }
 	}
-	eval $m add $params [lrange $i 4 end]
+	set tail [lrange $i 4 end]
+	regsub -all {\yMeta1\y} $tail $Meta1 tail
+	eval $m add $params $tail
 	if {$type eq "cascade"} {
 	    makemenu $m.$submenu $thing
 	}
@@ -1860,17 +1867,17 @@ proc makewindow {} {
     makemenu .bar {
 	{mc "File" cascade {
 	    {mc "Update" command updatecommits -accelerator F5}
-	    {mc "Reload" command reloadcommits}
+	    {mc "Reload" command reloadcommits -accelerator Meta1-F5}
 	    {mc "Reread references" command rereadrefs}
-	    {mc "List references" command showrefs}
-	    {mc "Quit" command doquit}
+	    {mc "List references" command showrefs -accelerator F2}
+	    {mc "Quit" command doquit -accelerator Meta1-Q}
 	}}
 	{mc "Edit" cascade {
 	    {mc "Preferences" command doprefs}
 	}}
 	{mc "View" cascade {
-	    {mc "New view..." command {newview 0}}
-	    {mc "Edit view..." command editview -state disabled}
+	    {mc "New view..." command {newview 0} -accelerator Shift-F4}
+	    {mc "Edit view..." command editview -state disabled -accelerator F4}
 	    {mc "Delete view" command delview -state disabled}
 	    {xx "" separator}
 	    {mc "All files" radiobutton {selectedview 0} -command {showview 0}}
@@ -2232,7 +2239,12 @@ proc makewindow {} {
     bindkey <Key-Return> {dofind 1 1}
     bindkey ? {dofind -1 1}
     bindkey f nextfile
-    bindkey <F5> updatecommits
+    bind . <F5> updatecommits
+    bind . <$M1B-F5> reloadcommits
+    bind . <F2> showrefs
+    bind . <Shift-F4> {newview 0}
+    catch { bind . <Shift-Key-XF86_Switch_VT_4> {newview 0} }
+    bind . <F4> edit_or_newview
     bind . <$M1B-q> doquit
     bind . <$M1B-f> {dofind 1 1}
     bind . <$M1B-g> {dofind 1 0}
@@ -3483,6 +3495,16 @@ proc newview {ishighlight} {
     vieweditor $top $nextviewnum [mc "Gitk view definition"]
 }
 
+proc edit_or_newview {} {
+    global curview
+
+    if {$curview > 0} {
+	editview
+    } else {
+	newview 0
+    }
+}
+
 proc editview {} {
     global curview
     global viewname viewperm newviewname newviewperm
-- 
1.6.0.3.15.gb8d36

^ permalink raw reply related

* Re: [PATCH (GITK) v3 6/6] gitk: Explicitly position popup windows.
From: Paul Mackerras @ 2008-11-09 11:12 UTC (permalink / raw)
  To: Alex Riesen; +Cc: Alexander Gavrilov, git
In-Reply-To: <81b0412b0811070639q47244bc4t10791781fb0ec43b@mail.gmail.com>

Alex Riesen writes:

> > Is there any reason to call tk::PlaceWindow under Linux or MacOS?
> > If not I'd rather add an if statement so we only call it on Windows.
> >
> 
> Yes, please. I rather like the smart placement in compiz.

Do you mean "please add the if statement", i.e. don't call
tk::PlaceWindow under Linux?  Like Johannes Sixt, I find your request
ambiguous. :)

Paul.

^ permalink raw reply

* Re: [PATCH 1/4] t5400: expect success for denying deletion
From: Jan Krüger @ 2008-11-09 10:38 UTC (permalink / raw)
  To: Jeff King; +Cc: git, Junio C Hamano, Sam Vilain
In-Reply-To: <20081107220955.GA16058@coredump.intra.peff.net>

Hi,

On Fri, 7 Nov 2008 17:09:55 -0500, Jeff King <peff@peff.net> wrote:
> Reading over the mailing list postings which led to a240de11, I think
> it is simply a case that Jan didn't fully understand what
> expect_failure meant


Yes, that's exactly what happened, and it won't likely happen again.
Thanks for fixing and for the Cc.

-Jan

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox