Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Dec 1, 2008
  1. Add a URL protocol that allows us to display icons

    This would be a very nice addition to GitX, however
    there are some problems with NSURLProtocols and the
    Garbage Collector.
    Until that is fixed (and that should be done by Apple),
    it's not safe to use this, so we just stash it away :(
  2. @masv

    Rakefile: Fixed broken copy in install_app

    masv authored committed
    Seems like File.copy doesn't do directories (as source, that is),
    only files (as far as I can tell from reading the docs and trying
    it in irb, punch me if I'm wrong). It only creates a zero byte file
    in the target directory on my system.
    Replaced File.copy with a system call to 'cp -R ...' to do the job.
    Seems like FileUtils could have done it just as well (with cp_r),
    but I figured making a system call was better than introducing a
    new dependency.
  3. DiffHighlighter: Add a binary file callback

    This allows a caller to return custom code when
    a file is marked as binary, such as the option
    to display the file
  4. WebHistoryView: Use diff callbacks to display history list

    This is the start of a callback system we can use to 
    make the diff more interactive
  5. @tmc

    reset SDKROOT paths to allow building

    tmc authored committed
  6. WebHistoryView: Fix displaying of parents

    This was broken once with the shift away from Prototype,
    and even further when using libgit2.
  7. @bestlem

    GitRefController: Fix moving and updating branches

    bestlem authored committed
    This was also broken with the libgit2 move
  8. GitRevSpecifier: Add NSCoder protocol

    This way, the RevSpecs can be loaded from a menu,
    so we can use them in the toolbar customization
  9. Allow Toolbar customization

    This allows both toolbars to be customized.
  10. Fix copying of commits

    This was broken after using libgit2's sha's objects, as we now need to use
Commits on Nov 26, 2008
  1. WIP: Prettify the diff display by using rounded corners

    This wraps each changed file in its own rounded box, making
    the diff display easier to the eye :)
  2. Add toggle function

  3. GitWindowController: Store multiple views

    This keeps the subviews in memory, which means that switching views will
    be faster if a view has already been opened. This also allows you to type
    a commit message, switch to the history view, and then switch back to
    continue typing.
  4. Fix memory leaks

  5. GitCommit: Fix patch generation

    This was broken when converting to libgit2's sha's.
    We need to use the stringSha, rather than the raw object.
Commits on Nov 25, 2008
  1. Remove leftover comment

  2. JS: Remove stray log

  3. DiffHilighter: Specific the div in which to hilight

    Previously, the diff hilighter was a bit odd in that it would
    just search for elements with a diff and highlight those. While
    useful in theory, this wasn't used at all. We change it to
    receive the diff to hilight, which makes the code somewhat simpler.
  4. add commit file links and ctrl-arrow navigation

    Stephen Bannasch authored committed
    A list of files included in a commit are listed below the
    commit message. The list are links which will take you to
    that file in the diff display below.
    The title of each fileHeader is now just the path to the file
    instead of the full diff command.
    While the focus is in the commit ctrl-down_arrow and up_arrow
    will navigate to to next and previous file in that commit.
  5. Remove "extern C" declaration when importing libgit2

    libgit2 takes care of thiss now, so we don't have to.
  6. PBGitLane: remove functions with NSString arguments

    We don't use these, so let's keep the class clean
  7. GitGrapher: free pointers on dealloc

    This frees the std vector and its contents on
    dealloc. We also fresh up the header a bit
Commits on Nov 24, 2008
  1. PBGitGrapher: Use std::list rather than vector

    This allows us to remove the currentlane if
    necessary, fixing a drawing bug
  2. PBGraphCellInfo: remove unneeded data member

    And clean up the file while we're at it
  3. GitCommit: store the date as a timestamp

    This should speed up commit loading, as we don't
    need the date of all commits
  4. PBGitCommit: Use git_oids for parent shas

    This uses a normal c array to store parent sha's. That means that we
    save a lot of room, as they are only 20 bytes rather than 40 + the cost of
    an NSArray and the NSStrings.
  5. Use structs for graph lines

    We used to use NSObjects, which was really expensive, because for each commit
    as many as 100 graphlines can be created. By preallocating them and not
    using NSObjects in general, we gain a massive speedup
  6. GitGrapher: Remove unneedded loop

    I'm not sure what this loop originally did, but it was buggy and doesn't
    seem logical. Removing it speeds up the graphing a lot, so let's kill it.
    We can always get it back later if necessary
  7. Include libgit2 as submodule and use it to store sha's

    This reduces GitX's memory usage and makes some operations much faster,
    like graphing, by having a cheaper comparison
  8. PBGitRevList: Rewrite as C++ code

    This produces cleaner code and is also significantly faster
    than the old obj-c code: linux-2.6 goes from ~8 seconds
    to ~6 seconds.
    Using the c++ code allows us to do easy optimizations
Something went wrong with that request. Please try again.