tetra 0.48.0 → 0.49.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -1
- data/SPECIAL_CASES.md +1 -1
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/INSTALL +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/KEYS +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/LICENSE +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/NOTICE +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/README +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/WHATSNEW +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/ant +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/ant.bat +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/ant.cmd +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/antRun +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/antRun.bat +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/antRun.pl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/antenv.cmd +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/complete-ant-cmd.pl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/envset.cmd +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/lcp.bat +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/runant.pl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/runant.py +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/bin/runrc.cmd +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/ant-bootstrap.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/changelog.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/checkstyle/checkstyle-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/checkstyle/checkstyle-text.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/checkstyle/checkstyle-xdoc.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/coverage-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/jdepend-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/jdepend.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/junit-frames-xalan1.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/junit-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/junit-noframes.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/log.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/maudit-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/mmetrics-frames.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/etc/tagdiff.xsl +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/fetch.xml +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/get-m2.xml +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/README +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-antlr.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-antlr.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-bcel.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-bcel.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-bsf.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-bsf.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-log4j.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-log4j.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-oro.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-oro.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-regexp.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-regexp.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-resolver.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-resolver.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-xalan2.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-apache-xalan2.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-commons-logging.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-commons-logging.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-commons-net.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-commons-net.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jai.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jai.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-javamail.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-javamail.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jdepend.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jdepend.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jmf.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jmf.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jsch.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-jsch.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-junit.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-junit.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-junit4.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-junit4.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-launcher.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-launcher.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-netrexx.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-netrexx.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-parent.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-swing.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-swing.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-testutil.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant-testutil.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant.jar +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/ant.pom +0 -0
- data/lib/template/{kit → bundled}/apache-ant-1.9.4/lib/libraries.properties +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/LICENSE +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/NOTICE +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/README.txt +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/m2.conf +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/mvn +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/mvn.bat +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/mvnDebug +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/mvnDebug.bat +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/bin/mvnyjp +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/boot/plexus-classworlds-2.5.2.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/conf/logging/simplelogger.properties +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/conf/settings.xml +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-api-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-api.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-connector-basic-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-connector-basic.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-impl-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-impl.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-spi-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-spi.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-transport-wagon-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-transport-wagon.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-util-1.0.0.v20140518.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-util.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aopalliance-1.0.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/cdi-api-1.0.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/cdi-api.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/commons-cli-1.2.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/commons-io-2.2.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/commons-lang-2.6.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/ext/README.txt +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/guava-18.0.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/javax.inject-1.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/jsoup-1.7.2.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/jsoup.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/jsr250-api-1.0.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/jsr250-api.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-aether-provider-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-aether-provider.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-artifact-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-artifact.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-compat-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-compat.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-core-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-core.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-embedder-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-embedder.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-model-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-model-builder-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-model-builder.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-model.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-plugin-api-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-plugin-api.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-repository-metadata-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-repository-metadata.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-settings-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-settings-builder-3.2.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-settings-builder.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-settings.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.inject-0.3.0.M1.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.inject.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.plexus.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-cipher-1.7.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-cipher.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-component-annotations-1.5.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-interpolation-1.21.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-sec-dispatcher-1.3.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-sec-dispatcher.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-utils-3.0.20.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/sisu-guice-3.2.3-no_aop.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/slf4j-api-1.7.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/slf4j-api.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/slf4j-simple-1.7.5.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/slf4j-simple.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-file-2.8.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-file.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-http-2.8-shaded.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-http-shared-2.8.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-http-shared.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-http.license +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-provider-api-2.8.jar +0 -0
- data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/wagon-provider-api.license +0 -0
- data/lib/tetra/facades/git.rb +59 -70
- data/lib/tetra/facades/process_runner.rb +10 -9
- data/lib/tetra/packages/kit_package.rb +1 -2
- data/lib/tetra/packages/package.rb +1 -1
- data/lib/tetra/packages/scriptable.rb +1 -1
- data/lib/tetra/packages/speccable.rb +1 -1
- data/lib/tetra/pom.rb +5 -1
- data/lib/tetra/project.rb +64 -65
- data/lib/tetra/version.rb +1 -1
- data/spec/lib/built_package_spec.rb +1 -1
- data/spec/lib/git_spec.rb +23 -28
- data/spec/lib/project_spec.rb +30 -12
- data/spec/lib/scriptable_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +168 -168
data/README.md
CHANGED
data/SPECIAL_CASES.md
CHANGED
@@ -41,7 +41,7 @@ Note that the kit packages is only needed at build time by OBS, no end user shou
|
|
41
41
|
|
42
42
|
## Gotchas
|
43
43
|
|
44
|
-
* `tetra` internally uses `git` to keep track of files, any tetra project is actually also a `git` repo. Feel free to
|
44
|
+
* `tetra` internally uses `git` to keep track of files, any tetra project is actually also a `git` repo. Feel free to use it as any ordinary git repo, including pushing to a remote repo, rebasing, merging or using GitHub's pull requests. Just make sure any `tetra: ` comments are preserved;
|
45
45
|
* some Maven plugins like the Eclipse Project ones ([Tycho](https://www.eclipse.org/tycho/)) will save data in `/tmp` downloaded from the Internet and will produce errors if this data is not there during offline builds. One way to work around that is to force Java to use a kit subdirectory as `/tmp`. Add the following option to `tetra mvn` during your build:
|
46
46
|
|
47
47
|
-Djava.io.tmpdir=<full path to project>/kit/tmp
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-connector-basic-1.0.0.v20140518.jar
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/aether-transport-wagon-1.0.0.v20140518.jar
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/maven-repository-metadata-3.2.5.jar
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.inject-0.3.0.M1.jar
RENAMED
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/org.eclipse.sisu.plexus-0.3.0.M1.jar
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/template/{kit → bundled}/apache-maven-3.2.5/lib/plexus-component-annotations-1.5.5.jar
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/tetra/facades/git.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module Tetra
|
4
4
|
# facade to git, currently implemented with calls to the git command
|
5
|
-
# prefixes all tags with "tetra_"
|
6
5
|
class Git
|
7
6
|
include Logging
|
8
7
|
include ProcessRunner
|
@@ -24,87 +23,72 @@ module Tetra
|
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
27
|
-
# returns
|
28
|
-
#
|
29
|
-
|
30
|
-
|
26
|
+
# returns the id of the most recent commit
|
27
|
+
# that has the specified comment prefix in its message
|
28
|
+
# returns nil if such commit does not exist
|
29
|
+
def latest_id(comment_prefix)
|
30
|
+
Dir.chdir(@directory) do
|
31
|
+
result = run("git rev-list --max-count=1 --grep=\"#{comment_prefix}\" --fixed-strings HEAD")
|
32
|
+
result.strip if result != ""
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# returns the comment of the most recent commit
|
37
|
+
# that has the specified comment prefix in its message
|
38
|
+
# returns nil if such commit does not exist
|
39
|
+
def latest_comment(comment_prefix)
|
40
|
+
Dir.chdir(@directory) do
|
41
|
+
id = latest_id(comment_prefix)
|
42
|
+
run("git rev-list --max-count=1 --format=%B #{id}") unless id.nil?
|
43
|
+
end
|
31
44
|
end
|
32
45
|
|
33
46
|
# returns a list of filenames that changed in the repo
|
34
|
-
# between specified
|
35
|
-
def changed_files_between(
|
47
|
+
# between specified ids, in a certain directory
|
48
|
+
def changed_files_between(start_id, end_id, directory)
|
36
49
|
Dir.chdir(@directory) do
|
37
|
-
prefixed_start_tag = "tetra_#{start_tag}"
|
38
|
-
prefixed_end_tag = (
|
39
|
-
if end_tag
|
40
|
-
"tetra_#{end_tag}"
|
41
|
-
else
|
42
|
-
"HEAD"
|
43
|
-
end
|
44
|
-
)
|
45
50
|
run("git diff-tree \
|
46
51
|
--no-commit-id \
|
47
52
|
--name-only \
|
48
|
-
-r #{
|
53
|
+
-r #{start_id} #{end_id}\
|
49
54
|
-- #{directory}"
|
50
55
|
).split("\n")
|
51
56
|
end
|
52
57
|
end
|
53
58
|
|
54
|
-
# adds all files in the current directory,
|
55
|
-
# all files not in the current directory,
|
56
|
-
#
|
57
|
-
def commit_whole_directory(message
|
59
|
+
# adds all files in the current directory,
|
60
|
+
# removes all files not in the current directory,
|
61
|
+
# commits with message
|
62
|
+
def commit_whole_directory(message)
|
58
63
|
Dir.chdir(@directory) do
|
59
64
|
log.debug "committing with message: #{message}"
|
60
65
|
|
61
66
|
run("git rm -r --cached --ignore-unmatch .")
|
62
67
|
run("git add .")
|
63
|
-
run("git commit -m \"#{message}\""
|
64
|
-
|
65
|
-
if !tag_message.nil?
|
66
|
-
run("git tag tetra_#{tag} -m \"#{tag_message}\"")
|
67
|
-
else
|
68
|
-
run("git tag tetra_#{tag}")
|
69
|
-
end
|
68
|
+
run("git commit --allow-empty -m \"#{message}\"")
|
70
69
|
end
|
71
70
|
end
|
72
71
|
|
73
|
-
# commits
|
74
|
-
|
75
|
-
def commit_file(path, message, tag)
|
72
|
+
# commits one single file
|
73
|
+
def commit_file(path, message)
|
76
74
|
Dir.chdir(@directory) do
|
77
75
|
log.debug "committing path #{path} with message: #{message}"
|
78
76
|
run("git add #{path}")
|
79
|
-
run("git commit -m \"#{message}\""
|
80
|
-
run("git tag tetra_#{tag}")
|
77
|
+
run("git commit --allow-empty -m \"#{message}\"")
|
81
78
|
end
|
82
79
|
end
|
83
80
|
|
84
|
-
#
|
85
|
-
def
|
86
|
-
Dir.chdir(@directory) do
|
87
|
-
run("git tag").split.map do |tag|
|
88
|
-
if tag =~ /^tetra_#{prefix}_([0-9]+)$/
|
89
|
-
Regexp.last_match[1].to_i
|
90
|
-
else
|
91
|
-
0
|
92
|
-
end
|
93
|
-
end.max || 0
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
# reverts path contents as per specified tag
|
98
|
-
def revert_whole_directory(path, tag)
|
81
|
+
# reverts path contents as per specified id
|
82
|
+
def revert_whole_directory(path, id)
|
99
83
|
Dir.chdir(@directory) do
|
100
84
|
# reverts added and modified files, both in index and working tree
|
101
|
-
run("git checkout -f
|
85
|
+
run("git checkout -f #{id} -- #{path}")
|
102
86
|
|
103
87
|
# compute the list of deleted files
|
104
|
-
|
88
|
+
files_in_commit = run("git ls-tree --name-only -r #{id} -- #{path}").split("\n")
|
105
89
|
files_in_head = run("git ls-tree --name-only -r HEAD -- #{path}").split("\n")
|
106
90
|
files_added_after_head = run("git ls-files -o -- #{path}").split("\n")
|
107
|
-
files_to_delete = files_in_head -
|
91
|
+
files_to_delete = files_in_head - files_in_commit + files_added_after_head
|
108
92
|
|
109
93
|
files_to_delete.each do |file|
|
110
94
|
FileUtils.rm_rf(file)
|
@@ -112,33 +96,38 @@ module Tetra
|
|
112
96
|
end
|
113
97
|
end
|
114
98
|
|
115
|
-
#
|
116
|
-
#
|
117
|
-
|
118
|
-
def merge_with_tag(path, new_path, tag)
|
99
|
+
# reverts the whole repo to the last commit while
|
100
|
+
# leaving changes in the working directory
|
101
|
+
def undo_last_commit
|
119
102
|
Dir.chdir(@directory) do
|
120
|
-
run("git
|
121
|
-
run("git merge-file #{path} #{path}.old_version #{new_path} \
|
122
|
-
-L \"newly generated\" \
|
123
|
-
-L \"previously generated\" \
|
124
|
-
-L \"user edited\"")
|
125
|
-
conflict_count = $CHILD_STATUS.exitstatus
|
126
|
-
File.delete("#{path}.old_version")
|
127
|
-
return conflict_count
|
103
|
+
run("git reset HEAD~")
|
128
104
|
end
|
129
105
|
end
|
130
106
|
|
131
|
-
#
|
132
|
-
|
107
|
+
# 3-way merges the git file at path with the one in new_path
|
108
|
+
# assuming they have a common ancestor at the specified id
|
109
|
+
# returns the conflict count
|
110
|
+
def merge_with_id(path, new_path, id)
|
133
111
|
Dir.chdir(@directory) do
|
134
|
-
run("git
|
112
|
+
run("git show #{id}:#{path} > #{path}.old_version")
|
113
|
+
|
114
|
+
conflict_count = 0
|
115
|
+
begin
|
116
|
+
run("git merge-file #{path} #{path}.old_version #{new_path} \
|
117
|
+
-L \"newly generated\" \
|
118
|
+
-L \"previously generated\" \
|
119
|
+
-L \"user edited\"")
|
120
|
+
rescue ExecutionFailed => e
|
121
|
+
if e.status > 0
|
122
|
+
conflict_count = e.status
|
123
|
+
else
|
124
|
+
raise e
|
125
|
+
end
|
126
|
+
end
|
127
|
+
File.delete("#{path}.old_version")
|
128
|
+
conflict_count
|
135
129
|
end
|
136
130
|
end
|
137
|
-
|
138
|
-
# returns the tag message
|
139
|
-
def get_message(tag)
|
140
|
-
run("git cat-file tag tetra_#{tag}").split.last
|
141
|
-
end
|
142
131
|
end
|
143
132
|
|
144
133
|
class GitAlreadyInitedError < StandardError
|