Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: diff-in-commit…
Commits on Mar 8, 2009
  1. Show diff when double-clicking on file in commit dialog

    authored
    It only compares the index version to the working tree version for now.
    So if the file was already added to the index, the diff is empty. What
    it should show is the diff that will be in the commit.
    
    Signed-off-by: Robin Stocker <robin@nibor.org>
Commits on Mar 7, 2009
  1. @robinrosenberg @spearce

    Evaluate short refnames into full names during push

    robinrosenberg authored spearce committed
    With this we can use short names like master instead of refs/heads/master
    when pushing. This is slightly more convenient. Pushing a delete still
    requires the long format.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  2. @spearce @robinrosenberg

    Fix merges involving clean subtrees with StrategySimpleTwoWayInCore

    spearce authored robinrosenberg committed
    If a both sides modify files in the same subtree, but do so in a
    non-conflicting way, we should still be able to merge them by an
    automated merge strategy.  Recursing into the subtree permits us
    to do this merge.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  3. @spearce @robinrosenberg

    Fix merges involving subtrees with StrategySimpleTwoWayInCore

    spearce authored robinrosenberg committed
    JGit mismerged two trees when the common ancestor tree contained two
    trees named libelf-po and libelf, and libelf was modified on one side
    of the merge, while libelf-po was unmodified by both:
    
      040000 tree ...    libelf-po
      040000 tree ...    libelf
    
    Above is the correct sort order, as the second tree, libelf, must be
    sorted as though it ends with '/', and thus comes after libelf-po.
    
    JGit flipped the order during a merge as the strategy added the modified
    subtree "libelf" directly to the DirCacheBuilder, rather than unfolding
    its contents into the DirCache.  The result was a tree entry where only
    file type entries were expected, and the DirCacheBuilder resorted its
    contents to place "libelf" before "libelf-po".
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  4. @yanns @robinrosenberg

    In the commit dialog, deal with Signed-off-by not on the last line

    yanns authored robinrosenberg committed
    The previous implementation made the assumption that
    the Signed-off-by is always on the last line.
    
    Correct this assumption and deal with Signed-off-by everywhere in
    the commit message.
    
    Signed-off-by: Yann Simon <yann.simon.fr@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Commits on Mar 6, 2009
  1. @j16sdiz @spearce

    Fix parsing peeled line in packed-ref

    j16sdiz authored spearce committed
    When doing a WalkTransport with packed-ref, peeled
    lines are not handled correctly, due to an incorrect
    attempt to remove the leading "^" prefix.  Strip the
    leading "^" before parsing the ObjectId.
    
    Signed-off-by: Daniel Cheng (aka SDiZ) <j16sdiz+freenet@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Feb 23, 2009
  1. @spearce

    Set core.bare = false during "jgit clone"

    spearce authored
    This way we initialize the repository like "git clone" would
    have initialized it.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  2. @fhuberts @spearce

    Make sure to set core.bare to false when cloning

    fhuberts authored spearce committed
    This is to make sure that the git plugin sets up a clone
    in the same fashion as the CLI git clone command.
    
    Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  3. @torarnv @spearce

    Use explicit bundle name in UIText to aid IDE integration

    torarnv authored spearce committed
    When the bundle name is specified as a raw string Eclipse will pick up
    the location of the uitext.properties file and display the actual string
    value when hovering over UIText declarations. It also allows direct
    navigation to the uitext.properties string from a declaration.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Commits on Feb 18, 2009
  1. @robinrosenberg

    Add markers for extracting shortlog into build description.

    robinrosenberg authored
    Manual builds from Eclipse will unfortunately contain these markers
    verbatim in the feature description.
    
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  2. @spearce @robinrosenberg

    Teach fetch to prune stale tracking branches

    spearce authored robinrosenberg committed
    If the source branch for a local tracking branch has been removed
    from the remote repository, users may also want (or need) to delete
    it from the local repository.  A good example is when a branch named
    "refs/heads/bar" switches from a file to a directory, and the local
    path name in "refs/remotes/origin/bar" must also change.
    
    Local deletes are done before updates, to handle this special case
    of file to directory (or directory to file) conversions with as few
    errors as possible.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  3. @spearce @robinrosenberg

    Don't pass TagOpt to FetchProcess, get it from the Transport

    spearce authored robinrosenberg committed
    We are already passing the transport down.  Its just easier to get
    the tagopt off the transport than it is to pass it as an argument
    to the constructor.
    
    In the future as we add more options into the Transport we will also
    need to obtain those in the FetchProcess, so directly querying the
    Transport will be more consistent.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  4. @spearce @robinrosenberg

    Add the remote.name.mirror flag to RemoteConfig

    spearce authored robinrosenberg committed
    This flag is currently only honored by "git push" to delete remote
    refs if they are also gone on the source side.  It also causes the
    default push spec to be "+refs/*:refs/*" if the user hasn't given
    us any other push specs.
    
    This change only implements the config file parsing for the mirror
    flag, as there's still a chunk of code needed on the transport to
    actually honor it.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  5. @spearce @robinrosenberg

    Add RefSpec.expandFromDestination for reverse mappings

    spearce authored robinrosenberg committed
    This makes it easy to loop through the destination's refs and see
    if any match up to a source name which doesn't actually exist in
    the set of available source refs.  In such cases, we may want to
    delete the destination ref.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  6. @spearce @robinrosenberg

    Add setBoolean, setInt to RepositoryConfig

    spearce authored robinrosenberg committed
    This makes it easier for application level code to make edits to the
    configuration file, especially when setting boolean or integers into
    any property.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  7. @spearce @robinrosenberg

    Fix RefUpdate.delete to update the result status

    spearce authored robinrosenberg committed
    Some applications may want to use getResult() to obtain the
    status of the delete operation, as perhaps they lost access
    to the return value.  This makes delete() more consistent in
    use with update().
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  8. @spearce @robinrosenberg

    Make pack.indexversion config option default to version 2

    spearce authored robinrosenberg committed
    Git 1.6.0 (released Sun Aug 17 11:42:22 2008 -0700) defaults
    to creating the much safer pack index version 2 format when
    writing a pack to disk.  Most clients trying to use Git will
    be running a recent version of C Git alongside JGit so it is
    reasonably safe to assume they have index version 2 reading
    support, and are thus prepared to accept this change in the
    default output format.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  9. @spearce @robinrosenberg

    Remove yet another legacy StGit utility function

    spearce authored robinrosenberg committed
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  10. @spearce @robinrosenberg

    Validate the pack's footer checksum matches that in the index

    spearce authored robinrosenberg committed
    If the SHA-1 checksum of the entire pack content does not match the
    checksum stored in the corresponding *.idx file we cannot use the
    index, as the offsets recorded with it are most likely incorrect.
    
    This situation can arise if another application repacks the pack
    with different compression settings, but puts the same set of
    objects into it.  The offsets are going to be different, but the
    resulting pack file and index file names will be the same.  If we
    had previously read the old index into memory, but the pack isn't
    a match anymore, we can't safely access this pack.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  11. @spearce @robinrosenberg

    Rename readPackHeader() to be onOpenPack()

    spearce authored robinrosenberg committed
    Its just a better name of the function.  Any logic we might try
    to perform to validate the pack file as we open it up to read
    should be here, and that logic may eventually include validation
    of the footer checksum against the index's footer data.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  12. @spearce @robinrosenberg

    Arrange pack files in recency order to improve quick hits

    spearce authored robinrosenberg committed
    Packs with newer modification dates are more likely to contain data
    related to recent commits, and thus will have a better probability
    of containing an object we care about when we are looking only at
    recent history.
    
    In some cases, this may permit JGit to avoid reading a very large
    historical pack's index file into memory if the only data we ever
    need is available in newer pack files.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  13. @spearce @robinrosenberg

    Allow PackFile to lazily load its PackIndex on first demand

    spearce authored robinrosenberg committed
    Repositories which contain several pack files may have a very large
    historical pack holding the bulk of the project data, and a much
    smaller more recent pack holding current data.  In such cases we
    may be able to answer queries entirely by reading the recent pack
    index, and never reading the larger historical index.  Since JGit
    reads the entire index into memory, avoiding reading the larger
    index can save some time on short uses of a Repository.
    
    This change only sets up the lazy loading of the index.  Because
    the packs aren't sorted by newest-to-oldest in Repository we are
    still very likely to demand load packs we didn't need to examine.
    
    This change also opens the door for potentially releasing one or
    more PackIndex objects when memory gets low, but doesn't actually
    implement any sort of soft reference semantics.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  14. @spearce @robinrosenberg

    Document why WindowFile's hash is *31

    spearce authored robinrosenberg committed
    It doesn't really make sense on its own, but if you know about
    the assumption in WindowCache.hash() it all becomes a bit more
    clear to the reader.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  15. @spearce @robinrosenberg

    Remove dead stats code from WindowCache

    spearce authored robinrosenberg committed
    I used this code to try and tune the WindowCache a bit, but we're
    about as good as we can do for now.  There's no point in keeping
    it all around in somewhat critical paths if we never use it.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  16. @spearce @robinrosenberg

    Remove the Repository parameter from PackFile's constructor

    spearce authored robinrosenberg committed
    This is a legacy parameter, from back when the WindowCache was
    per-repository and not per-process.  We no longer need to pass
    it down, so I'm ripping it out.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  17. @robinrosenberg

    Make the Eclipse plugin resource locking more friendly

    Rob Clevenger authored robinrosenberg committed
    Using the default rule factory instead of the pessimistic one
    makes it less likely that the UI will freeze in a modal dialog
    while Eclipse goes off and does builds.
    
    Signed-off-by: Rob Clevenger <r...@google.com>
    Signed-off-by: Shawn O. Pearce <sop@google.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  18. @torarnv @robinrosenberg

    Allow project decorations regardless of repository root location

    torarnv authored robinrosenberg committed
    If the repository root is more than one level above the project
    directory we use the AdaptableFileTreeIterator to recurse the
    repository tree until we find a directory that can be mapped
    to a container in the workspace. The iterator is then adapted to
    a ContainerTreeIterator and decorations are applied like usual.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  19. @torarnv @robinrosenberg

    Add new file tree iterator that can adapt into a ContainerTreeIterator

    torarnv authored robinrosenberg committed
    As the iterator recurses into subtrees it will look for directories
    that can be mapped using a given workspace root, and if there's a
    mapping it will return a ContainerTreeIterator instead.
    
    This feature required exposing the underlying file of the FileEntry,
    as well as making ContainerTreeIterator's constructor that takes a
    parent iterator public.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  20. @torarnv @robinrosenberg

    Implement label decorations for folders and projects

    torarnv authored robinrosenberg committed
    The option "Re-decorate ancestors..." controls if parents of a
    re-decorated resource also should be updated, for example to
    to signal that the containing folder is now concidered dirty.
    
    The option "Maximum number of levels..." controls how deep the
    container decoration algorithm will recurse when trying to
    determine the state (dirty, staged, etc.) of a container.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  21. @torarnv @robinrosenberg

    Expose the underlying resource entries in ContainerTreeIterator

    torarnv authored robinrosenberg committed
    This is needed if interacting with any of the Eclipse platform
    methods that take IResources as arguments.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  22. @torarnv @robinrosenberg

    Don't decorate every single resource on repository change

    torarnv authored robinrosenberg committed
    Not all resources have corresponding labels that are visible,
    so by using LabelProviderChangedEvent() we ensure that only
    the visible labels are refreshed.
    
    The downside is that we lose project precition, so all
    projects are included, but only visible labels in those
    projects are re-decorated, so it is OK for now.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  23. @torarnv @robinrosenberg

    Implement icon and text decorations of various resource states

    torarnv authored robinrosenberg committed
    - Dirty
      - Staged
      - Conflict
      - Assume valid
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  24. @torarnv @robinrosenberg

    Add icon decoration for tracked and untracked resources

    torarnv authored robinrosenberg committed
    Can be enabled/disabled in the preferences
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  25. @torarnv @robinrosenberg

    Add binding for name of the current branch

    torarnv authored robinrosenberg committed
    This is an example of how to add more bindings to the
    decoration preferences, and how they are implemented in
    the decorator.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
  26. @torarnv @robinrosenberg

    Implement basic customizable label decorations with preferences

    torarnv authored robinrosenberg committed
    Currently the only binding available is the resource name, but
    this commit enables a framework for adding more bindings.
    
    Signed-off-by: Tor Arne Vestbø <torarnv@gmail.com>
    Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Something went wrong with that request. Please try again.