<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/lib/commit.tcl, branch gitgui-0.8.1</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=gitgui-0.8.1</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=gitgui-0.8.1'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2007-07-29T07:09:07Z</updated>
<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='https://git.stealer.net/cgit.cgi/user/sven/git.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: Paper bag fix quitting crash after commit</title>
<updated>2007-07-23T04:20:04Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-23T04:20:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=9c5a3c7797449e1b3e6455327394677c21f0f908'/>
<id>urn:sha1:9c5a3c7797449e1b3e6455327394677c21f0f908</id>
<content type='text'>
My earlier introduction of the GITGUI_BCK file (which saves the user's
commit message buffer while they are typing it) broke the Quit function.
If the user makes a commit we delete the GITGUI_BCK file; if they then
immediately quit the application we fail to rename the GITGUI_BCK file
to GITGUI_MSG.  This is because the file does not exist, but our flag
still says it does.  The root cause is we did not unset the flag during
commit.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Automatically backup the user's commit buffer</title>
<updated>2007-07-21T08:57:57Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-21T08:57:57Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4578c5cb690df98d0d5fbea043114b4b7dec8f57'/>
<id>urn:sha1:4578c5cb690df98d0d5fbea043114b4b7dec8f57</id>
<content type='text'>
A few users have been seeing crashes in Tk when using the undo key
binding to undo the last few keystroke events in the commit buffer.
Unfortunately that means the user loses their commit message and
must start over from scratch when the user restarts the process.

git-gui now saves the user's commit message buffer every couple of
seconds to a temporary file under .git (specifically .git/GITGUI_BCK).
At exit time we rename this file to .git/GITGUI_MSG if there is a
message, the file exists, and it is currently synchronized with the
Tk buffer.  Otherwise we do our usual routine of saving the Tk buffer
to .git/GITGUI_MSG and delete .git/GITGUI_BCK, if it exists.

During startup we favor .git/GITGUI_BCK over .git/GITGUI_MSG.  This
way a crash doesn't take out the user's message buffer but instead
will cause the user to lose only a few keystrokes.  Most people do
not type more than 200 WPM, and with 30 possible saves per minute
we are unlikely to lose more than 7 words.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Translate standard encoding names to Tcl ones</title>
<updated>2007-07-19T05:27:17Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-19T05:13:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=c4638f662c9ba5f4150ab97dbbf0e540392aad55'/>
<id>urn:sha1:c4638f662c9ba5f4150ab97dbbf0e540392aad55</id>
<content type='text'>
This is a essentially a copy of Paul Mackerras encoding support from
gitk.  I stole the code from gitk commit fd8ccbec4f0161, as Paul has
already done all of the hard work setting up this translation table.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Always disable the Tcl EOF character when reading</title>
<updated>2007-07-17T05:50:10Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-17T05:50:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=6eb420ef61317b2efa2993868a6302afed6ae60a'/>
<id>urn:sha1:6eb420ef61317b2efa2993868a6302afed6ae60a</id>
<content type='text'>
On Windows (which includes Cygwin) Tcl defaults to leaving the EOF
character of input file streams set to the ASCII EOF character, but
if that character were to appear in the data stream then Tcl will
close the channel early.  So we have to disable eofchar on Windows.
Since the default is disabled on all platforms except Windows, we
can just disable it everywhere to prevent any sort of read problem.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Change prior tree SHA-1 verification to use git_read</title>
<updated>2007-07-12T06:45:23Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-12T06:45:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=b215883de9322b8b475a04b4768d6ba5455373d1'/>
<id>urn:sha1:b215883de9322b8b475a04b4768d6ba5455373d1</id>
<content type='text'>
This cat-file was done on maint, where we did not have git_read
available to us.  But here on master we do, so we should make
use of it.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2007-07-12T06:40:54Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-12T06:40:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=f31b6ff747afeb204299b7a67ce2ec59beb33b7d'/>
<id>urn:sha1:f31b6ff747afeb204299b7a67ce2ec59beb33b7d</id>
<content type='text'>
* maint:
  git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
</content>
</entry>
<entry>
<title>git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}</title>
<updated>2007-07-12T06:38:14Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-12T06:31:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=20f1a10bfb6c31a3728a74bf1c33cb3cc5ac0c7e'/>
<id>urn:sha1:20f1a10bfb6c31a3728a74bf1c33cb3cc5ac0c7e</id>
<content type='text'>
From Johannes Sixt &lt;J.Sixt@eudaptics.com&gt;:
&gt; It seems that MSYS's wish does some quoting for Bourne shells,
&gt; in particular, escape the first '{' of the "^{tree}" suffix, but
&gt; then it uses cmd.exe to run "git rev-parse". However, cmd.exe does
&gt; not remove the backslash, so that the resulting rev expression
&gt; ends up in git's guts as unrecognizable garbage: rev-parse fails,
&gt; and git-gui hickups in a way that it must be restarted.

Johannes originally submitted a patch to this section of commit.tcl
to use `git rev-parse $PARENT:`, but not all versions of Git will
accept that format.  So I'm just taking the really simple approach
here of scanning the first line of the commit to grab its tree.
About the same cost, but works everywhere.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git-gui: Always use absolute path to all git executables</title>
<updated>2007-07-09T05:17:09Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-09T05:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0b81261622afad691501ee51d7811048cf4a5fce'/>
<id>urn:sha1:0b81261622afad691501ee51d7811048cf4a5fce</id>
<content type='text'>
Rather than making the C library search for git every time we want
to execute it we now search for the main git wrapper at startup, do
symlink resolution, and then always use the absolute path that we
found to execute the binary later on.  This should save us some
cycles, especially on stat challenged systems like Cygwin/Win32.

While I was working on this change I also converted all of our
existing pipes ([open "| git ..."]) to use two new pipe wrapper
functions.  These functions take additional options like --nice
and --stderr which instructs Tcl to take special action, like
running the underlying git program through `nice` (if available)
or redirect stderr to stdout for capture in Tcl.

Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;</content>
</entry>
<entry>
<title>git-gui: Refactor branch switch to support detached head</title>
<updated>2007-07-09T02:34:46Z</updated>
<author>
<name>Shawn O. Pearce</name>
<email>spearce@spearce.org</email>
</author>
<published>2007-07-08T22:40:56Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=d41b43eb4c73044d0fff2057211fc78e4e7b2094'/>
<id>urn:sha1:d41b43eb4c73044d0fff2057211fc78e4e7b2094</id>
<content type='text'>
This is a major rewrite of the way we perform switching between
branches and the subsequent update of the working directory.  Like
core Git we now use a single code path to perform all changes: our
new checkout_op class.  We also use it for branch creation/update
as it integrates the tracking branch fetch process along with a
very basic merge (fast-forward and reset only currently).

Because some users have literally hundreds of local branches we
use the standard revision picker (with its branch filtering tool)
to select the local branch, rather than keeping all of the local
branches in the Branch menu.  The branch menu listing out all of
the available branches is simply not sane for those types of huge
repositories.

Users can now checkout a detached head by ticking off the option
in the checkout dialog.  This option is off by default for the
obvious reason, but it can be easily enabled for any local branch
by simply checking it.  We also detach the head if any non local
branch was selected, or if a revision expression was entered.

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