Commits on Apr 10, 2011
  1. @davvid

    doc: Add 1.4.3.2 release notes draft

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Apr 10, 2011
  2. @davvid

    gitcfg: Properly decode unicode in file paths

    Both the user's home directory and the repository directory can
    contain unicode characters in their path.  Decode inputs from
    the filesystem so that these paths are accepted.
    
    Closes #74
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Apr 10, 2011
Commits on Mar 20, 2011
  1. @davvid

    utils: Remove unused 'commands' import

    We needed 'commands' back when we built our own strings using
    'commands.mkarg()'.  We now use subprocess.list2cmdline() instead.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 19, 2011
  2. @davvid

    utils: Fix launching background commands on windows

    Newer versions of msysgit no longer require the win32_expandpaths()
    hack to expand paths after the double-dash.
    
    Remove this old hack to make newer gits happy.
    
    This basically means we don't support the older msysgit which
    required the workaround, which is fine.  If we find someone is
    still using an old version we can always add a check later.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 19, 2011
  3. @davvid

    utils: Use subprocess.list2cmdline() to launch commands in the backgr…

    …ound
    
    This is probably safer then relying on commands.mkarg().
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 19, 2011
  4. @davvid

    cmds: Use sys.executable instead of 'python'

    Do not require 'python' in the $PATH by using sys.executable.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 19, 2011
Commits on Mar 11, 2011
  1. @davvid

    views.main: Hold onto background tasks to avoid segfaults on older Py…

    …Qt versions
    
    PyQt 4.6.2 segfaults if we don't hold onto a reference to our QRunnable tasks.
    Python assumes they are unreferenced and safe to garbage collect.
    
    Keep a reference to the task objects to prevent Python from garbage
    collecting them.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 10, 2011
Commits on Mar 10, 2011
  1. @davvid

    main: Read initial git state in a background thread

    Use QThreadPool to offload several git operations so that
    git-cola starts up faster.  We can later look into using
    'git status --porcelain' to eliminate a few more git calls.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  2. @davvid

    views.main: Load GUI state in a background thread

    Every little bit helps when it comes to startup time.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  3. @davvid

    views.main: Load config actions in a background thread

    Loading configured actions can be expensive so do it in the background.
    The actions module now returns config action names instead of doing
    the menu updating itself.  When QThreadPool is available we listen
    for ''install_config_actions' and add callbacks for each name
    sent to it.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  4. @davvid

    views: Make observer callbacks thread-safe

    Prepare to offload expensive operations onto a background thread
    by making all of the observer-registered GUI callbacks thread-safe.
    We do this by using Qt's signal/slots.  When a callback happens in
    another thread it simply posts a signal using emit().
    
    The main (GUI) thread registers for these signals and handles
    updating the views in response to the signals.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  5. @davvid

    gitcfg: Micro-optimize the stat cache

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 10, 2011
  6. @davvid

    difftool: Add support for p4merge

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  7. @davvid

    difftool: Use read-only mode when using *vimdiff

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  8. @davvid

    difftool: Use "compare" to launch Araxis merge

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  9. @davvid

    difftool: Specialize diff options for emerge and ecmerge

    The ecmerge documentation mentions the following form:
    
    	ecmerge --mode=diff2 $1 $2
    
    Since git-difftool is about diffing, we should use that instead
    of --mode=merge2.  Likewise, this drops the $MERGED argument to
    emerge, as discussed on the git list ($gmane/117930).
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 9, 2011
  10. @davvid

    tests: Fix the gitcmds test case

    Reset the cache where appropriate.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Mar 10, 2011
Commits on Feb 27, 2011
  1. @davvid

    doc: Add 1.4.3.1 release notes

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 27, 2011
  2. @davvid

    doc: Add "Kevin K" to the "Thanks to" page

    He's provided the Fedora translations patch which
    was applied in 1aaeccd.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 27, 2011
  3. @davvid

    cmds: Use 'UsageError' in the commit template command objects

    Add error checking so that we can detect when users provide either
    bad paths or unconfigured commit message templates.
    
    Previously, an unconfigured "commit.template" git config variable
    would result in a stacktrace.  We now present users with a helpful
    error message instead.
    
    Closes #72
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 26, 2011
  4. @davvid

    cmdfactory: Catch 'UsageErrors' and provide useful feedback

    Prompt users when a 'UsageError' occurs.  We currently use the simple
    'information' callback.  Different error classes can define fancier
    ones later as needed.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 26, 2011
  5. @davvid

    errors: Add 'UsageError' for use by command objects

    UsageError represents usage errors.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 26, 2011
Commits on Feb 2, 2011
  1. @davvid

    inotify: Rework thread timeouts to consume less resources

    Register known paths up front to avoid checks within a loop.
    Updates timeouts so that we sleep for slightly longer.
    We no longer use quit() when ending the inotify thread.
    We call stop() and wait for it to complete.  This allows us
    to do without the setTerminationEnabled(True) call,
    which is generally discouraged.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 2, 2011
  2. @davvid

    inotify: Watch for IN_CLOSE_WRITE instead of IN_CREATE

    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 2, 2011
  3. @davvid

    inotify: Do not hide the 'Rescan' button when inotify is enabled

    Some people find it useful.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 2, 2011
  4. @davvid

    views.main: Always call keyPressEvent() in the diff view

    Ensure that we don't interfere with Qt's event processing by
    unconditionally calling the default keyPressEvent() in our
    custom callback.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Feb 2, 2011
Commits on Jan 25, 2011
  1. @davvid

    views.about: Decrease font size and reformat "about" text

    Avoid wrapping lines by reflowing the copyright paragraph.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 24, 2011
Commits on Jan 20, 2011
  1. @davvid

    classic: Redo startup initialization for standalone mode

    The gitrepo QStandardItemModel checks fields in the model which were not
    initialized in the 'git cola --classic' standalone case.
    Scan the repository before initializing any GUIs so that all of the
    model data is available beforehand.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
  2. @davvid

    Makefile: Rename Darwin targets to make more sense

    Users might want to 'make git-cola.app' and have it DTRT instead of
    giving them a tarball.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
  3. @davvid

    classic: Rework the status column to use Uri Okrent's snazzy sigil icons

    QStandardItem only lets us set a single icon which is good enough for now.
    The 'Untracked' text was made less cluttered by simply showing a '?' instead.
    That way only the statuses with icons have text next to them.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
  4. @davvid

    classic: Add icons for staged, modified, etc.

    Funky fresh icons for the classic view courtesy of Uri Okrent.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
  5. @davvid

    Revert "models: Handle adding .gitignore'd files"

    This reverts commit 16e5126.
    
    When staging an upper-level folder using 'cola classic'
    in ends up staging all the untracked files in that subdirectory.
    Oops!  Adding ignored files is an edge case and we don't need
    to support it if it hurts the common case.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
  6. @davvid

    Makefile: Separate Darwin app bundle and tarball targets

    This lets us "make app-bundle" to get an untarred git-cola.app.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 20, 2011
Commits on Jan 15, 2011
  1. @davvid

    gitcfg: Fix 'git config' caching

    Re-initialize the data dictionaries directly instead of
    calling reset().  This fixes git config caching since
    the cache data isn't continually discarded.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 15, 2011
  2. @davvid

    view.main: Simplify 'Signoff' and 'Commit' callbacks

    Remove the unnecessary editor command for the 'signoff' action
    so that the Qt widget can do the heavy lifting.
    
    Signed-off-by: David Aguilar <davvid@gmail.com>
    davvid committed Jan 15, 2011