<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git, branch gitgui-0.8.0</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=gitgui-0.8.0</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=gitgui-0.8.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2007-07-30T03:44:52Z</updated>
<entry>
<title>git-gui: Minor refactoring of merge command line in merge support</title>
<updated>2007-07-30T03:44:52Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-30T00:21:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=84f67537b13bf0a959b1cad50b0d490071dc921a'/>
<id>urn:sha1:84f67537b13bf0a959b1cad50b0d490071dc921a</id>
<content type='text'>
This is just a small code movement to cleanup how we generate
the command line for a merge.  I'm only doing it to make the
next series of changes slightly more readable.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Use more modern looking icons in the tree browser</title>
<updated>2007-07-30T03:44:52Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-30T01:19:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=dac70892638d08f50c49c539155c4cb54a9b9c28'/>
<id>urn:sha1:dac70892638d08f50c49c539155c4cb54a9b9c28</id>
<content type='text'>
This is a replacement of all of the icons in our tree browser
window, as the prior icons just looked too 1980s Tk-ish.  The
icons used here are actually from a KDE themed look, so they
might actually be familiar to some users of git-gui.

Aside from using more modern looking icons we now have a special
icon for executable blobs, to make them stand out from the normal
non-executable blobs.  We also denote symlinks now with a different
icon, so they stand out from the other types of objects in the tree.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Don't offer to stage hunks from untracked files</title>
<updated>2007-07-30T03:44:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-30T00:29:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=37e2199c4c5b45e060f973097d814726cabe2a86'/>
<id>urn:sha1:37e2199c4c5b45e060f973097d814726cabe2a86</id>
<content type='text'>
If the user looks at an untracked file in our diff pane we used
to offer "Stage Hunk For Commit" in the context menu when they
right-clicked in that pane.  The problem is we don't actually
have any diff hunks in untracked files, so there is nothing to
really select for staging.  So we now grey out the menu item,
so the user cannot invoke it and think its broken when it does
not perform any useful action.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Make sure remotes are loaded when picking revisions</title>
<updated>2007-07-30T03:44:51Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-30T01:26:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=95af4d8de16e8e681c196fce6d42e40909933115'/>
<id>urn:sha1:95af4d8de16e8e681c196fce6d42e40909933115</id>
<content type='text'>
If we are started for only a blame/browser/citool run we don't
usually initialize the list of remotes, or determine which refs
are tracking branches and which are local branch heads.  This is
because some of that work is relatively expensive and is usually
not going to be needed if we are started only for a blame, or to
make a single commit.

However by not loading the remote configuration we were crashing
if the user tried to open a browser for another branch through
the Repository menu, as our load_all_heads procedure was unable
to decide which refs/heads/ items were actually local heads.  We
now force all remote configuration data to be loaded if we have
not done so already and we are trying to create a revision mega
widget.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Use progress bar while resetting/aborting files</title>
<updated>2007-07-29T08:07:13Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-29T08:06:51Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=0fe055cd2480763393b20676a10fd0bea56b2fc2'/>
<id>urn:sha1:0fe055cd2480763393b20676a10fd0bea56b2fc2</id>
<content type='text'>
Resetting a large number of files on a slow filesystem can take
considerable time, just as switching branches in such a case can
take more than two seconds.  We now take advantage of the progress
meter output by read-tree and show it in the main window status
bar, just like we do during checkout (branch switch).

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Honor core.excludesfile when listing extra files</title>
<updated>2007-07-29T07:22:27Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-29T07:22:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=94a4dd9bfda79a226f8dd57fd20c39c6603ec194'/>
<id>urn:sha1:94a4dd9bfda79a226f8dd57fd20c39c6603ec194</id>
<content type='text'>
Recent git versions have a git-status that honors the core.excludesfile
configuration option when it reports on untracked files.  Unfortunately
I missed the introduction of this configuration option in the core
porcelain implementation, so it was not reflected here in git-gui.

Found and reported by Lars Noschinski &lt;lars@public.noschinski.de&gt;.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Unify wording to say "to stage" instead of "to add"</title>
<updated>2007-07-29T07:09:07Z</updated>
<author>
<name>Christian Stimming</name>
<email>stimming@tuhh.de</email>
</author>
<published>2007-07-28T20:17:10Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=360cc106e76ea2a4ba424905c4924e9ed6a4165d'/>
<id>urn:sha1:360cc106e76ea2a4ba424905c4924e9ed6a4165d</id>
<content type='text'>
Also, the warning message when clicking "Reset" is adapted to
the wording "Reset" rather than a confusion "Cancel commit?".

Signed-off-by: Christian Stimming &lt;stimming@tuhh.de&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Don't kill modified commit message buffer with merge templates</title>
<updated>2007-07-27T06:30:15Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-27T06:30:15Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=1e0a92fdf74caa0bf850f73e284818473c8f76e0'/>
<id>urn:sha1:1e0a92fdf74caa0bf850f73e284818473c8f76e0</id>
<content type='text'>
If the user is in the middle of a merge and has already started to
modify their commit message we were losing the user's changes when
they pressed 'Rescan' after resolving issues or making changes in
the working directory.

The problem here was our background timer that saves the commit
message buffer.  It marks the commit message buffer as not being
modified when it writes it out to disk, so during the rescan we
assumed the buffer should be replaced with what we read from the
MERGE_MSG file.  So we now only read these files from .git if we
have a valid backup file.  Since we clear it on commit this will
only have an impact while the user is actively editing the current
commit.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Remove usernames from absolute SSH urls during merging</title>
<updated>2007-07-25T09:02:38Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-25T09:02:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=bc318ea86d3ecd4074ecde3122b1e65f84cf9996'/>
<id>urn:sha1:bc318ea86d3ecd4074ecde3122b1e65f84cf9996</id>
<content type='text'>
If we are being asked to merge a tracking branch that comes from a
remote repository accessed by the very common SSH URL format of
"user@host:/path/to/repo" then we really don't need the username
as part of the merge message, it only clutters up the history and
makes things more confusing.  So we instead clip the username part
off if the local filesystem path is absolute, as its probably not
going to be an ambiguous URL even when it is missing the username.

On the other hand we cannot clip the username off if the URL is
not absolute, because in such cases (e.g. "user@host:myrepo") the
directory that the repository path is resolved in is relative to
the user's home directory, and the username becomes important.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Format tracking branch merges as though they were pulls</title>
<updated>2007-07-25T08:54:53Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-25T08:54:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=ead49f5a4f6c87e5dc61ed5daaeda1bae7644d05'/>
<id>urn:sha1:ead49f5a4f6c87e5dc61ed5daaeda1bae7644d05</id>
<content type='text'>
If we are merging a tracking branch we know exactly what remote URL
that branch is fetched from, and what its name is on that remote
repository.  In this case we can setup a merge message that looks
just like a standard `git-pull $remote $branch` operation by filling
out FETCH_HEAD before we start git-merge, and then run git-merge just
like git-pull does.

I think the result of this behavior is that merges look a lot nicer
when the came off of local tracking branches, because they no longer
say "commit 'origin/...'" to describe the commit being merged but
instead now mention the specific repository we fetched those commits
from.

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