final class DfsRefUpdate extends RefUpdate
RefUpdate.Result
Modifier and Type | Field and Description |
---|---|
private Ref |
dstRef |
private DfsRefDatabase |
refdb |
private RevWalk |
rw |
Constructor and Description |
---|
DfsRefUpdate(DfsRefDatabase refdb,
Ref ref) |
Modifier and Type | Method and Description |
---|---|
protected RefUpdate.Result |
doDelete(RefUpdate.Result desiredResult)
Do delete
|
protected RefUpdate.Result |
doLink(java.lang.String target)
Do link
|
protected RefUpdate.Result |
doUpdate(RefUpdate.Result desiredResult)
Do update
|
protected DfsRefDatabase |
getRefDatabase()
Get the reference database this update modifies.
|
protected DfsRepository |
getRepository()
Get the repository storing the database's objects.
|
protected boolean |
tryLock(boolean deref)
Try to acquire the lock on the reference.
|
protected void |
unlock()
Releases the lock taken by
RefUpdate.tryLock(boolean) if it succeeded. |
RefUpdate.Result |
update(RevWalk walk)
Gracefully update the ref to the new value.
|
delete, delete, disableRefLog, forceUpdate, getExpectedOldObjectId, getName, getNewObjectId, getOldObjectId, getPushCertificate, getRef, getRefLogIdent, getRefLogMessage, getResult, isDetachingSymbolicRef, isForceRefLog, isForceUpdate, isRefLogIncludingResult, link, setCheckConflicting, setDetachingSymbolicRef, setExpectedOldObjectId, setForceRefLog, setForceUpdate, setNewObjectId, setOldObjectId, setPushCertificate, setRefLogIdent, setRefLogMessage, update
private final DfsRefDatabase refdb
private Ref dstRef
private RevWalk rw
DfsRefUpdate(DfsRefDatabase refdb, Ref ref)
protected DfsRefDatabase getRefDatabase()
getRefDatabase
in class RefUpdate
protected DfsRepository getRepository()
getRepository
in class RefUpdate
protected boolean tryLock(boolean deref) throws java.io.IOException
If the locking was successful the implementor must set the current
identity value by calling RefUpdate.setOldObjectId(ObjectId)
.
tryLock
in class RefUpdate
deref
- true if the lock should be taken against the leaf level
reference; false if it should be taken exactly against the
current reference.java.io.IOException
- the lock couldn't be taken due to an unexpected storage
failure, and not because of a concurrent update.protected void unlock()
RefUpdate.tryLock(boolean)
if it succeeded.public RefUpdate.Result update(RevWalk walk) throws java.io.IOException
Merge test will be performed according to RefUpdate.isForceUpdate()
.
update
in class RefUpdate
walk
- a RevWalk instance this update command can borrow to perform
the merge test. The walk will be reset to perform the test.java.io.IOException
- an unexpected IO error occurred while writing changes.protected RefUpdate.Result doUpdate(RefUpdate.Result desiredResult) throws java.io.IOException
doUpdate
in class RefUpdate
desiredResult
- a RefUpdate.Result
object.result
java.io.IOException
protected RefUpdate.Result doDelete(RefUpdate.Result desiredResult) throws java.io.IOException
doDelete
in class RefUpdate
desiredResult
- a RefUpdate.Result
object.result
java.io.IOException
protected RefUpdate.Result doLink(java.lang.String target) throws java.io.IOException
doLink
in class RefUpdate
target
- a String
object.RefUpdate.Result.NEW
on success.java.io.IOException