<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/lib, branch gitgui-0.8.3</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=gitgui-0.8.3</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=gitgui-0.8.3'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2007-09-17T03:12:19Z</updated>
<entry>
<title>git-gui: Disable native platform text selection in "lists"</title>
<updated>2007-09-17T03:12:19Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-09-17T03:12:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=3849bfba84fb5b0e9d46920f62105b4e1dd97e63'/>
<id>urn:sha1:3849bfba84fb5b0e9d46920f62105b4e1dd97e63</id>
<content type='text'>
Sometimes we use a Tk text widget as though it were a listbox.
This happens typically when we want to show an icon to the left
of the text label or just when a text widget is generally a better
choice then the native listbox widget.

In these cases if we want the user to have control over the selection
we implement our own "in_sel" tag that shows the selected region
and we perform our own selection management in the background
via keybindings and mouse bindings.  In such uses we don't want
the user to be able to activate the native platform selection by
dragging their mouse through the text widget.  Doing so creates a
very confusing display and the user is left wondering what it may
mean to have two different types of selection in the same widget.

Tk doesn't allow us to delete the "sel" tag that it uses internally
to manage the native selection but it will allow us to make it
invisible by setting the tag to have the same display properties
as unselected text.  So long as we don't actually use the "sel"
tag for anything in code its effectively invisible.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Paper bag fix "Commit-&gt;Revert" format arguments</title>
<updated>2007-09-14T00:08:53Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-09-14T00:08:53Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=55bad4f096b1f18eec94169c864c39bf0abda1db'/>
<id>urn:sha1:55bad4f096b1f18eec94169c864c39bf0abda1db</id>
<content type='text'>
The recent bug fix to correctly handle filenames with %s (or any
other valid Tcl format specifier) missed a \ on this line and
caused the remaining format arguments to not be supplied when we
updated the status bar.  This caused a Tcl error anytime the user
was trying to perform a file revert.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Font chooser to handle a large number of font families</title>
<updated>2007-09-13T23:07:46Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-09-13T23:07:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=afe2098ddd3e21d1d1afc428d3c8d91f37b01692'/>
<id>urn:sha1:afe2098ddd3e21d1d1afc428d3c8d91f37b01692</id>
<content type='text'>
Simon Sasburg noticed that on X11 if there are more fonts than can
fit in the height of the screen Tk's native tk_optionMenu does not
offer scroll arrows to the user and it is not possible to review
all choices or to select those that are off-screen.  On Mac OS X
the tk_optionMenu works properly but is awkward to navigate if the
list is long.

This is a rewrite of our font selection by providing a new modal
dialog that the user can launch from the git-gui Options panel.
The dialog offers the user a scrolling list of fonts in a pane.
An example text shows the user what the font looks like at the size
they have selected.  But I have to admit the example pane is less
than ideal.  For example in the case of our diff font we really
should show the user an example diff complete with our native diff
syntax coloring.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
Acked-by: Simon Sasburg &lt;simon.sasburg@gmail.com&gt;</content>
</entry>
<entry>
<title>git-gui: Assume untracked directories are Git submodules</title>
<updated>2007-09-10T00:39:42Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-09-10T00:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=3b9dfde3d636aeb961318d41b3ab59f72414d010'/>
<id>urn:sha1:3b9dfde3d636aeb961318d41b3ab59f72414d010</id>
<content type='text'>
If `git ls-files --others` returned us the name of a directory then
it is because Git has decided that this directory itself contains a
valid Git repository and its files shouldn't be listed as untracked
for this repository.

In such a case we should label the object as a Git repository and
not just as a directory.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: handle "deleted symlink" diff marker</title>
<updated>2007-09-09T23:47:26Z</updated>
<author>
<name>Michele Ballabio</name>
<email>barra_cuda@katamail.com</email>
</author>
<published>2007-09-09T19:09:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4ed1a190d09c7d6a248038edb11addda77af7550'/>
<id>urn:sha1:4ed1a190d09c7d6a248038edb11addda77af7550</id>
<content type='text'>
Signed-off-by: Michele Ballabio &lt;barra_cuda@katamail.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: show unstaged symlinks in diff viewer</title>
<updated>2007-09-09T23:47:22Z</updated>
<author>
<name>Michele Ballabio</name>
<email>barra_cuda@katamail.com</email>
</author>
<published>2007-09-09T19:04:45Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2d19f8e921a1cdc562783814747819b0d5a12641'/>
<id>urn:sha1:2d19f8e921a1cdc562783814747819b0d5a12641</id>
<content type='text'>
git-gui has a minor problem with regards to symlinks that point
to directories.

	git init
	mkdir realdir
	ln -s realdir linkdir
	git gui

Now clicking on file names in the "unstaged changes" window,
there's a problem coming from the "linkdir" symlink: git-gui
complains with

	error reading "file4": illegal operation on a directory

...even though git-gui can add that same symlink to the index just
fine.

This patch fix this by adding a check.

[sp: Minor fix to use {link} instead of "link" in condition
     and to only open the path if it is not a symlink.]

Signed-off-by: Michele Ballabio &lt;barra_cuda@katamail.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: lib/index.tcl: handle files with % in the filename properly</title>
<updated>2007-09-09T03:06:26Z</updated>
<author>
<name>Gerrit Pape</name>
<email>pape@smarden.org</email>
</author>
<published>2007-09-07T17:16:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0b883ab30c869c4f22a19e49aedc1604d335cd91'/>
<id>urn:sha1:0b883ab30c869c4f22a19e49aedc1604d335cd91</id>
<content type='text'>
Steps to reproduce the bug:

 $ mkdir repo &amp;&amp; cd repo &amp;&amp; git init
 Initialized empty Git repository in .git/
 $ touch 'foo%3Fsuite'
 $ git-gui

Then click on the 'foo%3Fsuite' icon to include it in a changeset, a
popup comes with:
'Error: bad field specifier "F"'

Vincent Danjean noticed the problem and also suggested the fix, reported
through
 http://bugs.debian.org/441167

Signed-off-by: Gerrit Pape &lt;pape@smarden.org&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Fix detaching current branch during checkout</title>
<updated>2007-09-04T03:01:44Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-09-02T19:30:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7'/>
<id>urn:sha1:881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7</id>
<content type='text'>
If the user tried to detach their HEAD while keeping the working
directory on the same commit we actually did not completely do
a detach operation internally.  The problem was caused by git-gui
not forcing the HEAD symbolic ref to be updated to a SHA-1 hash
when we were not switching revisions.  Now we update the HEAD ref
if we aren't currently detached or the hashes don't match.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Allow git-merge to use branch names in conflict markers</title>
<updated>2007-08-20T06:17:05Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-08-20T06:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=18a01a0da428c9e1034247e2b40c62e506b73580'/>
<id>urn:sha1:18a01a0da428c9e1034247e2b40c62e506b73580</id>
<content type='text'>
Earlier when I rewrote the merge implementation for git-gui I broke
it such that the conflict markers for the "theirs" side of the hunk
was using a full SHA-1 ID in hex, rather than the name of the branch
the user had merged.  This was because I got paranoid and passed off
the full SHA-1 to git-merge, instead of giving it the reference name
the user saw in the merge dialog.

I'd still like to resolve the SHA-1 upfront in git-gui and always use
that value throughout the merge, but I can't do that until we have a
full implementation of git-merge written in Tcl.  Until then its more
important that the conflict markers be useful to the end-user, so we
need to pass off the ref name and not the SHA-1 ID.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Fix window manager problems on ion3</title>
<updated>2007-08-20T04:38:13Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-08-20T04:53:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=c6951ddb522a7d8ee0fc371cf9c37e727e676989'/>
<id>urn:sha1:c6951ddb522a7d8ee0fc371cf9c37e727e676989</id>
<content type='text'>
cehteh on #git noticed that secondary windows such as console
windows from push/fetch/merge or the blame browser failed on ion
when we tried to open them a second time.

The issue turned out to be the fact that on ion [winfo ismapped .]
returns false if . is not visible right now because it has been
obscured by another window in the same panel.  So we need to keep
track of whether or not the root window has been displayed for this
application, and once it has been we cannot ever assume that ismapped
is going to return true.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
</feed>
