Show More
@@ -0,0 +1,93 b'' | |||||
|
1 | .. _git-lfs-files: | |||
|
2 | ||||
|
3 | |git| LFS Extension | |||
|
4 | =================== | |||
|
5 | ||||
|
6 | ||||
|
7 | Git Large File Storage (or LFS) is a new, open-source extension to Git that | |||
|
8 | aims to improve handling of large files. It does this by replacing large files | |||
|
9 | in your repository—such as graphics and videos—with simple text pointers. | |||
|
10 | |RC| Server includes an embedded LFS object store server, allowing storage of | |||
|
11 | large files without the need for an external object store. | |||
|
12 | Git LFS is disabled by default, globally, and for each individual repository. | |||
|
13 | ||||
|
14 | .. note:: | |||
|
15 | ||||
|
16 | |RC| implements V2 API of Git LFS. Please make sure your git client is | |||
|
17 | using the latest version (2.0.X recommended) to leverage full feature set | |||
|
18 | of the V2 API. | |||
|
19 | ||||
|
20 | ||||
|
21 | ||||
|
22 | Enabling Git LFS | |||
|
23 | ++++++++++++++++ | |||
|
24 | ||||
|
25 | Git LFS is disabled by default within |RC| Server. | |||
|
26 | ||||
|
27 | To enable Git LFS Globally: | |||
|
28 | ||||
|
29 | - Go to :menuselection:`Admin --> Settings --> VCS` | |||
|
30 | ||||
|
31 | - Scroll down into `Git settings` | |||
|
32 | ||||
|
33 | - Tick `Enable lfs extension` | |||
|
34 | ||||
|
35 | - Save your settings. | |||
|
36 | ||||
|
37 | Those settings apply globally to each repository that inherits from the defaults | |||
|
38 | You can leave `lfs extension` disabled globally, and only enable it per | |||
|
39 | repository that would use the lfs. | |||
|
40 | ||||
|
41 | ||||
|
42 | .. note:: | |||
|
43 | ||||
|
44 | You might want to adjust the global storage location at that point, however | |||
|
45 | we recommend leaving the default one created. | |||
|
46 | ||||
|
47 | ||||
|
48 | Installing and using the Git LFS command line client | |||
|
49 | ++++++++++++++++++++++++++++++++++++++++++++++++++++ | |||
|
50 | ||||
|
51 | Git LFS aims to integrate with the standard Git workflow as seamlessly | |||
|
52 | as possible. To push your first Git LFS files to an existing repository | |||
|
53 | Download and install the git-lfs command line client | |||
|
54 | Install the Git LFS filters:: | |||
|
55 | ||||
|
56 | git lfs install | |||
|
57 | ||||
|
58 | This adds the following lines to the .gitconfig file located in your home directory:: | |||
|
59 | ||||
|
60 | [filter "lfs"] | |||
|
61 | clean = git-lfs clean %f | |||
|
62 | smudge = git-lfs smudge %f | |||
|
63 | required = true | |||
|
64 | ||||
|
65 | The above change applies globally, so it is not necessary to run this for | |||
|
66 | each repository you work with. Choose the file types you would like LFS to | |||
|
67 | handle by executing the git lfs track command. The git lfs track command | |||
|
68 | creates or updates the .gitattributes file in your repository. | |||
|
69 | Change to your cloned repository, then execute git add to ensure updates | |||
|
70 | to the .gitattributes are later committed:: | |||
|
71 | ||||
|
72 | git lfs track "*.jpg" | |||
|
73 | git add .gitattributes | |||
|
74 | ||||
|
75 | Add, commit, and push your changes as you normally would:: | |||
|
76 | ||||
|
77 | git add image.jpg | |||
|
78 | git commit -m "Added an image" | |||
|
79 | git push | |||
|
80 | ||||
|
81 | When pushed, the Git tree updates to include a pointer to the file actual | |||
|
82 | file content. This pointer will include the SHA256 hash of the object and its | |||
|
83 | size in bytes. For example:: | |||
|
84 | ||||
|
85 | oid sha256:4fa32d6f9b1461c4a53618a47324ee43e36ce7ceaea2ad440cc811a7e6881be1 | |||
|
86 | size 2580390 | |||
|
87 | ||||
|
88 | ||||
|
89 | The object itself will be uploaded to a separate location via the Git LFS Batch API. | |||
|
90 | The transfer is validated and authorized by |RC| server itself. | |||
|
91 | ||||
|
92 | If give repository has Git LFS disabled, a proper message will be sent back to | |||
|
93 | the client and upload of LFS objects will be forbidden. |
@@ -9,6 +9,36 b' has a large files extension which tracks' | |||||
9 | means that the large files are only downloaded when they are needed as part |
|
9 | means that the large files are only downloaded when they are needed as part | |
10 | of the current revision. This saves both disk space and bandwidth. |
|
10 | of the current revision. This saves both disk space and bandwidth. | |
11 |
|
11 | |||
|
12 | ||||
|
13 | Enabling HG Largefiles | |||
|
14 | ++++++++++++++++++++++ | |||
|
15 | ||||
|
16 | Mercurial Largefiles extension is disabled by default within |RC| Server. | |||
|
17 | ||||
|
18 | To enable Mercurial Largefiles Globally: | |||
|
19 | ||||
|
20 | - Go to :menuselection:`Admin --> Settings --> VCS` | |||
|
21 | ||||
|
22 | - Scroll down into `Mercurial settings` | |||
|
23 | ||||
|
24 | - Tick `Enable largefiles extension` | |||
|
25 | ||||
|
26 | - Save your settings. | |||
|
27 | ||||
|
28 | Those settings apply globally to each repository that inherits from the defaults | |||
|
29 | You can leave `largefiles extension` disabled globally, and only enable it per | |||
|
30 | repository that would use the largefiles. | |||
|
31 | ||||
|
32 | ||||
|
33 | .. note:: | |||
|
34 | ||||
|
35 | You might want to adjust the global storage location at that point, however | |||
|
36 | we recommend leaving the default one created. | |||
|
37 | ||||
|
38 | ||||
|
39 | Installing and using the |hg| Largefiles | |||
|
40 | ++++++++++++++++++++++++++++++++++++++++ | |||
|
41 | ||||
12 | To find out more, see the |hg| `Large Files Extensions Documentation`_. |
|
42 | To find out more, see the |hg| `Large Files Extensions Documentation`_. | |
13 |
|
43 | |||
14 | To configure the large files extension, you need to set up your |
|
44 | To configure the large files extension, you need to set up your |
General Comments 0
You need to be logged in to leave comments.
Login now