You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/main/java/com/gitblit/wicket/pages/FilestoreUsage.html
+8-26Lines changed: 8 additions & 26 deletions
Original file line number
Diff line number
Diff line change
@@ -12,16 +12,19 @@
12
12
<divclass="span10 offset1">
13
13
14
14
<divclass="alert alert-danger">
15
-
<h3><center>Using the Filestore</center></h3>
15
+
<h3><center>Using the filestore</center></h3>
16
16
<p>
17
-
<strong>All clients intending to use the filestore must first install the <ahref="https://git-lfs.github.com/">Git-LFS Client</a> and then run <code>git lfs init</code> to register the hooks globally.</strong><br/>
18
-
<i>This version of GitBlit has been verified with Git-LFS client version 0.6.0 which requires Git v1.8.2 or higher.</i>
17
+
<strong>All clients intending to use the filestore must first install the <ahref="https://git-lfs.github.com/">Git-LFS Client</a> and then run <code>git lfs install</code></strong><br/>
18
+
<p>
19
+
If using password authentication it is recommended that you configure the <ahref="https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage">git credential storage</a> to avoid Git-LFS asking for your password on each file<br/>
20
+
On Windows for example: <code>git config --global credential.helper wincred</code>
21
+
</p>
19
22
</p>
20
23
</div>
21
24
22
25
<h3>Clone</h3>
23
26
<p>
24
-
Just <code>git clone</code> as usual, no further action is required as GitBlit is configured to use the default Git-LFS end point <code>{repository}/info/lfs/objects/</code>.<br/>
27
+
Just <code>git clone</code> as usual, no further action is required as Gitblit is configured to use the default Git-LFS end point <code>{repository}/info/lfs/objects/</code>.<br/>
25
28
<i>If the repository uses a 3rd party Git-LFS server you will need to <ahref="https://github.com/github/git-lfs/blob/master/docs/spec.md#the-server">manually configure the correct endpoints</a></i>.
26
29
</p>
27
30
@@ -38,28 +41,7 @@ <h3>Learn more...</h3>
38
41
<p><ahref="https://github.com/github/git-lfs/blob/master/docs/spec.md">See the current Git-LFS specification for further details</a>.</p>
39
42
<br/>
40
43
41
-
<divclass="alert alert-warn">
42
-
<h3><center>Limitations & Warnings</center></h3>
43
-
<p>GitBlit currently provides a server-only implementation of the opensource Git-LFS API, <ahref="https://github.com/github/git-lfs/wiki/Implementations">other implementations</a> are available.<br/>
44
-
However, until <ahref="https://bugs.eclipse.org/bugs/show_bug.cgi?id=470333">JGit provides Git-LFS client capabilities</a> some GitBlit features may not be fully supported when using the filestore.
45
-
Notably:
46
-
<ul>
47
-
<li>Mirroring a repository that uses Git-LFS - Only the pointer files, not the large files, are mirrored.</li>
48
-
<li>Federation - Only the pointer files, not the large files, are transfered.</li>
49
-
</ul>
50
-
</p>
51
-
</div>
52
-
53
-
<divclass="alert alert-info">
54
-
<h3><center>GitBlit Configuration</center></h3>
55
-
<p>GitBlit provides the following configuration items when using the filestore:
56
-
<h4>filestore.storageFolder</h4>
57
-
<p>Defines the path on the server where filestore objects are to be saved. This defaults to <code>${baseFolder}/lfs</code></p>
58
-
<h4>filestore.maxUploadSize</h4>
59
-
<p>Defines the maximum allowable size that can be uploaded to the filestore. Once a file is uploaded it will be unaffected by later changes in this property. This defaults to <code>-1</code> indicating no limits.</p>
<td>The path on the server where filestore objects are to be saved.</td>
17
+
</tr>
18
+
<tr>
19
+
<th>filestore.maxUploadSize</th><td>-1</td>
20
+
<td>The maximum allowable size that can be uploaded to the filestore. Once a file is uploaded it will be unaffected by later changes in this property. The default of -1 indicates no limits.</td>
21
+
</tr>
22
+
</tbody>
23
+
</table>
24
+
25
+
26
+
### Limitations
27
+
28
+
Gitblit currently provides a server-only implementation of the opensource Git LFS API.
29
+
30
+
1. Files in the filestore are not currently searchable by Lucene.
31
+
2. Mirroring a repository that uses Git LFS will only mirror the pointer files, not the large files.
32
+
3. Federation - Only the pointer files, not the large files, are transfered.
1. Files that should be handled by Git LFS are defined in the `.gitattributes` file.
40
+
2. Git LFS installs a pre-commit hook when installed `git lfs install`.
41
+
3. When a commit is made the pre-commit hook replaces the defined Git LFS files with a pointer file containing metadata about the file so that it can be found later.
42
+
4. When a commit is pushed, the changeset is sent to the git repository and the large files are sent to the filestore.
43
+
44
+
For further details check out the [Git LFS specification](https://github.com/github/git-lfs/blob/master/docs/spec.md).
45
+
46
+
### Convert/Migrate existing repository
47
+
48
+
It is possible to migrate an existing repository containing large files to one that leverages the filestore. However, commit hash history will be altered.
49
+
50
+
The following command may be run on a local repository:
While [other Git LFS implementations are available](https://github.com/github/git-lfs/wiki/Implementations) as there is no current [JGit LFS client capability](https://bugs.eclipse.org/bugs/show_bug.cgi?id=470333), Gitblit will be unable to access them.
0 commit comments