summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* JGit v4.4.1.201607150455-rv4.4.1.201607150455-rMatthias Sohn2016-07-1556-59/+59
| | | | | Change-Id: I61dbc29a962c8185fb356fe1ca30a1e673166d47 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge "RefDirectory: remove ref lock file for following ref dir removal" ↵Christian Halstrick2016-07-152-4/+29
|\ | | | | | | into stable-4.4
| * RefDirectory: remove ref lock file for following ref dir removalMarco Miller2016-06-102-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this fix, ref directory removal did not work. That was because the ref lock file was still in the leaf directory at deletion time. Hence no deep ref directories were ever deleted, which negatively impacted performance under large directory structure circumstances. This fix removes the ref lock file before attempting to delete the ref directory (which includes it). The other deep parent directories are therefore now successfully deleted in turn, since leaf's content (lock file) gets removed first. So, given a structure such as refs/any/directory[/**], this fix now deletes all empty directories up to -and including- 'directory'. The 'any' directory (e.g.) does not get deleted even if empty, as before. The ref lock file is still also removed in the calling block's finally clause, just in case, as before. Such double-unlock brought by this fix is harmless (a no-op). A new (private) RefDirectory#delete method is introduced to support this #pack-specific case; other RefDirectory#delete callers remain untouched. Change-Id: I47ba1eeb9bcf0cb93d2ed105d84fea2dac756a5a Signed-off-by: Marco Miller <marco.miller@ericsson.com>
* | Log if Repository.useCnt becomes negativeMatthias Sohn2016-07-123-1/+19
| | | | | | | | | | | | | | We observe in Gerrit 2.12 that useCnt can become negative in rare cases. Log this to help finding the bug. Change-Id: Ie91c7f9d190a5d7cf4733d4bf84124d119ca20f7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Time based eviction strategy for repository cacheChristian Halstrick2016-07-125-13/+419
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Repository.close() decrements the useCount to 0 currently the cache immediately evicts the repository from WindowCache and RepositoryCache. This leads to I/O overhead on busy repositories because pack files and references are inserted and deleted from the cache frequently. This commit defers the eviction of a repository from the caches until last use of the repository is older than time to live. The eviction is handled by a background task running periodically. Add two new configuration parameters: * core.repositoryCacheExpireAfter: cache entries are evicted if the cache entry wasn't accessed longer than this time in milliseconds * core.repositoryCacheCleanupDelay: defines the interval in milliseconds for running a background task evicting expired cache entries. If set to -1 the delay is set to min(repositoryCacheExpireAfter, 10 minutes). If set to 0 the time based eviction is switched off and no background task is started. If time based eviction is switched off the JVM can still evict cache entries if heap memory is running low. Change-Id: I4a0214ad8b4a193985dda6a0ade63b70bdb948d7 Also-by: Matthias Sohn <matthias.sohn@sap.com> Also-by: Hugo Arès <hugo.ares@ericsson.com> Also-by: Sasa Zivkov <sasa.zivkov@sap.com>
* | Add method to read time unit from configHugo Arès2016-07-125-0/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Time units supported: -milliseconds (1 ms, 2 milliseconds) -seconds (1 s, 1 sec, 1 second, 2 seconds) -minutes (1 m, 1 min, 1 minute, 2 minutes) -hours (1 h, 1 hr, 1 hour, 2 hours) -days (1 d, 1 day, 2 days) -weeks (1 w, 1 week, 2 weeks) -months (1 mon, 1 month, 2 months) -years (1 y, 1 year, 2 years) This functionality is implemented in Gerrit ConfigUtil class. Add it to JGit so it can eventually be remove from Gerrit. Change-Id: I2d6564ff656b6ab9424a9360624061c94fd5f413 Signed-off-by: Hugo Arès <hugo.ares@ericsson.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Align include.path max depth with native gitHugo Arès2016-06-271-1/+1
| | | | | | | | | | Change-Id: I52f059816e1d94b2d60d096e3013bf4095cd0fc4 Signed-off-by: Hugo Arès <hugo.ares@ericsson.com>
* | Config load should not fail on unsupported or nonexistent include pathHugo Arès2016-06-274-7/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1f86350 added initial support for include.path. Relative path and path with tilde are not yet supported but config load was failing if one of those 2 unsupported options was encountered. Another problem was that config load was failing if the include.path file did not exist. Change the behavior to be consistent with native git. Ignore unsupported or nonexistent include.path. Bug: 495505 Bug: 496732 Change-Id: I7285d0e7abb6389ba6983e9c46021bea4344af68 Signed-off-by: Hugo Arès <hugo.ares@ericsson.com>
* | Merge "Extract work queue to allow reusing it" into stable-4.4Matthias Sohn2016-06-212-46/+102
|\ \
| * | Extract work queue to allow reusing itMatthias Sohn2016-06-082-46/+102
| |/ | | | | | | | | Change-Id: I28f7800030a3b9db48e315061509af0746feffcc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* / Allow using JDK 7 bootclasspath when compiling JGit using Java 8Matthias Sohn2016-06-211-1/+5
|/ | | | | | | | | | | | | | | When compiling jgit using Java 8 set system property JDK_HOME to JAVA_HOME path of JDK7 installation to compile against JDK 7 class libraries. Otherwise jgit may hit runtime exceptions when running on Java 7 (e.g. return type of ConcurrentHashMap.keySet() in JDK 8 class library doesn't exist in JDK 7). Example: $ mvn clean install -DJDK_HOME=/.../jdk1.7.0_80.jdk/Contents/Home Bug: 496262 Change-Id: Ib6abe5e544e0492e08b342e1a34b182caf25f94f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.4.1-SNAPSHOT buildsMatthias Sohn2016-06-0756-304/+304
| | | | | Change-Id: I4fe1c84b1418126f5b245b8a4f72bb7e37f48eae Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.4.0.201606070830-rv4.4.0.201606070830-rMatthias Sohn2016-06-0756-59/+59
| | | | | Change-Id: I5c771a62ac0420424a655a4025c62a4bc28dc44e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 4.4.0-SNAPSHOT buildsMatthias Sohn2016-06-0156-59/+59
| | | | | Change-Id: Ib41dfe4103f013ba87a1ce62ee24bc9e10300eff Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.4.0.201606011500-rc2v4.4.0.201606011500-rc2Matthias Sohn2016-06-0156-59/+59
| | | | | Change-Id: Ifd7b7baba7d676a630e2f742d369c4186ea450a6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'master' into stable-4.4Matthias Sohn2016-06-0148-89/+409
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: Fix javadoc errors and unused imports introduced by ddd0fe25 RepoCommand: record manifest shallow recommendation in .gitmodules RepoCommand: record manifest groups as submodule labels Remove the deprecated TestRepository.getClock() method Replace use of deprecated method Repository.getRef() [findBugs] Prevent potential NPE in FileLfsRepository.getOutputStream() Better report on client side if push failed due to too large object [findBugs] Prevent potential NPE in CloneCommand.init() RepoCommand: remove --record-remote-branches RepoCommandTest: Improve assertion message for remote branch recording Change-Id: I4fbce4f84925a933fcc9a48058ed6793f5821b97 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix javadoc errors and unused imports introduced by ddd0fe25Matthias Sohn2016-06-013-5/+6
| | | | | | | | Change-Id: I2d17115843e453c71febd4a58527effe658b48fd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * RepoCommand: record manifest shallow recommendation in .gitmodulesStefan Beller2016-05-314-5/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | Git core learned about the submodule.<name>.shallow option in .gitmodules files, which is a recommendation to clone a submodule shallow. A repo manifest may record a clone depth recommendation as an optional field, which contains more information than a binary shallow/nonshallow recommendation, so any attempted conversion may be lossy. In practice the clone depth recommendation is either '1' or doesn't exist, which is the binary behavior we have in Git core. Change-Id: I51aa9cb6d1d9660dae6ab6d21ad7bae9bc5325e6 Signed-off-by: Stefan Beller <sbeller@google.com>
| * RepoCommand: record manifest groups as submodule labelsStefan Beller2016-05-313-8/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Git core learned about attributes in pathspecs: pathspec: allow querying for attributes The pathspec mechanism is extended via the new ":(attr:eol=input)pattern/to/match" syntax to filter paths so that it requires paths to not just match the given pattern but also have the specified attrs attached for them to be chosen. (177161a5f7, 2016-05-20) We intend to use these pathspec attribute patterns for submodule grouping, similar to the grouping in repo. So the RepoCommand which translates repo manifest files into submodules should propagate this information along. This requires writing information to the .gitattributes file instead of the .gitmodules file. For now we just overwrite any existing .gitattributes file and do not care about prior attributes set. If this becomes an issue we need to figure out how to correctly amend the grouping information to an existing .gitattributes file. Change-Id: I0f55b45786b6b8fc3d5be62d7f6aab9ac00ed60e Signed-off-by: Stefan Beller <sbeller@google.com>
| * Remove the deprecated TestRepository.getClock() methodTerry Parker2016-05-311-11/+0
| | | | | | | | | | | | | | | | Gitles was the holdout and TestRepository.getClock() was removed via: https://gerrit.googlesource.com/gitiles/+/f10481d8384d1695e6981b805c4e5e462e4b71ea Change-Id: I90c0fc17be4891545b097a49763b0f0c202cc004 Signed-off-by: Terry Parker <tparker@google.com>
| * Replace use of deprecated method Repository.getRef()Matthias Sohn2016-05-3135-58/+58
| | | | | | | | Change-Id: Iecf2b8deafc4991cc3333702fb9fa0638be7b914 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * [findBugs] Prevent potential NPE in FileLfsRepository.getOutputStream()Matthias Sohn2016-05-301-1/+4
| | | | | | | | Change-Id: I6f91997e8a976e5f4ace91c082d8b9adf1451adc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Better report on client side if push failed due to too large objectMatthias Sohn2016-05-304-4/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JGits PushCommand and BasePackPushConnection were throwing a generic exception when the pushed pack-file was rejected by the server since it contained too large objects. Teach JGit to better analyze the server's response to detect this situation and throw a more specific exception. Detect this situation by parsing the status line sent by the server. This change only recognizes the response sent by a JGit based server. All other servers which report such problems in a different way still lead to a generic TransportExceptions. Also see https://git.eclipse.org/r/#/c/46348/ Change-Id: I8d6d65e4585ebb3846f7207e7d1a2f82fa9cbd86 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * [findBugs] Prevent potential NPE in CloneCommand.init()Matthias Sohn2016-05-303-0/+14
| | | | | | | | | | | | | | File.listFiles() returns null if the File is not a directory, improve validation of directory and gitDir to fix this. Change-Id: I763d08835faf96a0beb8e706992df0908526bd2c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge "RepoCommandTest: Improve assertion message for remote branch recording"Terry Parker2016-05-261-2/+2
| |\
| | * RepoCommandTest: Improve assertion message for remote branch recordingStefan Beller2016-05-251-2/+2
| | | | | | | | | | | | | | | Change-Id: Ic14e9f9c4bf007b464e463f5047ec5a8d0b9236c Signed-off-by: Stefan Beller <sbeller@google.com>
| * | RepoCommand: remove --record-remote-branchesStefan Beller2016-05-252-5/+0
| |/ | | | | | | | | | | | | | | This function only works in bare mode, and the command line works in non-bare mode, so there's no point in pretending to support it here. Change-Id: Ia017aded93d072bdb9947ec08c424256c3abe438 Signed-off-by: Stefan Beller <sbeller@google.com>
* | Prepare 4.4.0-SNAPSHOT buildsMatthias Sohn2016-05-2556-59/+59
| | | | | | | | | | Change-Id: Iba6e423294d3315465648d19087a674a73b5ef28 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | JGit v4.4.0.201605250940-rc1v4.4.0.201605250940-rc1Matthias Sohn2016-05-2556-59/+59
| | | | | | | | | | Change-Id: Idd8e1664730b979cfbd9a2196081a48a1efa3330 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Update Orbit repository for Neon to R20160520211859Matthias Sohn2016-05-252-3/+3
| | | | | | | | Change-Id: I5e051a652848d8aae0d10c9e1bd42f6b320145f9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'master' into stable-4.4Matthias Sohn2016-05-2440-57/+672
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: JGit CLI: allow to call git init with specific directory Redirect all Show output to outs Support git config [include] section with absolute path(s) Added filter for merge and non-merges commits. [findBugs] Prevent potential NPE in FS_POSIX.readUmask() [findBugs] Fix calculation of host header in SignerV4 Update Orbit repository to S20160518051658 for Neon RC2 Fix StashApply regarding handling of untracked files GC should not pack objects only referenced by ORIG_HEAD,... Make sure to overwrite files when "reset --hard" detects conflicts Allow setting FileMode to executable when applying patches in ApplyCommand Fix config value get to return last instead of 1st just like git Remove UTF-8 checking duplication in Config lib subclasses Update Maven plugins Fix type parameter in javadoc in TestRepository.delete(String ref) TestRepository: Add delete() method Make BaseReceivePack.setAtomic public ReceivePack: Pass atomic setting from client to BatchRefUpdate Change-Id: I5c9c5b7ccb23fb48b44b3da10b2c5d876d043d24 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit CLI: allow to call git init with specific directoryRüdiger Herrmann2016-05-223-2/+102
| | | | | | | | | | | | | | | | With this change it is possible to initialize repositories with 'git init /path/to/new/repo' Change-Id: Ia9b288b4fb34887e8f5e2f3f270e521c44d41b6a Signed-off-by: Rüdiger Herrmann <ruediger.herrmann@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Redirect all Show output to outsRüdiger Herrmann2016-05-211-2/+8
| | | | | | | | | | | | | | | | The Show command wrote all diffs to System.out instead of 'outs. Bug: 494143 Change-Id: Ibc78e9a058b7a32d536e03e294c1d933b6c26ba7 Signed-off-by: Rüdiger Herrmann <ruediger.herrmann@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Support git config [include] section with absolute path(s)Marco Miller2016-05-215-1/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per [1], but limited to absolute paths indeed. No support yet for tilde or $HOME expansion. Support for the --[no-]includes options ([1]) is not part of this commit scope either, but those options' defaults are in effect as described in [1]. [1] https://git-scm.com/docs/git-config Included path can be a config file that includes other path-s in turn. An exception is thrown if too many recursions (circular includes) happen because of ill-specified config files. Change-Id: I700bd7b7e1625eb7de0180f220c707d8e7b0930b Signed-off-by: Marco Miller <marco.miller@ericsson.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Added filter for merge and non-merges commits.Alcemir Santos2016-05-203-0/+136
| | | | | | | | | | | | | | | | Added the option to retrieve either merge or non-merge commits in the LogCommand. Change-Id: Ie0e1c515a823f2392783f1a47d385c31230e8167 Signed-off-by: Alcemir Santos <alcemir.santos@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * [findBugs] Prevent potential NPE in FS_POSIX.readUmask()Matthias Sohn2016-05-191-1/+1
| | | | | | | | | | | | | | BufferedReader.readLine() returns null if the end of the stream has been reached. Change-Id: I83102bbfb1316407247e0f29023077af9e8d9606 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * [findBugs] Fix calculation of host header in SignerV4Matthias Sohn2016-05-191-3/+3
| | | | | | | | | | | | | | | | We ignored the returned concatenation of host name and port number. Fix this and use a StringBuilder to avoid creation of unnecessary String objects. Change-Id: I61fac639d4a4c95412eb41a0f9131d0c38aca794 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Update Orbit repository to S20160518051658 for Neon RC2Matthias Sohn2016-05-193-9/+9
| | | | | | | | Change-Id: If1bc2001108091770bccee7fa59b0e7f5e3974d7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix StashApply regarding handling of untracked filesChristian Halstrick2016-05-192-3/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug regarding how JGit handled untracked files when applying a stash. Problem was that untracked files are applied by doing a merge of HEAD and untrackedFiles commit with a merge base of the stashed HEAD. That's wrong because the untrackedFiles commit has no parent and contains only the untracked files. Using stashed HEAD as merge base leads to unneccessary conflicts on files not event included in the untrackedFiles commit. Imagine this graph directly before you want to apply a stash which was based on 0. You want to apply the stash on current HEAD commit 5. 5 (HEAD,master) / 0---+ \ \ 1---3 (WIP on master) / 2 (untracked files on master) Imagine for a specific (tracked) file f - commit 0 contains X - HEAD contains Y - commit 2 (the untracked files) does not contain file f A merge of 2 and 5 with a merge base of 0 leads to a conflict. The 5 commit wants to modify the file and the 2 commit wants to delete the file -> conflict. If no merge base is set then the semantic is correct. Thanks to Bow for finding this bug and providing the test case. Bug: 485467 Change-Id: I453fa6ec337f81b2a52c4f51f23044faeec409e6 Also-by: Bow Ruggeri <bow@bow.net> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * GC should not pack objects only referenced by ORIG_HEAD,...Christian Halstrick2016-05-182-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are references which are returned by RefDatabase.getAdditionalRefs() which are allowed to point to non-existing objects. These refs should not save objects from being garbage collected. Examples for these references are ORIG_HEAD, MERGE_HEAD, FETCH_HEAD and CHERRY_PICK_HEAD. Native git will not take these references into account when doing a gc and therefore these references may point to non-existing objects after a gc. Teach JGit's GC to behave the same: ignore additional refs if they don't start with "refs/". Examples for refs returned by getAdditionalRefs() which do start with "refs/" are the bootstrap refs when using reftree's (see commit 115f1ad3974d1162b33d1c8eff466019d1f249f3). See also http://article.gmane.org/gmane.comp.version-control.git/294126. Bug: 479697 Change-Id: I10e40589f13e72aacdd9f86f3b44696fd1cd068a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Make sure to overwrite files when "reset --hard" detects conflictsChristian Halstrick2016-05-182-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When performing a "reset --hard" a checkout is done. The pathes are checked for potential checkout conflicts. But in the end for all remaining conflicts these files are simply deleted from the working tree. That's not the right strategy to handle checkout conflicts during "reset --hard". Instead for every conflict we should simply checkout the merge commit's content. This is different from native gits behavior which reports errors when during a "checkout --hard" a file shows up where a folder was expected. "warning: unable to unlink d/c.txt: Not a directory" Why it is like that in native git was asked in http://permalink.gmane.org/gmane.comp.version-control.git/279482. Unless it is explained why native git why this error is reported JGit should overwrite the files. Bug: 474842 Change-Id: I08e23822a577aaf22120c5137eb169b6bd08447b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Allow setting FileMode to executable when applying patches in ApplyCommandNadav Cohen2016-05-1710-0/+71
| | | | | | | | | | | | | | | | | | git-apply allows modifying file modes in patched files using either "new mode" or "new file mode" headers. This patch adds support for setting files as executables and vice-versa. Change-Id: I24848966b46f686f540a8efa8150b42e0d9c3ad1 Signed-off-by: Nadav Cohen <nadavcoh@gmail.com>
| * Fix config value get to return last instead of 1st just like gitMarco Miller2016-05-122-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this fix, getting the value of 'key' below used to return value1. This fix makes it so that value3 gets returned instead, just like native git's get. [section] key = value1 key = value2 key = value3 Change-Id: Iccb24de9b63c3ad8646c909494ca3f8c9ed6e29c Signed-off-by: Marco Miller <marco.miller@ericsson.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Remove UTF-8 checking duplication in Config lib subclassesMarco Miller2016-05-123-4/+15
| | | | | | | | | | Change-Id: Ib9f0ae8207000a36c5bf1a92fcc2c32efc4c0984 Signed-off-by: Marco Miller <marco.miller@ericsson.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Update Maven pluginsMatthias Sohn2016-05-072-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the following versions: build-helper-maven-plugin 1.10 eclipse-jarsigner-plugin 1.1.3 findbugs-maven-plugin 3.0.3 jacoco-maven-plugin 0.7.6.201602180812 maven-clean-plugin 3.0.0 maven-compiler-plugin 3.5.1 maven-javadoc-plugin 2.10.3 maven-pmd-plugin 3.6 maven-project-info-reports-plugin 2.9 maven-resources-plugin 2.7 maven-shade-plugin 2.4.3 maven-site-plugin 3.5.1 maven-source-plugin 3.0.0 maven-surefire-plugin 2.19.1 maven-surefire-report-plugin 2.19.1 tycho 0.25 tycho-extras 0.25 wagon-ssh 2.10 Change-Id: I4dc57de77ab7838964e8fe3de1d50f28d67fcf4b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix type parameter in javadoc in TestRepository.delete(String ref)Matthias Sohn2016-05-051-1/+1
| | | | | | | | | | | | Type parameter T extends AnyObjectId in signature of update(String, T) Change-Id: I9c13ddc572b8e94d5c7854f4de1f8206cb5e99ca Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'stable-4.3'Matthias Sohn2016-05-0511-34/+67
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.3: Scan loose ref before packed in case gc about to remove the loose Fix possible NPEs when reporting transport errors Fix calling of clean/smudge filters from Checkout,MergeCommands Fix ApplyCommand when result of patch is an empty file Change-Id: I0dc76b7a8c87ce8e0386a1b9e0fa92a3aa62abf7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | TestRepository: Add delete() methodJonathan Nieder2016-05-041-0/+34
| | | | | | | | | | | | Change-Id: Ib4841397ceab44bd38cf2f154314ac36ded73ae0
| * | Make BaseReceivePack.setAtomic publicJonathan Nieder2016-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | This makes atomic more consistent with other properties like allowNonFastForwards. Change-Id: Ie3b41f14ffba1d0b206ffecc697377417daa6973
| * | ReceivePack: Pass atomic setting from client to BatchRefUpdateJonathan Nieder2016-05-042-0/+28
| | | | | | | | | | | | Change-Id: I0e4e6cef693e8138562f5ca345e0db61a8abef9c