org.eclipse.jgit.internal.storage.file

## Class PackLock

- java.lang.Object
- - org.eclipse.jgit.internal.storage.file.PackLock

    public class PackLock
    extends Object

Keeps track of a `PackFile`'s associated `.keep` file.

### Constructor Summary

Constructors
Constructor and Description
`PackLock(File packFile, FS fs)` Create a new lock for a pack file.

### Method Summary

Methods
`boolean` `lock(String msg)` Create the `pack-*.keep` file, with the given message.
`void` `unlock()` Remove the `.keep` file that holds this pack in place.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PackLock

    public PackLock(File packFile,
            FS fs)

Create a new lock for a pack file.

Parameters:
  `packFile` - location of the `pack-*.pack` file.
  `fs` - the filesystem abstraction used by the repository.

### Method Detail

#### lock

    public boolean lock(String msg)
                 throws IOException

Create the `pack-*.keep` file, with the given message.

Parameters:
  `msg` - message to store in the file.
Returns:
  true if the keep file was successfully written; false otherwise.
Throws:
  `IOException` - the keep file could not be written.

#### unlock

    public void unlock()
                throws IOException

Remove the `.keep` file that holds this pack in place.

Throws:
  `IOException` - if deletion of .keep file failed