Commit Graph

2038 Commits

Author SHA1 Message Date
Kevin Sawicki d364fb2d4f Remove null access warning in DirCacheCheckout
Initially fill in the current DirCacheEntry field guarding 
against a null index tree and use that variable instead of
calling getDirCacheEntry() on a possibly null DirCacheBuildIterator.

Change-Id: I16f388a16636aefdb07d66dae5d05655009e2a0e
2012-03-02 15:01:13 -08:00
Kevin Sawicki 014d759d35 Update example code for obtaining a locked DirCache
Previous example was calling a method that no longer exists
on DirCache.

Change-Id: I864842c58df4f116b318dc4a150b789745769a0d
2012-03-02 12:49:38 -08:00
Tomasz Zarna 9c7371a8c4 Allow to get end-of-line characters for a RawText
Bug: 370320
Change-Id: I18adc63596f4657516ccc6d704a561924c79d445
Signed-off-by: Kevin Sawicki <kevin@github.com>
2012-03-02 12:06:09 -08:00
Sascha Scholz a1f877e312 Load .gitmodules config before adding values to it
This prevents existing entries from being cleared when the
.gitmodules config is saved after the new submodule configuration
is added.

Change-Id: I66841f5e758a7527e2e6e25cf1318e5fea91a909
Signed-off-by: Kevin Sawicki <kevin@github.com>
2012-03-02 09:31:09 -08:00
Christian Halstrick 1515d7b7d5 Merge "Exclude org.eclipse.jgit from pack200 packing" 2012-03-02 11:03:14 -05:00
Christian Halstrick 3083146d13 Merge "Reuse existing modes and ids" 2012-03-02 03:46:03 -05:00
Matthias Sohn 9169e7f9ec Exclude org.eclipse.jgit from pack200 packing
It seems pack200 became unable to correctly pack the bundle
org.eclipse.jgit (see bug 372845). Hence mark it to be excluded from
this packing step following the workaround which worked for
org.eclipse.jst.jsf.core (bug 335806).

Bug: 372845
Change-Id: I2e3d20645ac49125472ddc235afbe9f3c7480caf
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-03-02 09:11:18 +01:00
Dave Borowitz d023f2c78b Extract filterCommands as a static method on ReceiveCommand
Change-Id: I24501f95185878d09b54562e48cb4e7e45dd3968
2012-02-29 19:09:24 -08:00
Dave Borowitz 903e1b81d4 Remove PreUploadHook.onPreAdvertiseRefs
AdvertiseRefsHook.advertiseRefs subsumes this behavior.

Change-Id: Id2d1ebb2503c9ba79eda58aaea2fd76ec233427f
2012-02-29 19:09:24 -08:00
Dave Borowitz 9d41dbd958 Add an AdvertiseRefsHookChain, similar to the other hook chains
Change-Id: I3bb0dc86047fe0446d18e0055f714092a658d228
2012-02-29 19:09:23 -08:00
Dave Borowitz 1f2022e3a7 Modify refs in UploadPack/ReceivePack using a hook interface
This is intended to replace the RefFilter interface (but does not yet,
for backwards compatibility). That interface required lots of extra
scanning and copying in filter cases such as only advertising a subtree
of the refs directory. Instead, provide a hook that can be executed
right before ref advertisement, using the public methods on
UploadPack/ReceivePack to explicitly set the map of advertised refs.

Change-Id: I0067019a191c8148af2cfb71a675f2258c5af0ca
2012-02-29 19:09:23 -08:00
Dave Borowitz 7acd333e7d Fix a typo referring to RevFilter as RefFilter
Change-Id: I173efca7540b522d386216d1bd229e9a061263b2
2012-02-29 19:09:23 -08:00
Dave Borowitz bb8f0bec4a Minor javadoc wording fixes in ReceivePack
Change-Id: I5b409ef39aee890bcd7d4277e36b85ac4dc48281
2012-02-29 19:09:23 -08:00
Dave Borowitz 27cbdaf497 Expose an OutputStream from ReceivePack for sending client messages
Callers may want to format and flush their own output, for example in a
PreReceiveHook that creates its own TextProgressMonitor. The actual
underlying msgOut can change over the lifetime of ReceivePack, so we
implement a small wrapper.

Change-Id: I57b6d6cad2542aaa93dcadc06cb3e933e81bcd3d
2012-02-29 19:09:23 -08:00
Dave Borowitz 4a01f47e82 Allow creating ReceiveCommands with a specified type
This allows callers who know in advance whether a command is UPDATE or
UPDATE_NONFASTFORWARD to specify this in the constructor rather than
with a separate method call.

Change-Id: Iae483594a4ff370ff75d17a7b0648c5590b3d1bd
2012-02-29 19:09:22 -08:00
Dave Borowitz 4bf22ff6e8 Execute ReceiveCommands via a method rather than in ReceivePack
This allows a PreReceiveHook to easily "take over" all of the
ReceiveCommands passed to it, preventing any of them from being handled
within the ReceivePack core.

Change-Id: I2a8c1fc44e8dcadf22cd97a8ec4ee79d4d9d08f1
2012-02-29 19:09:22 -08:00
Kevin Sawicki 0fb0e84405 Reuse existing modes and ids
This change replaces calls to getEntryObjectId and getEntryFileMode
with the existing method local variables for the index, merge, and
head tree iterators.

Change-Id: I75d1edfdd192a009fc916102ec052434c6302d00
2012-02-29 15:07:37 -08:00
Kevin Sawicki 4de8a84671 Add command support for applying a stashed commit
Applies the changes in a stashed commit to the local working
directory and index

Bug: 309355
Change-Id: I9fd5ede8affc7f0060ffa7c5cec34573b6fa2b1b
Signed-off-by: Chris Aniszczyk <zx@twitter.com>
2012-02-28 13:53:13 -08:00
Kevin Sawicki 03d4dc597e Add support for creating a stashed commit
Adds a new command to stash the index and working directory
changes in a commit stored in refs/stash

Bug: 309355
Change-Id: I2ce85b1601b74b07e286a3f99feb358dfbdfe29c
Signed-off-by: Chris Aniszczyk <zx@twitter.com>
2012-02-28 13:46:35 -08:00
Kevin Sawicki 10c0b34b88 Add all paths option to CheckoutCommand
This will perform the equivalent  of running a
'git checkout -- .' at the root of a repository

Change-Id: I3e2dd563700999bc063effdd3640499c8ed08136
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-26 16:10:57 +01:00
Daniel Megert 709cd52958 Let the date formatter pick the locale.
Instead of using the locale from the SystemReader we let the
SystemReader create the date formats without passing the locale.

Bug 368756
Change-Id: I6be9e07af804a08f3f3ac2d2d526ef594eed19e3
Signed-off-by: Daniel Megert <daniel_megert@ch.ibm.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-25 23:37:02 +01:00
Stefan Lay 54f23873d6 Add support for autosetuprebase to the CloneCommand
Bug: 345536
Change-Id: I93c609235dec4e5e3a2ddc275c28b202bf868d40
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Kevin Sawicki <kevin@github.com>
2012-02-23 09:32:02 -08:00
Matthias Sohn 0211d91001 Merge "Add IGNORE_ERRORS to FileUtils.delete()" 2012-02-21 14:34:42 -05:00
Marc Strapetz 7df17e57d4 EolCanonicalizingInputStream: binary detection should be optional
EolCanonicalizingInputStream may also be used in combination with
.gitattributes. If .gitattributes states that a file is of type text, line
endings have to be canonicalized even if the actual file content seems
to be binary.

Change-Id: Ie4ccdfc5cb91fbd55e06f51146cf5c7c84b8e18b
2012-02-21 15:22:36 +01:00
Christian Halstrick b6d376a177 Add IGNORE_ERRORS to FileUtils.delete()
There are a few situations where you want to delete files or folders but
where you are not interested in getting exceptions if this doesn't
succeed. E.g. if you delete garbage in the GC class you want that if
certain files can't be deleted the command succeeds. Maybe the next
garbage collector run has more luck not to interfere with a virus
scanner run on Windows. Therefore an option is added to
FileUtils.delete() not to report errors in such cases.

Change-Id: I58994d8c481e591dcbb0f2be7dfa562e125f0f08
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
2012-02-21 14:23:43 +01:00
Matthias Sohn 755dfdb409 Prepare 2.0.0-SNAPSHOT builds
Change-Id: I946e315af04227727ac937ebe9d70ae1ea4e8936
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-16 00:49:49 +01:00
Matthias Sohn 42b0fb4679 Merge branch 'stable-1.3'
* stable-1.3:
  Prepare post 1.3.0.201202151440-r build
  JGit 1.3.0.201202151440-r
  Generate conflicts and index updates on file mode changes

Change-Id: Ie99780ef5cdea7b3ea1ea076282fe0a25f14f469
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-16 00:44:47 +01:00
Matthias Sohn f70b24a601 Prepare post 1.3.0.201202151440-r build
Change-Id: I4d695273e3151c22f2df9a58725cc7ba21ab6043
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-16 00:42:34 +01:00
Matthias Sohn e4ee677dea JGit 1.3.0.201202151440-r
Change-Id: I663208919f297836a9c16bf458e4a43ffaca4c12
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-15 20:56:06 +01:00
Christian Halstrick ed7b322186 Generate conflicts and index updates on file mode changes
Handle more cases for file mode changes. Especially make sure that the
following cases are handled correctly.

Case 1)

  An entry in the working tree, HEAD tree, and merge tree have
  different modes and different content.

  Prior Outcome:
    Dirty working tree content is replaced and file mode
    changes are lost.

  New Outcome:
    Conflict is generated.

Case 2)

  An entry in the index and merge tree have the same content
  but different modes but both modes are file type modes.

  Prior Outcome:
    File mode in working tree is not updated and the working
    directory is dirty.

  New Outcome:
    Index is updated and the working directory is clean.

Bug: 363772
Change-Id: I224602d68228eb419813986807f1eeab77e9c302
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Also-by: Kevin Sawicki <kevin@github.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-13 09:39:05 +01:00
Matthias Sohn de48250da5 Merge branch 'stable-1.3'
* stable-1.3:
  Prepare post 1.3.0.201202121842-rc4 builds
  JGit 1.3.0.201202121842-rc4
  Support gitdir references in working tree .git file
  Support committing submodule updates
  Update iplog tool's README

Change-Id: Id70f4d4b059b03d4fa6fbd9137b81a337e9c48e8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-13 07:34:18 +01:00
Matthias Sohn 3b358ce514 Prepare post 1.3.0.201202121842-rc4 builds
Change-Id: I50e0e6c2bccab5f3da62cbfe976f065169426906
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-13 07:30:00 +01:00
Matthias Sohn 53917539f8 JGit 1.3.0.201202121842-rc4
Change-Id: I82c6c0c175ab6fb4e2113101f36c8d2ddf4a13c1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-13 00:57:43 +01:00
Robin Rosenberg ad9033e43a Revert non-sense logic in IO.readFully
This was introduced in alleged support for autocrlf, but the
logic makes no sense here.

Change-Id: If37f3b90f21f875cee7165e17a17adfda446384d
2012-02-12 20:42:47 +01:00
Kevin Sawicki 2f79cf9900 Support gitdir references in working tree .git file
A '.git' file in a repository's working tree root is now parsed
as a ref to a folder located elsewhere.  This supports submodules
having their repository location outside of the parent repository's
working directory such as in the parent repository's '.git/modules'
directory.

This adds support to BaseRepositoryBuilder for repositories created
with the '--separate-git-dir' option specified to 'git init'.

Change-Id: I73c538f6d845bdbc0c4e2bce5a77f900cf36e1a9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-02-08 23:10:28 +01:00
Tomasz Zarna f1945cac1d Add getters for old and new prefixes in DiffFormatter
Bug: 370318
Change-Id: Iaf9282ba55ee3bb4e2c27fb71c598b308771bf57
2012-02-02 11:59:28 +01:00
Kevin Sawicki 7bde08e1d4 Support committing submodule updates
Use the submodule object id provided by the working
tree iterator

Change-Id: Ibf82f56c04cb9c91b2b309cf0cfa3f638539e23c
2012-01-30 13:37:40 -08:00
Matthias Sohn f54e760232 Update iplog tool's README
Change-Id: I0a6d770b0c4deb11fea23b875ef5449c619c05a1
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-01-27 09:38:17 +01:00
Matthias Sohn e4bfd61c9d Merge "Add developers section to root POM file" 2012-01-26 07:42:55 -05:00
Robin Rosenberg 9673ae18ce Merge "Allow to list tags with org.eclipse.jgit.pgm.Tag" 2012-01-25 13:10:15 -05:00
Kevin Sawicki 11ab19aacd Add developers section to root POM file
This section contains the names of the current committers
and is required for acceptance to the Maven Central repository

Change-Id: Ib758cfe0a574aa3e80af9d289bec1a74d9b78d25
2012-01-25 09:01:55 -08:00
Dariusz Luksza b649eaa9a8 Move writeTrashFile and deleteFile into JGitTestUtil
Moves RepositoryTestCase.writeThashFile, RepositoryTestCase.deleteFile
and dependencies into JGitTestUtil for further reuse.

Required-by-EGit: If8dfa0251797aca56ddc825619500dc21885ba26
Change-Id: I6fc62c8e6626f907e544b5bbe5d64e864a2c323f
Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
2012-01-25 01:24:41 +01:00
Kevin Sawicki 2fa5bcd6bb Add scm section to root POM file
Change-Id: I23db67685a7b6a481961eb6ed6b4b80b2d0cace8
2012-01-23 09:19:18 -08:00
Robin Rosenberg 96acc4e5cf Really close output stream when core.autocrlf is true
Change-Id: I8a0d91e908145168c32589600bd1598826511ae3
2012-01-23 00:57:39 +01:00
Tomasz Zarna 3fa054bcf7 Workaround incompatible refactoring in Jetty 7.6.0
In Jetty 7.6 package org.eclipse.jetty.http.security was renamed to
org.eclipse.jetty.util.security [1] breaking compatibility.

Compare docs for the package in 7.5.4 [2] and missing part in 7.6.0 [3].
To fix until we switch to Jetty 8, restrict the maximum version to 7.6.0
exclusive.

[1] http://dev.eclipse.org/mhonarc/lists/jetty-dev/msg01175.html
[2] http://download.eclipse.org/jetty/7.5.4.v20111024/apidocs/
[3] http://download.eclipse.org/jetty/7.6.0.RC4/apidocs/

Change-Id: I82b107ec76e66367e55e2cc20233a7924bf7be9f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-01-21 00:15:03 +01:00
Kevin Sawicki 97210fd6db Add command support for listing stashed commits
Bug: 309355
Change-Id: I34a8c251b89abcdb67565ca49bee02e5e2113593
Signe-off-by: Chris Aniszczyk <zx@twitter.com>
2012-01-20 09:00:13 -08:00
Matthias Sohn ea56a1ddb2 Merge "Support relative submodule URLs on init/add/sync" 2012-01-18 16:26:42 -05:00
Kevin Sawicki b57845c0cc Support relative submodule URLs on init/add/sync
Interpret submodule URLs that start with './' or '../' as
relative to either the configured remote for the HEAD branch,
or 'origin', or the parent repository working directory if no
remote URL is configured

Bug: 368536
Change-Id: Id4985824023b75cd45cd64a4dd9d421166391e10
2012-01-17 09:35:29 -08:00
Robin Stocker 14cc47ea1a Add BranchTrackingStatus for getting remote tracking status
This is used by EGit change I1e1caca561d1b0a0c194bfc42e64b698f42c6e6a to
show branch status in decoration.

It can also be used for providing the same output as C Git in "git
status".

Change-Id: I8d2b108c89905c3f0496f3d517879596740787c0
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-01-16 22:33:03 +01:00
Robin Stocker c0f4880e61 Add BranchConfig helper for access to branch config section
Getting the name of the remote-tracking branch given a branch is not so
easy to get right. This class provides a way to do that and could be
used for more branch config related things (e.g. in PullCommand).

Change-Id: I896a2384217936c8b672df8b81c9599f5c350458
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2012-01-16 22:18:54 +01:00