aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/archive/ArchiveCommand.java
Commit message (Collapse)AuthorAgeFilesLines
* Move ArchiveCommand into standard porcelain APIJonathan Nieder2013-05-241-294/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow use of ArchiveCommand without depending on the jgit command-line tools. To avoid complicating the process of installing and upgrading JGit, this does not add a dependency by the org.eclipse.jgit bundle on commons-compress. Instead, the caller is responsible for registering any formats they want to use by calling ArchiveCommand.registerFormat. This patch puts functionality that requires an archiver into a separate org.eclipse.jgit.archive bundle for people who want it. One can use it by calling ArchiveCommand.registerFormat directly to register its formats or by relying on OSGi class loading to load org.eclipse.jgit.archive.FormatActivator, which takes care of registration automatically. Once the appropriate formats are registered, you can make a tar or zip from a git tree object as follows: ArchiveCommand cmd = git.archive(); try { cmd.setTree(tree).setFormat(fmt).setOutputStream(out).call(); } finally { cmd.release(); } Change-Id: I418e7e7d76422dc6f010d0b3b624d7bec3b20c6e
* Remove dependency by ArchiveCommand on archive formatsJonathan Nieder2013-05-241-3/+37
| | | | | | | | | | | | | | | | Provide static registerFormat and unregisterFormat methods to allow formats to register themselves without the ArchiveCommand code being aware of them. Register the basic "zip" and "tar" support at bundle activation time (and deregister them when unloading the bundle). For anyone using this code as an OSGi plugin it should continue to just work. The jgit program does not load org.eclipse.jgit.pgm as an OSGi bundle, so let the Archive command register the formats it uses explicitly with registerFormat. Change-Id: Id39c03ea6923d0aed8316ed7b6bd04d5ced570a7
* Drop dependency by ArchiveCommand.Format interface on commons-compressJonathan Nieder2013-05-231-16/+25
| | | | | | | | Otherwise, anyone trying to implement a new format would have to depend on commons-compress, even if using a different underlying library to write the archive. Change-Id: I301a1997e3b48aa7e32d693fd8f4b2d436c9b3a7
* ArchiveCommand.Format: pass output stream as first argument to putEntryJonathan Nieder2013-05-231-5/+4
| | | | | | | | This is more consistent with other APIs where the output side is the first parameter to be analagous to the left-hand side of an assignment. Change-Id: Iec46bd50bc973a38b77d8367296adf5474ba515f
* ArchiveCommand: make archive formats non-inner classesJonathan Nieder2013-05-231-80/+54
| | | | | | First step toward making ArchiveCommand itself format-agnostic. Change-Id: I3cff5fce28fa7a19e34f8291cfb5b62f16429713
* Move org.eclipse.jgit.pgm's resource bundle to internal packageMatthias Sohn2013-05-061-1/+1
| | | | | | | | Translatable texts aren't API and shouldn't require maintenance of @since tags to prevent API warnings. Change-Id: I228ff37f17c0e792a6bc188c463a0d19138e88ac Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* ArchiveCommand: Add missing @since tagJonathan Nieder2013-04-301-0/+2
| | | | Change-Id: I9e48a1f82b747492bebb3ca65fd16f599e425e8b
* Cleanup imports and javadocs in ArchiveCommandRobin Rosenberg2013-04-271-3/+6
| | | | Change-Id: Icb1cd177e791cc646636a88c67fd9399dfc7030c
* ArchiveCommand: Do not warn for unsupported file modeJonathan Nieder2013-04-261-11/+7
| | | | | | | | | | | | | | | | When ArchiveCommand is invoked directly on the command line, these warnings to stderr warning: mode of path/to/some/submodule ignored are a useful hint, but in the more usual case where an archive is being served by a server, the intended audience for that message cannot see stderr. Later it might be useful to accept a callback to return these warnings out of band. Change-Id: I22e79be69859176d85594031d67c6cb3371c4bd2
* Add internal porcelain-style API for ArchiveCommandJonathan Nieder2013-04-261-0/+277
One step closer to exposing archive creation functionality in a org.eclipse.jgit.archive bundle. Change-Id: If0ebb2417a941d9d3fc0d3f444316d0d1c494ff3