- Jan 04, 2010
-
-
Shawn Pearce authored
This exposes the list of known packs, allowing callers to list them into a context like the objects/info/packs file. Change-Id: I0b889564bd176836ff5c77ba310c6d229409dcd5 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Dec 29, 2009
-
-
Code Review authored
* changes: Added -crfl attribute for DiffFormatterReflowTest test data
-
- Dec 28, 2009
-
-
Shawn Pearce authored
Tycho isn't production ready for projects like JGit to be using as their primary build driver. Some problems we ran into with Tycho 0.6.0 that are preventing us from using it are: * Tycho can't run offline The P2 artifact resolver cannot perform its work offline. If the build system has no network connection, it cannot compile a project through Tycho. This is insane for a distributed version control system where developers are used to being offline during development and local testing. * Magic state in ~/.m2/repository/.meta/p2-metadata.properties Earlier iterations of this patch tried to use a hybrid build, where Tycho was only used for the Eclipse specific feature and P2 update site, and maven-bundle-plugin was used for the other code. This build seemed to work, but only due to magic Tycho specific state held in my local home directory. This means builds are not consistently repeatable across systems, and lead me to believe I had a valid build, when in fact I did not. * Manifest-first build produces incomplete POMs The POM created by the manifest-first build format does not contain the dependency chain, leading a downstream consumer to not import the runtime dependencies necessary to execute the bundle it has imported. In JGit's case, this means JSch isn't included in our dependency chain. * Manifest-first build produces POMs unreadable by Maven 2.x JGit has existing application consumers who are relying on Maven 2.x builds. Forcing them to step up to an alpha release of Maven 3 is simply unacceptable. * OSGi bundle export data management is tedious Editing each of our pom.xml files to mark a new release is difficult enough as it is. Editing every MANIFEST.MF file to list our exported packages and their current version number is something a machine should do, not a human. Yet the Tycho OSGi way unfortunately demands that a human do this work. * OSGi bundle import data management is tedious There isn't a way in the MANIFEST.MF file format to reuse the same version tags across all of our imports, but we want to have a consistent view of our dependencies when we compile JGit. After wasting more than 2 full days trying to get Tycho to work, I've decided its a lost cause right now. We need to be chasing down bugs and critical features, not trying to bridge the gap between the stable Maven repository format and the undocumented P2 format used only by Eclipse. So, switch the build to use Apache Felix's maven-bundle-plugin. This is the same plugin Jetty uses to produce their OSGi bundle manifests, and is the same plugin used by the Apache Felix project, which is an open-source OSGi runtime. It has a reasonable number of folks using it for production builds, and is running on top of the stable Maven 2.x code base. With this switch we get automatically generated MANIFEST.MF files based on reasonably sane default rules, which reduces the amount of things we have to maintain by hand. When necessary, we can add a few lines of XML to our POMs to tweak the output. Our build artifacts are still fully compatible with Maven 2.x, so any downstream consumers are still able to use our build products, without stepping up to Maven 3.x. Our artifacts are also valid as OSGi bundles, provided they are organized on disk into a repository that the runtime can read. With maven-bundle-plugin the build runs offline, as much as Maven 2.x is able to run offline anyway, so we're able to return to a distributed development environment again. By generating MANIFEST.MF at the top level of each project (and therefore outside of the target directory), we're still compatible with Eclipse's PDE tooling. Our projects can be imported as standard Maven projects using the m2eclipse plugin, but the PDE will think they are vaild plugins and make them available for plugin builds, or while debugging another workbench. This change also completely removes Tycho from the build. Unfortunately, Tycho 0.6.0's pom-first dependency resolver is broken when resolving a pom-first plugin bundle through a manifest-first feature package, so bundle org.eclipse.jgit can't be resolved, even though it might actually exist in the local Maven repository. Rather than fight with Tycho any further, I'm just declaring it plugina-non-grata and ripping it out of the build. Since there are very few tools to build a P2 format repository, and no documentation on how to create one without running the Eclipse UI manually by poking buttons, I'm declaring that we are not going to produce a P2 update site from our automated builds. Change-Id: If7938a86fb0cc8e25099028d832dbd38110b9124 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Robin Rosenberg authored
This makes the jgit command line behave like the C Git implementation in the respect. These variables are not recognized in the core, though we add support to do the overrides there. Hence other users of the JGit library, like the Eclipse plugin and others, will not be affected. GIT_DIR The location of the ".git" directory. GIT_WORK_TREE The location of the work tree. GIT_INDEX_FILE The location of the index file. GIT_CEILING_DIRECTORIES A colon (semicolon on Windows) separated list of paths that which JGit will not cross when looking for the .git directory. GIT_OBJECT_DIRECTORY The location of the objects directory under which objects are stored. GIT_ALTERNATE_OBJECT_DIRECTORIES A colon (semicolon on Windows) separated list of object directories to search for objects. In addition to these we support the core.worktree config setting when the git directory is set deliberately instead of being found. Change-Id: I2b9bceb13c0f66b25e9e3cefd2e01534a286e04c Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Robin Rosenberg authored
An extra flag when creating a RefUpdate object allows the caller to destroy the symref and replace it with an object ref, a.k.a. detached HEAD. Change-Id: Ia88d48eab1eb4861ebfa39e3be9258c3824a19db Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
A few locations were doing OBJECT_ID_LENGTH * 2 on their own, as the old STR_LEN constant wasn't visible. Replace them with the new public constant OBJECT_ID_STRING_LENGTH. Change-Id: Id39bddb52de8c65bb097de042e9d4ed99598201f Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Robin Rosenberg authored
Since Constants.OBJECT_ID_LENGTH is a compile time constant we can be sure that it will always be inlined. The same goes for the associated constant STR_LEN which is now refactored to the Constant class and given a name better suited for wider use. Change-Id: I03f52131e64edcd0aa74bbbf36e7d42faaf4a698 Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com>
-
- Dec 27, 2009
-
-
Constantine Plotnikov authored
The test data is expected to have unix new lines by tests, but it is converted to crlf on Windows platform (with msys git). As result DiffFormatterReflowTest tests fail. To prevent this problem, crlf conversion is disbled for test data related to that test. Bug: 295077 Change-Id: I67d3ed543fcc38647041896146de12b1781ec6be Signed-off-by:
Constantine Plotnikov <constantine.plotnikov@gmail.com>
-
- Dec 22, 2009
-
-
Code Review authored
* changes: Fix typo in ReceivePack.java
-
Nico Sallembien authored
The comment indicates that a well-behaved client should not have sent an update for a ref that already exists, but this in a block that corresponds to a create command.
-
Robin Rosenberg authored
Instead do nothing. For now, save() will fail and the config file is set to null, which may surprise some calling tests. Change-Id: I1c65f8b1131569da01b4ef33678d813565521fbb Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Dec 20, 2009
-
-
Igor Fedorenko authored
Changed Tycho version from 0.6.0-SNAPSHOT to 0.6.0 (i.e. release). SNAPSHOT versions are transient and should only be used for testing purposes only. Also removed now unnecessary <pluginRepositories/> element from JGit parent pom.xml file. Change-Id: Ie386b2dbcba43c1ccec10465978d12d6829c6150 Signed-off-by:
Igor Fedorenko <igor@ifedorenko.com> Signed-off-by:
Matthias Sohn <matthias.sohn@sap.com>
-
- Dec 18, 2009
-
-
Mykola Nikishov authored
Change-Id: Iec0688232bd59d4626111d77633109918e8e1df3 Signed-off-by:
Mykola Nikishov <mn@mn.com.ua> Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com>
-
- Dec 12, 2009
-
-
Mykola Nikishov authored
target/ is for Maven build output compile.org.eclipse.jgit.xml is generated on Export - Deployable Features Signed-off-by:
Mykola Nikishov <mn@mn.com.ua> Signed-off-by:
Matthias Sohn <matthias.sohn@sap.com> Change-Id: I557a95792fd45c3cfe37098e057c1e70660b3308
-
- Dec 08, 2009
-
-
Igor Fedorenko authored
Change-Id: I6005134a45046d16e323a2f9b2815831cdbe15e0 Signed-off-by:
Igor Fedorenko <igor@ifedorenko.com>
-
- Nov 29, 2009
-
-
Mykola Nikishov authored
Change-Id: I4e369382b8a83a5c0772462d1b176b1e23910ada
-
- Nov 17, 2009
-
-
Shawn Pearce authored
We can now use `tools/version.sh --release` to update the MANIFEST.MF and Maven POM files with the current version number of this project, so they appear in any build product created. The counterpart --snapshot option be used to reset files to use their natural *-SNAPSHOT and *.qualifier state during development. We use a simple Bourne shell script with Perl calls because we must edit both Maven pom.xml and OSGi bundle MANIFEST.MF in order to store the correct data for our parallel build systems. In the future we should use a native Java solution which relies upon JGit to compute the `git describe` portion. Until we tag our first official release a "tagged snapshot" can be made by creating an artifical annotated tag first: git tag -a -m "initial contribution" v0.5.1 046198cf5f21e5a63e8ec0ecde2ef3fe21db2eae tools/version.sh --release Resulting in a version string like "0.5.1.50-ge16af83". Change-Id: Ic2bbae75bf96fc8831324c62c2212131277f70e4 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Nov 04, 2009
-
-
Shawn Pearce authored
This URL filters the search results within the entire Eclipse.org Bugzilla server to only this that are open and pertain to our project. It also sets up the "File a new bug" link to send any new issue in our direction. Change-Id: I5d50a2e7d0b34efb386492aedfe28f4ae67f92bc Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
CQ 3589 was submitted to request permission to use JUnit 3.8.2 from Orbit. We don't redistribute JUnit but we compile against it and do redistribute a test support JAR (org.eclipse.jgit.junit) that would depend upon it if someone were to develop their own application code and also wish to write unit tests with JUnit. Change-Id: I23b1f23e064224363585ec2f5dd62a0b4d28fb5b Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Matthias Sohn authored
JGit does not contribute to the Eclipse UI hence it should not refer to a branding plugin. See discussion on egit-dev : http://dev.eclipse.org/mhonarc/lists/egit-dev/msg00304.html until http://dev.eclipse.org/mhonarc/lists/egit-dev/msg00306.html Change-Id: I9153dea60d9d1724662ca079f16528a36c295b5d Signed-off-by:
Matthias Sohn <matthias.sohn@sap.com>
-
- Nov 03, 2009
-
-
Code Review authored
Merge changes I057c782c,Idff096ce,Ic9be0280,I07014d1b,Id8a76ee7,I9080f3dd,I8c1a0eb8,Ibaf87bb5,I9e1f1f5a,I355e95fa * changes: Prompt for passwords from the console in jgit command line tools Move AWT based SSH authenticator to ui bundle Refactor the cached Authenticator data out of AwtAuthenticator Only import the sample data packs on tests that need them Move T0007_Index to exttst Refactor RepositoryTestCase to use LocalDiskRepository instead Create JUnit test utilities for JGit derived sources Delete obsolete JarLinkUtil Refactor our Maven build to be modular Switch pgm, test to proper plugin projects
-
Code Review authored
* changes: Use org.eclipse.egit branding plugin
-
Shawn Pearce authored
If we are on a Java 6 JVM we should have the Console class available, unless the user has redirected /dev/null to stdin. When there is a console present we would prefer to use that for command line prompts as that is what the user expects from a command line tool. Change-Id: Ibaf87bb5540371d94d96d1b7e94ca002f752e5bd Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
This way SWT based applications don't wind up loading this AWT based code when using SSH. Change-Id: I9080f3dd029c2a087e6b687480018997cc5c5d23 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
This makes it easier to swap out authenticator implementations and yet still rely upon being able to configure at least one Authenticator instance in the JVM and program it with data obtained from outside of the user interface. Change-Id: I8c1a0eb8acee1d306f4c3b40a790b7fa0c3abb70 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
Not all of our test cases really require the sample data packs, and we are better off not using them because its hard to see exactly what condition a test is testing when looking only at the Java code. Clarify the dependency by only making the packs available when there is a real need for it. Change-Id: Id8a76ee7ee1f7efba585be4bed19a8fb5b3b3585 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
This test depends upon the external git binary, and this isn't really a pure Java test like our module tries to claim itself is. So we move it out to exttst with other tests that require additional external resources and/or executable code. Change-Id: Ic9be0280c8bb50a5768336c64de794eb0a492b3d Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
Change-Id: I07014d1b8cc2fab0761d644a12e4ae04f0adf3ef Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
The LocalDiskRepositoryTestCase class is derived from the current RepositoryTestCase code and is meant for application (or our own) tests to subclass and access temporary repositories on the local client disk. Change-Id: Idff096cea40a7b2b56a90fb5de179ba61ea3a0eb Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
Since we are now using the maven-shade-plugin to flatten out our dependencies into a single stand-alone JAR we no longer need to use our own command line utility. Change-Id: I057c782cc66c44f11ed2ff2b4b4ca9cc82c7426a Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
Drop our simple and stupid jgit.sh and instead rely upon Maven for the command line based build. Maven is relatively simple to download and install, and doesn't require the entire Eclipse IDE. To avoid too much refactoring of the current code we reuse the existing src/ directory within each plugin, and treat each of the existing OSGI bundles as one Maven artifact. The command line wrapper jgit.sh no longer works in the uncompiled state, as we don't know where to obtain our JSch or args4j from. Developers will now need to compile it with `mvn package`, or run our Main class from within an IDE which has the proper classpath. Bug: 291265 Change-Id: I355e95fa92fa7502651091d2b651be6917a26805 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
This way we depend upon the MANIFEST.MF to define our classpath and our build will act more like any other OSGI bundle build. Change-Id: I9e1f1f5a0bccb0ab0e39e49b75fb400fea446619 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Nov 01, 2009
-
-
Shawn Pearce authored
This code belongs inside of the org.eclipse.jgit.pgm bundle so it is executable from the command line. In af5cb5ced938 ("Move AmazonS3 command line utility to jgit-pgm") I accidentally moved this class into the wrong directory, probably during some sort of rebase when I tried to pull this commit out of its original position in an abanonded Maven refactoring series. Change-Id: I19adafa87b70586dd44040e9dfce30f3d482ed28 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Oct 31, 2009
-
-
Mykola Nikishov authored
This new UI bundle contains the org.eclipse.jgit.awtui package, which was moved out of the org.eclipse.jgit bundle. org.eclipse.jgit.pgm depends on org.eclipse.jgit.ui, so we need to update the classpath and make_jgit.sh to include it. This move takes the awtui classes out of the Maven build, which means we are no longer able to distribute these classes to our downstream Maven customers. The entire Maven package structure needs to be overhauled so that Eclipse bundle matches 1:1 with the Maven artifact. Bug: https://bugs.eclipse.org/291124 Change-Id: Ibf1a9968387e3d11fdce54592f710ec4cc7f1ddb Signed-off-by:
Mykola Nikishov <mn@mn.com.ua> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Saša Živkov authored
For historical reasons JGit was creating .git/remotes folder when initialization an empty repository. However, this folder is never used and the new Git repository format doesn't contain them. Removed the unnecessary remotes folder creation, it was removed from C Git in 75c384efb52d ("Do not create $GIT_DIR/remotes/ directory anymore") by Junio C Hamano on Dec 19 2006. C Git hasn't made it for almost 3 years. Change-Id: I5473f3676a3642afdf9aaac44b7e6319c6e170b9 Signed-off-by:
Sasa Zivkov <sasa.zivkov@sap.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Robin Rosenberg authored
According the javadoc, and implied by the name of the class, NB is about network byte order. The purpose of moving the IO only, and non-byte order related functions to another class is to make it easier for new contributors to understand that they can use these functions in general and it's also makes it easier to understand where to put new IO related utility functions Change-Id: I4a9f6b39d5564bc8a694b366e7ff3cc758c5181b Signed-off-by:
Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Shawn Pearce authored
Our project coding conventions do not want trailing whitespace at the end of a source code line. Configure Eclipse to automatically remove them when saving any Java source file. Change-Id: I9701366b3b1240879761b30556e6ff416e969e1d Reviewed-by:
Mykola Nikishov <mn@mn.com.ua> Reviewed-by:
Alex Blewitt <alex.blewitt@gmail.com> Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
Alex Blewitt authored
As discussed on the egit-dev mailing list, we prefer not to have trailing whitespace in our source code. Correct all currently offending lines by trimming them. Change-Id: I002b1d1980071084c0bc53242c8f5900970e6845 Signed-off-by:
Shawn O. Pearce <spearce@spearce.org>
-
- Oct 28, 2009
-
-
Matthias Sohn authored
Change-Id: I2f65022df4e6fe9b1db87eb29e9b079543984298 Signed-off-by:
Matthias Sohn <matthias.sohn@sap.com>
-
- Oct 19, 2009
-
-
Matthias Sohn authored
We do not need two branding plugins for two related features and org.eclipse.jgit is not a branding plugin. Change-Id: Ic1c8969bbed89f693c7e11108d6baba013f71711 Signed-off-by:
Matthias Sohn <matthias.sohn@sap.com>
-