Skip to content
Commits on Feb 28, 2008
  1. @spearce

    git-gui: Paper bag fix info dialog when no files are staged at commit

    If the user tries to commit their changes without actually staging
    anything we used to display an informational dialog suggesting they
    first stage those changes, then retry the commit feature.
    
    Unfortunately I broke this in aba15f7 ("Ensure error dialogs always
    appear over all other windows") and failed to fix it in the paper
    bag fix that came one day after it.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 28, 2008
Commits on Feb 22, 2008
  1. @spearce

    git-gui: Focus insertion point at end of strings in repository chooser

    When selecting a local working directory for a new repository or a
    location to clone an existing repository into we now set the insert
    point at the end of the selected path, allowing the user to type in
    any additional parts of the path if they so desire.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 11, 2008
  2. @spearce

    git-gui: Avoid hardcoded Windows paths in Cygwin package files

    When we are being built by the Cygwin package maintainers we need to
    embed the POSIX path to our library files and not the Windows path.
    Embedding the Windows path means all end-users who install our Cygwin
    package would be required to install Cygwin at the same Windows path
    as the package maintainer had Cygwin installed to.  This requirement
    is simply not user-friendly and may be infeasible for a large number
    of our users.
    
    We now try to auto-detect if the Tcl/Tk binary we will use at runtime
    is capable of translating POSIX paths into Windows paths the same way
    that cygpath does the translations.  If the Tcl/Tk binary gives us the
    same results then it understands the Cygwin path translation process
    and should be able to read our library files from a POSIX path name.
    
    If it does not give us the same answer as cygpath then the Tcl/Tk
    binary might actually be a native Win32 build (one that is not
    linked against Cygwin) and thus requires the native Windows path
    to our library files.  We can assume this is not a Cygwin package
    as the Cygwin maintainers do not currently ship a pure Win32 build
    of Tcl/Tk.
    
    Reported on the git mailing list by Jurko Gospodnetić.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 21, 2008
  3. @spearce

    git-gui: Default TCL_PATH to same location as TCLTK_PATH

    Most users set TCLTK_PATH to tell git-gui where to find wish, but they
    fail to set TCL_PATH to the same Tcl installation.  We use the non-GUI
    tclsh during builds so headless systems are still able to create an
    index file and create message files without GNU msgfmt.  So it matters
    to us that we find a working TCL_PATH at build time.
    
    If TCL_PATH hasn't been set yet we can take a better guess about what
    tclsh executable to use by replacing 'wish' in the executable path with
    'tclsh'.  We only do this replacement on the filename part of the path,
    just in case the string "wish" appears in the directory paths.  Most of
    the time the tclsh will be installed alongside wish so this replacement
    is a sensible and safe default.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 21, 2008
  4. @spearce

    git-gui: Paper bag fix error dialogs opening over the main window

    If the main window is the only toplevel we have open then we
    don't have a valid grab right now, so we need to assume the
    best toplevel to use for the parent is ".".
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 21, 2008
Commits on Feb 21, 2008
  1. @spearce

    git-gui: Ensure error dialogs always appear over all other windows

    If we are opening an error dialog we want it to appear above all of
    the other windows, even those that we may have opened with a grab
    to make the window modal.  Failure to do so may allow an error
    dialog to open up (and grab focus!) under an existing toplevel,
    making the user think git-gui has frozen up and is unresponsive,
    as they cannot get to the dialog.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Feb 20, 2008
Commits on Feb 20, 2008
  1. @wincent @spearce

    git-gui: relax "dirty" version detection

    "git gui" would complain at launch if the local version of Git was
    "1.5.4.2.dirty". Loosen the regular expression to look for either
    "-dirty" or ".dirty", thus eliminating spurious warnings.
    
    Signed-off-by: Wincent Colaiuta <win@wincent.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    wincent committed with spearce Feb 18, 2008
Commits on Feb 12, 2008
  1. @jaysoffian @spearce

    git-gui: support Git Gui.app under OS X 10.5

    The Tk Framework moved its location in 10.5 compared to 10.4
    
    Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
    Tested-by: Seth Falcon <seth@userprimary.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    jaysoffian committed with spearce Feb 11, 2008
Commits on Jan 23, 2008
  1. @spearce

    git-gui: Correctly cleanup msgfmt '1 message untranslated' output

    In the multiple message case we remove the word "messages" from the
    statistics output of msgfmt as it looks cleaner on the tty when you
    are watching the build process.  However we failed to strip the word
    "message" when only 1 message was found to be untranslated or fuzzy,
    as msgfmt does not produce the 's' suffix.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 22, 2008
  2. @spearce

    git-gui: Make the statistics of po2msg match those of msgfmt

    The strings we were showing from po2msg didn't exactly match those
    of msgfmt's --statistics output so we didn't show quite the same
    results when building git-gui's message files.  Now we're closer
    to what msgfmt shows (at least for an en_US locale) so the make
    output matches.
    
    I noticed that the fuzzy translation count is off by one for the
    current po/zh_cn.po file.  Not sure why and I'm not going to try
    and debug it at this time as the po2msg is strictly a fallback,
    users building from source really should prefer msgfmt.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 22, 2008
  3. @spearce

    git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available

    If msgfmt fails with exit code 127 that typically means the program
    is not found in the user's PATH and thus cannot be executed by make.
    In such a case we can try to fallback to the Tcl based po2msg program
    that we distributed with git-gui, as it does a "good enough" job.
    
    We still don't default to po2msg.sh however as it does not perform
    a lot of the sanity checks that msgfmt does, and quite a few of
    those are too useful to give up.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 22, 2008
  4. @spearce

    git-gui: Work around random missing scrollbar in revision list

    If the horizontal scrollbar isn't currently visible (because it has
    not been needed) but we get an update to the scroll port we may find
    the scrollbar window exists but the Tcl command doesn't.  Apparently
    it is possible for Tk to have partially destroyed the scrollbar by
    removing the Tcl procedure name but still leaving the widget name in
    the window registry.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 22, 2008
Commits on Jan 21, 2008
  1. @spearce

    git-gui: Correct encoding of glossary/fr.po to UTF-8

    Junio noticed this was incorrectly added in ISO-8859-1 but it should
    be in UTF-8 (as the headers claim UTF-8, and our convention is to use
    only UTF-8).
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 20, 2008
  2. @spearce

    git-gui: Consolidate hook execution code into a single function

    The code we use to test if a hook is executable or not differs on
    Cygwin from the normal POSIX case.  Rather then repeating that for
    all three hooks we call in our commit code path we can place the
    common logic into a global procedure and invoke it when necessary.
    
    This also lets us get rid of the ugly "|& cat" we were using before
    as we can now rely on the Tcl 8.4 feature of "2>@1" or fallback to
    the "|& cat" when necessary.
    
    The post-commit hook is now run through the same API, but its outcome
    does not influence the commit status.  As a result we now show any of
    the errors from the post-commit hook in a dialog window, instead of on
    the user's tty that was used to launch git-gui.  This resolves a long
    standing bug related to not getting errors out of the post-commit hook
    when launched under git-gui.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 20, 2008
  3. @spearce

    git-gui: Correct window title for hook failure dialogs

    During i18n translation work this message was partially broken
    by using "append" instead of "strcat" to join the two different
    parts of the message together.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 20, 2008
  4. @spearce

    git-gui: Honor the standard commit-msg hook

    Under core Git the git-commit tool will invoke the commit-msg hook
    if it exists and is executable to the user running git-commit.  As
    a hook it has some limited value as it cannot alter the commit, but
    it can modify the message the user is attempting to commit.  It is
    also able to examine the message to ensure it conforms to some local
    standards/conventions.
    
    Since the hook takes the name of a temporary file holding the message
    as its only parameter we need to move the code that creates the temp
    file up earlier in our commit code path, and then pass through that
    file name to the latest stage (where we call git-commit-tree).  We let
    the hook alter the file as it sees fit and we don't bother to look at
    its content again until the commit succeeded and we need the subject
    for the reflog update.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 20, 2008
Commits on Jan 18, 2008
  1. @mark987 @spearce

    git-gui: Makefile - Handle $DESTDIR on Cygwin

    gg_libdir is converted to an absolute Windows path on Cygwin,
    but a later step attempts to prefix $DESTDIR to install to a
    staging directory. Explicitly separate the uses of gg_libdir for
    these two purposes so installation to $DESTDIR will work.
    
    Signed-off-by: Mark Levedahl <mdl123@verizon.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    mark987 committed with spearce Jan 17, 2008
  2. @chriscool @spearce

    git-gui: add french glossary: glossary/fr.po

    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    chriscool committed with spearce Jan 16, 2008
Commits on Jan 16, 2008
  1. @spearce

    git-gui: Refresh file status description after hunk application

    If we apply a hunk in either direction this may change the file's
    status.  For example if a file is completely unstaged, and has at
    least two hunks in it and the user stages one hunk the file will
    change from "Modified, not staged" to "Portions staged for commit".
    
    Resetting the file path causes our trace on this variable to fire;
    that trace is used to update the file header in the diff viewer to
    the file's current status.
    
    Noticed by Johannes Sixt.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 16, 2008
  2. @spearce

    git-gui: Allow 'Create New Repository' on existing directories

    Often users setup a few source files and get a project rolling
    before they create a Git repository for it.  In such cases the
    core Git tools allow users to initialize a new repository by
    simply running `git init` at the desired root level directory.
    
    We need to allow the same situation in git-gui; if the user is
    trying to make a new repository we should let them do that to any
    location they chose.  If the directory already exists and already
    has files contained within it we still should allow the user to
    create a repository there.  However we still need to disallow
    creating a repository on top of an existing repository.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Jan 16, 2008
  3. @chriscool @spearce

    git-gui: Initial french translation

    Here are some of the choices made to translate Git Gui to french:
    
    - commit         -> "commit" (noun) or "commiter" (verb)
    - stage (index)  -> "pré-commit" (noun) or "pré-commiter" (verb)
    - (re)scan       -> "(re)synchroniser"
    - reset          -> "réinitialiser"
    - checkout       -> "emprunt" (noun) or "emprunter" (verb)
    - revision expression -> "expression de révison"
    
    I am not completely happy with these, but it's a start...
    
    [sp: Inserted a missing LF in message on line 466]
    
    Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    chriscool committed with spearce Jan 16, 2008
  4. @cstim @spearce

    git-gui: Improve German translation.

    Change translation of "clone" back to "klonen" because "kopieren" is a
    much broader term than this particular git action.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    cstim committed with spearce Jan 15, 2008
  5. @spearce

    git-gui: Updated Swedish translation after mailing list review.

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Peter Karlsson committed with spearce Jan 12, 2008
  6. @cstim @spearce

    git-gui: Fix broken revert confirmation.

    I broke this extremely cool feature in 1ac1795,
    but it is rather easy to fix this. Sorry for that.
    
    Signed-off-by: Christian Stimming <stimming@tuhh.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    cstim committed with spearce Jan 8, 2008
  7. @cstim @spearce

    git-gui: Update German translation

    "revert" translated as "verwerfen".
    "hunk" translated as "Kontext".
    Several menu items reworded to be shorter.
    
    Signed-off-by: Christian Stimming <stimming@tuhh.de>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    cstim committed with spearce Jan 7, 2008
  8. @cstim @spearce

    git-gui: Update glossary: add term "hunk"

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    cstim committed with spearce Jan 7, 2008
Commits on Dec 30, 2007
  1. @spearce

    git-gui: Make commit log messages end with a newline

    Concatenating commit log messages from multiple commits works better
    when all of the commits end with a clean line break.
    
    Its good to be strict in what you create, and lenient in what you
    accept, and since we're creating here, we should always try to
    Do The Right Thing(tm).
    
    Signed-off-by: Bernt Hansen <bernt@alumni.uwaterloo.ca>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Bernt Hansen committed with spearce Dec 27, 2007
  2. @nafmo @spearce

    Added Swedish translation.

    nafmo committed with spearce Dec 27, 2007
Commits on Dec 14, 2007
  1. @mark987 @spearce

    git-gui: Unconditionally use absolute paths with Cygwin

    The mapping of Windows vs Cygwin/Posix paths is arbitrary and not knowable
    from the Posix side, so logic to determine whether to use relative paths
    to locate the git-gui library just does not work on Cygwin. Fix this to
    unconditionally use absolute path on Cygwin. (This fixes a regression
    from 1.5.4).
    
    Signed-off-by: Mark Levedahl <mdl123@verizon.net>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    mark987 committed with spearce Dec 13, 2007
  2. @spearce

    git-gui: Handle file mode changes (644->755) in diff viewer

    Johannes Sixt pointed out the diff headers "old mode ..." and
    "new mode ..." were not being parsed properly by git-gui.  We
    now include them in the diff viewer for a file.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    spearce committed Dec 14, 2007
  3. @spearce

    git-gui: Move frequently used commands to the top of the context menu.

    "Stage/Unstage Hunk" is probably the most frequently used command of the
    patch context menu *and* it is not available in some other form than
    the context menu. Therefore, it should go to the top. "Less Context" and
    "More Context" entries are also not easily available otherwise, and are
    therefore, moved second. The other entries are available via key strokes
    (Copy, Paste, Refresh) or rarly used (Font Size, Options) and can go last.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Johannes Sixt committed with spearce Dec 13, 2007
Commits on Dec 5, 2007
  1. @spearce

    Update Hungarian translation. 100% completed.

    Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Miklos Vajna committed with spearce Dec 4, 2007
  2. @spearce

    Update ja.po for git-gui

    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    しらいしななこ committed with spearce Dec 5, 2007
Commits on Dec 3, 2007
  1. @spearce

    git-gui: Improve the application icon on Windows.

    Previusly, there was only a 16x16 image, which looked very distorted.
    Here we add a 32x32 version, and also make the image sharper.
    
    Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Johannes Sixt committed with spearce Nov 27, 2007
  2. @schiele @spearce

    git-gui: install-sh from automake does not like -m755

    The install-sh script as shipped with automake requires a space between
    the -m switch and its argument.  Since this is also the regular way of
    doing it with other install implementations this change inserts the
    missing space.
    
    Signed-off-by: Robert Schiele <rschiele@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    schiele committed with spearce Dec 1, 2007
Something went wrong with that request. Please try again.