aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit/src/org/eclipse/jgit/transport/TrackingRefUpdate.java
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2012-05-22 16:45:06 -0700
committerShawn O. Pearce <spearce@spearce.org>2012-05-22 16:45:06 -0700
commit17be66acdbe662b42a263be77c435945902df968 (patch)
tree7aa8eba2102d90bee3c0044f65f0903ada077402 /org.eclipse.jgit/src/org/eclipse/jgit/transport/TrackingRefUpdate.java
parentd8d649a43eb6b72f97979112066378748d0cabaf (diff)
downloadjgit-17be66acdbe662b42a263be77c435945902df968.tar.gz
jgit-17be66acdbe662b42a263be77c435945902df968.zip
Batch reference updates together for storage
clone, fetch and push can all update multiple references in a single command invocation. Rather than performing sequential iteration of each reference change inside of the application code, push this down into the reference database where the implementation can take advantage of the batch size and optimize itself. For the local filesystem implementation the obvious optimization is to write a packed-refs file when the repository is completely empty. The initial clone, fetch or push into the destination may have hundreds of new references. Writing all of these as loose files is not efficient. This optimization is not implemented in this commit and is left as an exercise for the reader to supply in a future commit to JGit. To make the API changes simple, define the BatchRefUpdate type and implementation using the existing sequential behavior. Change-Id: I8e1674f091e05e24e3ff56ccbc687a6d18a6a61e
Diffstat (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/transport/TrackingRefUpdate.java')
0 files changed, 0 insertions, 0 deletions