Switch branches/tags
v0.8.1 v0.7.1 v0.7.0 v0.5.1 v0.5.0 v0.4.9 v0.4.0 spearce-gpg-pub ported_up_to_here_in_pre_eclipse_branch gitsharp_979829389f136bfabb5956c68d909e7bf3092a4e gitsharp_0731185001a912ace8c13e4f8033218bb4740d53 gitsharp_3924582c8691ed88defdaf811437a905770382fe gitsharp_523211e2eefcc7bcdf0b5d954ed9a59af74a0c3d gitsharp_421964a4b52be8c856f4022e9a43ac85ea2546c4 gitsharp_90036f0b83a1aa93b9d54ec7934b670425838150 gitsharp_84738bd3e2d59c5eadb02f00316fa6fa5ee12a53 gitsharp_46882d5018fe14d2e30fd930ffd2f7a68bc58a5d gitsharp_32295dbb4d59a9ca0d81dd7f75cc6ed637b89013 gitsharp_12382c014474377e21bbe32ea089c5c78b76f1b5 gitsharp__12382c014474377e21bbe32ea089c5c78b76f1b5 gitsharp_8723d090c47206db3068a330b354f03552c0eaba gitsharp_5688f7b2e57f23a3f50cccd3120416c63664a3fe gitsharp_1921cf483b6b406915c204ac5952c3bac8f9a84f gitsharp_833d1de1015490739b5b1b02d6ae0aeb84c667a7 gitsharp_705e2080a272ef29fee0a63d847bc45c94a3e600 gitsharp_438e5bd7a0c8e39c912d46b0a7400081b8011d70 gitsharp_318c905a41ffe3af919d8a282858f3f4ab6a83e7 gitsharp_176b82544cd5abf6d92a4a881e7e9985f09665a2 gitsharp_98d7288daea6a0033af7b41d1bf29674e2d6ed5f gitsharp_90cf1a7b11755ca9f43d762a027204e9a5b85e0d gitsharp_68f9136cc5a4a7429a04b957fbfe55e5ac766196 gitsharp_56f81746c675aadd954f264b2503d70b6007b54b gitsharp_54cf7d6cd8abffc2895150aea3124b692b8a0fb9 gitsharp_50c41994e48b5bf6d35f03b4ba2594404f53efb0 gitsharp_50abaaeea55168dfcab475252d0a6c8ebaffbf89 gitsharp_49fd3e9bfd67e90ae341eb30246bb2a8b3fadd88 gitsharp_48ec27b781643bc9ce7a071ed3ce321eb8c4f825 gitsharp_41b521c51542608e027f9ba57eb423d9fcfc69a4 gitsharp_39be62a327d7d9b4dfac5b752a440682ac0c25e4 gitsharp_20a0825d5f96f014944d40ec6dbfd48560ba7dc1 gitsharp_13e314f0036a43eb22ec14ce101cb439aa355864 gitsharp_09fc5147dd42522318116309cdd49ad5ad0478ab gitsharp_8df8151cc9191525fbb4f47ef070f27628985a05 gitsharp_8c8cb955dfee71f3d8bd4887334ad8b18eaa8049 gitsharp_7f57cd86a852a3e689a4d5927a98bfb652ad6e6c gitsharp_7df2f7639f3c9808cb1288f5086746c0709032cb gitsharp_7b041fbc9a63ae431cee1bae6efa5a84c965e26a gitsharp_7a090a4d3dd236a9684616e995550bd4f9758c79 gitsharp_6fd5d6d72f26ed13c51116e4067358b5b354d995 gitsharp_6e7a2479faebef500fa60310fd771bbcc9e8ce95 gitsharp_6d6955f65997024f867ad42877a80b2e5e987f7d gitsharp_6d6902a47e3982d1551de239b92e1261e759ba34 gitsharp_6ca9896839ea8fda4eb176196a1eece246e1d132 gitsharp_6a2fb546179799630701e321264c8c8bc8803635 gitsharp_5ce5a485b394d8b1ec97e13d6b9c7c27d7680301 gitsharp_5a64aea509698ab3006af40aef5b172613a35e9c gitsharp_5a1baa8da1aa7701c826930589e63e7fca4481e4 gitsharp_4f6efc1e58fcc968c7c9b274b9e8da621b051b44 gitsharp_4b69f1b091f6be07a2abb0913d1735636ceb836e gitsharp_3f2818bd2bc172a1335fd20efbe1aac104207a05 gitsharp_3f67e850b941c7523cdd452c55ae5d26eda680eb gitsharp_3da92fc9910ab07d2b68556bea4b5fc79bcca326 gitsharp_3ae4f70b9963cd83c8bfea3e46c6f0d372ed455a gitsharp_1fc1a5cac25600d0bab1f806c64206571131c861 gitsharp_1a8853f9ce930c4300581be148dbf7f96c0252c5 gitsharp_1a0fa3e271730e1f382a4a996633a52c756d8026 gitsharp_0e6ee1cc59c7c9a19888059e47552ba88cf07193 gitsharp_0dab4f7532881586f5881c4b32b8ad56a74baf56 gitsharp_0a2b1e730dfe7f28b615148459e4bc5747e4208a gitsharp_0a0a9c16d5d027dde14cc59954235b445ef9b4af gitsharp_transport_d537bc43ffe0f7dbe7a0eb61a15127b5d7ca1fe7 gitsharp_f080be5ad5dd2e135e4f8fc50c3d5d8057f6c3c7 gitsharp_f17a20c6030f6afedb095b00945d081fd6ce9ca3 gitsharp_ed2fb5082234d67c54752789c82972a713eff6c4 gitsharp_ecab6dc31b787e101a8e28a2675ec901ec1c13ff gitsharp_eae31684998798c277e1e345d6beac4751a90247 gitsharp_e870e661d6f0e39874d909bb83b5355c5f8e316d gitsharp_e9ff46c17fbd5ea881b5ba24a7ad34b044511cd5 gitsharp_e7b5509e9701eae5ffcd4f7cdb7aca78a8c15a65 gitsharp_de943f4c0ad14d6b0537151dd339ce74516a27f9 gitsharp_dc9fb67a94cc185e8cb0d5e7d5e7d09a82384b89 gitsharp_db35853050d3af883c1f5b373de137652f9c0962 gitsharp_d59cd3493eefa4e857ec566d30119f3beb0cc484 gitsharp_d12bd079ffc6df16794404af5cdf0d25e4bd0ae1 gitsharp_d7e23dd9b8f255c862250ff3bff9e5af6977481f gitsharp_d5ef1e4333ba9660793be1e31eaa01354efe6fa8 gitsharp_cc4424b16b949796c063991ddd28cd2b157452e3 gitsharp_c817f984a3ee63e3f9e2a4bd1c92469e94f8abd6 gitsharp_be3b67db2ad3fdc6ad3f684db49b859c73d558be gitsharp_b60313a3d96dd8351330054fc7c10c720c5e0f9a gitsharp_b98b5fcfca3c9d923047b579ee6f44c113f9b07c gitsharp_a97d0c79180f8d96dd2e1f1bd2c2bc55b4a312d4 gitsharp_a7ec77f8bfc1fb1e70dd31ef6a0037e7997725ae gitsharp_a2e62a3e5e72658d0844a65de84e2e1bef9f4f26
Nothing to show
Commits on Aug 6, 2010
  1. Merge changes I39bfefee,I47795987,I70d120fb,I58cc5e01,I96bee7b9

    spearce committed with Code Review Aug 6, 2010
    * changes:
      Enable configuration of non-standard pack settings
      Pass PackConfig down to PackWriter when packing
      Simplify UploadPack use of options during writing
      Move PackWriter configuration to PackConfig
      Allow PackWriter callers to manage the thread pool
Commits on Aug 5, 2010
  1. Merge "Add "all" parameter to the commit Command"

    caniszczyk committed with Code Review Aug 5, 2010
  2. Merge "Add the parameter "update" to the Add command"

    caniszczyk committed with Code Review Aug 5, 2010
  3. Merge "add fsTick() to RepositoryTestCase"

    caniszczyk committed with Code Review Aug 5, 2010
  4. Merge "add more control to indexState() return-value"

    caniszczyk committed with Code Review Aug 5, 2010
  5. Allow to replace existing Change-Id

    stefanlay committed with caniszczyk Aug 5, 2010
    It is useful to be able to replace an existing Change-Id
    in the message, for example if the user decides not to
    amend the previous commit.
    Bug: 321188
    Change-Id: I594e7f9efd0c57d794d2bd26d55ec45f4e6a47fd
    Signed-off-by: Stefan Lay <>
    Signed-off-by: Chris Aniszczyk <>
Commits on Aug 4, 2010
  1. Rename getOldName,getNewName to getOldPath,getNewPath

    spearce committed Jul 28, 2010
    TreeWalk calls this value "path", while "name" is the stuff after the
    last slash.  FileHeader should do the same thing to be consistent.
    Rename getOldName to getOldPath and getNewName to getNewPath.
    Bug: 318526
    Change-Id: Ib2e372ad4426402d37939b48d8f233154cc637da
    Signed-off-by: Shawn O. Pearce <>
  2. Merge branch 'js/diff'

    spearce committed Aug 4, 2010
    * js/diff:
      Fixed bug in scoring mechanism for rename detection
  3. Fixed bug in scoring mechanism for rename detection

    Jeff Schumacher committed with spearce Aug 3, 2010
    A bug in rename detection would cause file scores to be wrong. The
    bug was due to the way rename detection would judge the similarity
    between files. If file A has three lines containing 'foo', and file
    B has 5 lines containing 'foo', the rename detection phase should
    record that A and B have three lines in common (the minimum of the
    number of times that line appears in both files). Instead, it would
    choose the the number of times the line appeared in the destination
    file, in this case file B. I fixed the bug by having the
    SimilarityIndex instead choose the minimum number, as it should. I
    also added a test case to verify that the bug had been fixed.
    Change-Id: Ic75272a2d6e512a361f88eec91e1b8a7c2298d6b
  4. Add gitignore support to IndexDiff and use TreeWalk

    jensbaumgart committed with caniszczyk Aug 4, 2010
    IndexDiff was re-implemented and now uses TreeWalk instead
    of GitIndex. Additionally, gitignore support and retrieval of
    untracked files was added.
    Change-Id: Ie6a8e04833c61d44c668c906b161202b200bb509
    Signed-off-by: Jens Baumgart <>
    Signed-off-by: Chris Aniszczyk <>
  5. Add "all" parameter to the commit Command

    stefanlay committed Jul 28, 2010
    When the add parameter is set all modified and deleted files
    are staged prior to commit.
    Change-Id: Id23bc25730fcdd151386cd495a7cdc0935cbc00b
    Signed-off-by: Stefan Lay <>
  6. Add the parameter "update" to the Add command

    stefanlay committed Aug 4, 2010
    This change is mainly done for a subsequent commit
    which will introduce the "all" parameter to the Commit
    Bug: 318439
    Change-Id: I85a8a76097d0197ef689a289288ba82addb92fc9
    Signed-off-by: Stefan Lay <>
  7. add fsTick() to RepositoryTestCase

    chalstrick committed with stefanlay Aug 3, 2010
    An utility method which was in RacyGitTests has been moved to
    RepositoryTestCase. Also the javadoc has been improved.
    This method allows to wait long enough until the
    filesystem-timer has advanced. This is useful when it has to
    be guaranteed that two files modifications have different
    modification timestamps.
    Change-Id: I2ebd7cd7818feba6acffb3f835101d8fd281bd5a
    Signed-off-by: Christian Halstrick <>
  8. add more control to indexState() return-value

    chalstrick committed with stefanlay Aug 4, 2010
    The indexState() method was enhanced to be more configurable. A bitmask
    controls which of the optional parts are reported. All data about
    the worktree is not reported anymore by this method which makes the
    interface more cleaner for users wanting to test only the state of the
    This was done because the previous version reported always so much
    additional data that it was hard to write good assertions against it.
    Change-Id: I9b481e97f8fcf3fcdbb785b801dc07bfa85dcc33
    Signed-off-by: Christian Halstrick <>
    Signed-off-by: Stefan Lay <>
Commits on Aug 3, 2010
  1. Merge "Fixed FileTreeIteratorWithTimeControl"

    chalstrick committed with Code Review Aug 3, 2010
Commits on Aug 2, 2010
  1. Allow version builtin to run without git repository

    Benjamin Muskalla committed Aug 2, 2010
    The version builtin should be able to run without a git directory to call
    it from wherever you want.
    Change-Id: I1a3bce662e6788b860a275ee50315af8d5cc094a
    Signed-off-by: Benjamin Muskalla <>
Commits on Jul 30, 2010
  1. Fixed FileTreeIteratorWithTimeControl

    stefanlay committed Jul 30, 2010
    getEntryLastModified returned wrong values for
    timestamps on boundaries.
    Change-Id: I0457ff030946fda7ecc70671bc65db02a8c206ee
    Signed-off-by: Stefan Lay <>
Commits on Jul 29, 2010
  1. Make use of Repository.writeMerge...()

    chalstrick committed Jul 29, 2010
    The CommitCommand should not use to delete MERGE_HEAD and MERGE_MSG
    files since Repository already has utility methods for that.
    Change-Id: If66a419349b95510e5b5c2237a91f06c1d5ba0d4
    Signed-off-by: Christian Halstrick <>
Commits on Jul 28, 2010
  1. Remove use of SortedSet.floor()

    spearce committed Jul 28, 2010
    Its only available in Java 6, and JGit still supports Java 5.
    Change-Id: I6c8fac06106ffe20ac8b4b595f34e027f2d29cc2
    Signed-off-by: Shawn O. Pearce <>
  2. Merge "Fix tag sorting in PlotWalk"

    chalstrick committed with Code Review Jul 28, 2010
  3. Add tests for racy git / Index state encoding

    chalstrick committed with spearce Jul 20, 2010
    In order to test racy git situations we have to be able to control
    the last-modification timestamps of the filesystem. Since we already
    access the modification timestamps of files through an abstraction
    (the WorkingTreeIterator) I add a new implementation of this iterator
    which allows to map timestamp-ranges to single constant timestamps.
    For users of this iterator it looks like all files in that range
    have been modified at exactly the same time.
    With the help of this iterator a test has been writting which
    checkes for racy git handling (smudging, unsmudging, dirty-detection).
    Additionally add a method to RepositoryTestCase which encodes the
    current index state in one String. This should include info about
    pathes, file/index modtime, smudgeState, clean-state. Make
    sure timestamps are presented in a way that it is easy to
    write assertions against this strings (no concrete milliseconds
    but t0,t1,...).
    These two topics depend circulary on each other: thats why they have
    been squashed in one commit.
    Change-Id: I115c3f2f20fca9b481830bdc6b9d1ade2c3abdcf
    Signed-off-by: Christian Halstrick <>
  4. Enable configuration of non-standard pack settings

    spearce committed Jul 28, 2010
    For daemons we might want to disable delta compression entirely, or
    in some strange case an administrator might need to turn of delta
    reuse.  Expose these normally internal pack settings through the pack
    configuration section.
    Change-Id: I39bfefee8384c864cc04ffac724f197240c8a11a
    Signed-off-by: Shawn O. Pearce <>
  5. Pass PackConfig down to PackWriter when packing

    spearce committed Jul 28, 2010
    When we are creating a pack the higher level application should be able
    to override the PackConfig used, allowing it to control the number of
    threads used or how much memory is allocated per writer.
    Change-Id: I47795987bb0d161d3642082acc2f617d7cb28d8c
    Signed-off-by: Shawn O. Pearce <>
  6. Simplify UploadPack use of options during writing

    spearce committed Jul 28, 2010
    We only use these variables once, so just put them at the proper
    use site and avoid assigning the local variable.  The code is a
    bit shorter and the intent is a little bit more clear.
    Change-Id: I70d120fb149b612ac93055ea39bc053b8d90a5db
    Signed-off-by: Shawn O. Pearce <>
  7. Move PackWriter configuration to PackConfig

    spearce committed Jul 28, 2010
    This refactoring permits applications to configure global per-process
    settings for all packing and easily pass it through to per-request
    PackWriters, ensuring that the process configuration overrides the
    repository specific settings.
    For example this might help in a daemon environment where the server
    wants to cap the resources used to serve a dynamic upload pack
    request, even though the repository's own pack.* settings might be
    configured to be more aggressive.  This allows fast but less bandwidth
    efficient serving of clients, while still retaining good compression
    through a cron managed `git gc`.
    Change-Id: I58cc5e01b48924b1a99f79aa96c8150cdfc50846
    Signed-off-by: Shawn O. Pearce <>
  8. Meaningful error message when trying to check-out submodules

    mathiaskinzler committed with spearce Jul 28, 2010
    Currently, a NullPointerException occurs in this case. We should
    instead throw a more meaningful Exception with a proper message.
    This is a very "stupid" implementation which simply checks for
    the existence of a ".gitmodules" file.
    Bug: 300731
    Bug: 306765
    Bug: 308452
    Bug: 314853
    Change-Id: I155aa340a85cbc5d7d60da31dba199fc30689b67
    Signed-off-by: Mathias Kinzler <>
  9. Fix unit tests under windows

    chalstrick committed with spearce Jul 28, 2010
    the following tests fail under windows because certain inputstreams
    are not closed and files cannot be deleted because of that.  The
    main problem I found is UnpackedObject.InflaterInputStream.close().
    This method may throw exceptions found by checkValidEndOfStream()
    but doesn't call super.close() before leaving. It is not clear to me
    which resources a close() method should release before it throws an
    exception. But those reseources which are not published to the
    outside and which therefore cannot be closed by other means have to
    be closed in all cases.
    I changed the close() method to call super.close() under all
    failing tests:
    Change-Id: Id2e609a29e725aad953ff9bd88af6381df38399d
    Signed-off-by: Christian Halstrick <>
  10. Fix tag sorting in PlotWalk

    spearce committed Jul 28, 2010
    By deferring tag sorting until the commit is produced by the walker
    we can avoid an infinite loop that was triggered by trying to sort
    tags while allocating a commit.  This also avoids needing to look
    at commits which aren't going to be produced in the result.
    Bug: 321103
    Change-Id: I25acc739db2ec0221a50b72c2d2aa618a9a75f37
    Reviewed-by: Mathias Kinzler <>
    Reviewed-by: Christian Halstrick <>
    Signed-off-by: Shawn O. Pearce <>
  11. Remove static progress task names from PackWriter

    spearce committed Jul 28, 2010
    These need to be dynamic based on the current thread's environment
    at time of execution in order to be properly localized for the end
    user that will be seeing these messages.
    Change-Id: I4976f462cfe606edd2761c0e36b2f6b20f63d53c
    Signed-off-by: Shawn O. Pearce <>
  12. Allow PackWriter callers to manage the thread pool

    spearce committed Jul 28, 2010
    By permitting the caller of PackWriter to select the Executor it
    uses for task execution, we give the caller the ability to manage
    the lifecycle of the thread pool, including reusing it across
    concurrent pack generators.
    This is the first step to supporting application thread pools
    within Daemon or another managed service like Gerrit Code Review.
    Change-Id: I96bee7b9c30ff9885f2bd261d0b6daaac713b5a4
    Signed-off-by: Shawn O. Pearce <>
  13. Teach NameConflictTreeWalk to report DF conflicts

    chalstrick committed Jul 22, 2010
    Add a method isDirectoryFileConflict() to NameConflictTreeWalk which
    tells whether the current path is part of a directory/file conflict.
    Change-Id: Iffcc7090aaec743dd6f3fd1a333cac96c587ae5d
    Signed-off-by: Christian Halstrick <>
    Signed-off-by: Shawn O. Pearce <>
  14. Stack Overflow in EGit History View

    mathiaskinzler committed Jul 28, 2010
    This is caused by a recursion in PlotWalk.getTags().
    As a hotfix, the sort was simply removed. The sort
    must be re-implemented so that parseAny() is not called
    again (currently, this happens in the PlotRefComparator).
    Change-Id: I060d26fda8a75ac803acaf89cfb7d3b4317328f3
    Signed-off-by: Mathias Kinzler <>
    Signed-off-by: Christian Halstrick <>
  15. Break dissimilar file pairs during diff

    Jeff Schumacher committed with spearce Jul 22, 2010
    File pairs that are very dissimilar during a diff were not being
    broken apart into their constituent ADD/DELETE pairs. The leads to
    sub-optimal rename detection. Take, for example, this situation:
    A file exists at src/a.txt containing "foo". A user renames src/a.txt
    to src/b.txt, then adds a new src/a.txt containing "bar".
    Even though the old a.txt and the new b.txt are identical, the
    rename detection algorithm would not detect it as a rename since
    it was already paired in a MODIFY. I added code to split all
    MODIFYs below a certain score into their constituent ADD/DELETE
    pairs. This allows situations like the one I described above to be
    more correctly handled.
    Change-Id: I22c04b70581f206bbc68c4cd1ee87a1f663b418e
    Signed-off-by: Shawn O. Pearce <>
Commits on Jul 27, 2010
  1. Add methods which write MERGE_HEAD and MERGE_MSG

    chalstrick committed with spearce Jul 21, 2010
    Add methods to the Repository class which write into MERGE_HEAD
    and MERGE_MSG files. Since we have the read methods in the same
    class this seems to be the right place.
    Change-Id: I5dd65306ceb06e008fcc71b37ca3a649632ba462
    Signed-off-by: Christian Halstrick <>
    Signed-off-by: Shawn O. Pearce <>