jgit/org.eclipse.jgit.test
Dave Borowitz d5a71e9ca3 Store push certificates in refs/meta/push-certs
Inspired by a proposal from gitolite[1], where we store a file in
a tree for each ref name, and the contents of the file is the latest
push cert to affect that ref.

The main modification from that proposal (other than lacking the
out-of-git batching) is to append "@{cert}" to filenames, which allows
storing certificates for both refs/foo and refs/foo/bar. Those
refnames cannot coexist at the same time in a repository, but we do
not want to discard the push certificate responsible for deleting the
ref, which we would have to do if refs/foo in the push cert tree
changed from a tree to a blob.

The "@{cert}" syntax is at least somewhat consistent with
gitrevisions(7) wherein @{...} describe operators on ref names.

As we cannot (currently) atomically update the push cert ref with the
refs that were updated, this operation is inherently racy. Kick the can
down the road by pushing this burden on callers.

[1] cf062b8bb6/contrib/hooks/repo-specific/save-push-signatures

Change-Id: Id3eb32416f969fba4b5e4d9c4b47053c564b0ccd
2015-07-10 13:16:37 -07:00
..
.settings Set minimum required Java version to Java 7 2015-02-09 14:11:50 +01:00
META-INF Prepare 4.0.2-SNAPSHOT builds 2015-06-24 13:51:21 +02:00
exttst/org/eclipse/jgit/patch Deprecate TemporaryBuffer.LocalFile without parent directory 2014-11-25 10:21:48 -08:00
src/org/eclipse/jgit/lib Expose Sets helper to tests outside org.eclipse.jgit.api 2015-05-21 16:15:06 -07:00
tst/org/eclipse/jgit Store push certificates in refs/meta/push-certs 2015-07-10 13:16:37 -07:00
tst-rsrc Fix patch application WRT windows line endings. 2013-01-19 13:29:02 +01:00
.classpath Add "src" folder to source folders of org.eclipse.jgit.test 2015-05-29 04:19:25 -04:00
.gitignore Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
.project Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
build.properties Partial revert "Switch build to Apache Felix maven-bundle-plugin" 2010-01-10 15:59:03 +01:00
org.eclipse.jgit.core--All-External-Tests (Java 6).launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.core--All-External-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.core--All-Tests (Java 6).launch Increase heap size for jgit tests 2010-08-27 00:29:31 +02:00
org.eclipse.jgit.core--All-Tests (Java 7).launch Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
org.eclipse.jgit.core--All-Tests (Java 8).launch Add launchers for running tests with Java 8 2014-03-29 20:07:10 +01:00
org.eclipse.jgit.core--All-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
plugin.properties Fix plugin provider names to conform with release train requirement 2013-04-08 23:05:36 +02:00
pom.xml Prepare 4.0.2-SNAPSHOT builds 2015-06-24 13:51:21 +02:00