1. 15 4月, 2007 2 次提交
    • S
      git-gui: Display the directory basename in the title · 19c82148
      Shawn O. Pearce 提交于
      By showing the basename of the directory very early in the
      title bar I can more easily locate a particular git-gui
      session when I have 8 open at once and my  Windows taskbar
      is overflowing with items.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      19c82148
    • S
      Merge branch 'er/ui' · d025d1e3
      Shawn O. Pearce 提交于
      * er/ui:
        Always bind the return key to the default button
        Do not break git-gui messages into multiple lines.
        Improve look-and-feel of the git-gui tool.
        Teach git-gui to use the user-defined UI font everywhere.
        Allow wish interpreter to be defined with TCLTK_PATH
      d025d1e3
  2. 05 4月, 2007 1 次提交
  3. 04 4月, 2007 5 次提交
  4. 13 3月, 2007 5 次提交
    • S
      Merge branch 'maint' · 2ec0cb79
      Shawn O. Pearce 提交于
      * maint:
        git-gui: Allow 'git gui version' outside of a repository
        git-gui: Revert "git-gui: Display all authors of git-gui."
        git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
        git-gui: Allow committing empty merges
      2ec0cb79
    • S
      git-gui: Allow 'git gui version' outside of a repository · 756d846f
      Shawn O. Pearce 提交于
      I got a little surprise one day when I tried to run 'git gui version'
      outside of a Git repository to determine what version of git-gui was
      installed on that system.  Turns out we were doing the repository
      check long before we got around to command line argument handling.
      
      We now look to see if the only argument we have been given is
      'version' or '--version', and if so, print out the version and
      exit immediately; long before we consider looking at the Git
      version or working directory.  This way users can still get to
      the git-gui version number even if Git's version cannot be read.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      756d846f
    • S
      git-gui: Revert "git-gui: Display all authors of git-gui." · bb616ddd
      Shawn O. Pearce 提交于
      This reverts commit 871f4c97.
      
      Too many users have complained about the credits generator in
      git-gui, so I'm backing the entire thing out.  This revert will
      finish that series.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      bb616ddd
    • S
      git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed." · 56a7fde1
      Shawn O. Pearce 提交于
      This reverts commit 92446aba.
      
      Too many users have complained about the credits generator in
      git-gui, so I'm backing the entire thing out.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      56a7fde1
    • S
      git-gui: Allow committing empty merges · c7bafad1
      Shawn O. Pearce 提交于
      Johannes Sixt noticed that git-gui would not let the user commit
      a merge created by `git merge -s ours` as the ours strategy does
      not alter the tree (that is HEAD^1^{tree} = HEAD^{tree} after the
      merge).  The same issue arises from amending such a merge commit.
      
      We now permit an empty commit (no changed files) if we are doing
      a merge commit.  Core Git does this with its command line based
      git-commit tool, so it makes sense for the GUI to do the same.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      c7bafad1
  5. 07 3月, 2007 1 次提交
  6. 06 3月, 2007 1 次提交
  7. 02 3月, 2007 1 次提交
  8. 27 2月, 2007 3 次提交
    • S
      git-gui: Don't create empty (same tree as parent) commits. · 51bd9d7b
      Shawn O. Pearce 提交于
      Mark Levedahl noticed that git-gui will let you create an empty
      normal (non-merge) commit if the file state in the index is out
      of whack.  The case Mark was looking at was with the new autoCRLF
      feature in git enabled and is actually somewhat difficult to create.
      
      I found a different way to create an empty commit:  turn on the
      Trust File Modifications flag, touch a file, rescan, then move
      the file into the "Changes To Be Committed" list without looking
      at the file's diff.  This makes git-gui think there are files
      staged for commit, yet the update-index call did nothing other
      than refresh the stat information for the affected file.  In
      this case git-gui allowed the user to make a commit that did
      not actually change anything in the repository.
      
      Creating empty commits is usually a pointless operation; rarely
      does it record useful information.  More often than not an empty
      commit is actually an indication that the user did not properly
      update their index prior to commit.  We should help the user out
      by detecting this possible mistake and guiding them through it,
      rather than blindly recording it.
      
      After we get the new tree name back from write-tree we compare
      it to the parent commit's tree; if they are the same string and
      this is a normal (non-merge, non-amend) commit then something
      fishy is going on.  The user is making an empty commit, but they
      most likely don't want to do that.  We now pop an informational
      dialog and start a rescan, aborting the commit.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      51bd9d7b
    • S
      git-gui: Add Reset to the Branch menu. · fd234dfd
      Shawn O. Pearce 提交于
      cehteh on #git noticed that there was no way to perform a reset --hard
      from within git-gui.  When I pointed out this was Merge->Abort Merge
      cehteh said this is not very understandable, and that most users would
      never guess to try that option unless they were actually in a merge.
      
      So Branch->Reset is now also a way to cause a reset --hard from within
      the UI.  Right now the confirmation dialog is the same as the one used
      in Merge->Abort Merge.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      fd234dfd
    • S
      git-gui: Relocate the menu/transport menu code. · 9b28a8b9
      Shawn O. Pearce 提交于
      This code doesn't belong down in the main window UI creation,
      its really part of the menu system and probably should be
      located with it.  I'm moving it because I could not find
      the code when I was looking for it earlier today, as it was
      not where I expected it to be found.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      9b28a8b9
  9. 25 2月, 2007 1 次提交
    • J
      Don't modify CREDITS-FILE if it hasn't changed. · 92446aba
      Junio C Hamano 提交于
      We should always avoid rewriting a built file during `make install`
      if nothing has changed since `make all`.  This is to help support
      the typical installation process of compiling a package as yourself,
      then installing it as root.
      
      Forcing CREDITS-FILE to be always be rebuilt in the Makefile means
      that CREDITS-GEN needs to check for a change and only update
      CREDITS-FILE if the file content actually differs.  After all,
      content is king in Git.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      92446aba
  10. 21 2月, 2007 6 次提交
  11. 18 2月, 2007 1 次提交
    • S
      git-gui: Correct crash when saving options in blame mode. · 372ef954
      Shawn O. Pearce 提交于
      Martin Waitz noticed that git-gui crashed while saving the user's
      options out if the application was started in blame mode.  This
      was caused by the do_save_config procedure invoking reshow_diff
      incase the number of context lines was modified by the user.
      Because we bypassed main window UI setup to enter blame mode we
      did not set many of the globals which were accessed by reshow_diff,
      and reading unset variables is an error in Tcl.
      
      Aside from moving the globals to be set earlier, I also modified
      reshow_diff to not invoke clear_diff if there is no path currently
      in the diff viewer.  This way reshow_diff does not crash when in
      blame mode due to the $ui_diff command not being defined.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      372ef954
  12. 16 2月, 2007 1 次提交
  13. 15 2月, 2007 1 次提交
  14. 14 2月, 2007 6 次提交
    • S
      git-gui: Prefer version file over git-describe. · 26370f73
      Shawn O. Pearce 提交于
      Some distributions are using Git for part of their package
      management system, but unpack Git's own source code for
      delivery from the .tar.gz.  This means that when we walk
      up the directory tree with git-describe to locate a Git
      repository, the repository we find is for the distribution
      and *not* for git-gui.  Consequently any tag we might find
      there is bogus and does not apply to us.
      
      In this case the version file should always exist and be
      readable, as the packager is working from the released
      .tar.gz sources.  So we should always favor the version
      file over anything git-describe guess for us.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      26370f73
    • S
      git-gui: Print version on the console. · ed3adde0
      Shawn O. Pearce 提交于
      Like `git version`, `git gui version` (or `git gui --version`) shows
      the version of git-gui, in case the user needs to know this, without
      looking at it in the GUI about dialog.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      ed3adde0
    • S
      git-gui: More consistently display the application name. · 5ac58f5b
      Shawn O. Pearce 提交于
      I started to find it confusing that git-gui would refer to itself
      as git-citool when it was started through the citool hardlink, or
      with the citool subcommand.  What was especially confusing was the
      options dialog and the about dialog, as both seemed to imply they
      were somehow different from the git-gui versions.  In actuality
      there is no difference at all.
      
      Now we just call our options menu item 'Options...' (skipping the
      application name) and our About dialog now always shows git-gui
      within the short description (above the copyleft notice) and in
      the version field.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      5ac58f5b
    • S
      git-gui: Permit merging tags into the current branch. · cdf6e088
      Shawn O. Pearce 提交于
      It was pointed out on the git mailing list by Martin Koegler that
      we did not show tags as possible things to merge into the current
      branch.  They actually are, and core Git's Grand Unified Merge
      Driver will accept them just like any other commit.
      
      So our merge dialog now requests all refs/heads, refs/remotes and
      refs/tags named refs and attempts to match them against the commits
      not in HEAD.  One complicating factor here is that we must use the
      %(*objectname) field when talking about an annotated tag, as they
      will not appear in the output of rev-list.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      cdf6e088
    • S
      git-gui: Basic version check to ensure git 1.5.0 or later is used. · 54acdd95
      Shawn O. Pearce 提交于
      This is a very crude (but hopefully effective) check against the
      `git` executable found in our PATH.  Some of the subcommands and
      options that git-gui requires to be present to operate were created
      during the 1.5.0 development cycle, so 1.5 is the minimum version
      of git that we can expect to support.
      
      There actually are early releases of 1.5 (e.g. 1.5.0-rc0) that
      don't have everything we expect (like `blame --incremental`) but
      these are purely academic at this point.  1.5.0 final was tagged
      and released just a few hours ago.  The release candidates will
      (hopefully) fade into the dark quickly.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      54acdd95
    • S
      git-gui: Refactor 'exec git subcmd' idiom. · 81347223
      Shawn O. Pearce 提交于
      As we frequently need to execute a Git subcommand and obtain
      its returned output we are making heavy use of [exec git foo]
      to run foo.  As I'm concerned about possibly needing to carry
      environment data through a shell on Cygwin for at least some
      subcommands, I'm migrating all current calls to a new git
      proc.  This actually makes the code look cleaner too, as
      we aren't saying 'exec git' everywhere.
      Signed-off-by: NShawn O. Pearce <spearce@spearce.org>
      81347223
  15. 13 2月, 2007 5 次提交