diff options
Diffstat (limited to 'docs/content/en/variables/git.md')
-rw-r--r-- | docs/content/en/variables/git.md | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/docs/content/en/variables/git.md b/docs/content/en/variables/git.md index 0804f6a32..4c412efdd 100644 --- a/docs/content/en/variables/git.md +++ b/docs/content/en/variables/git.md @@ -20,7 +20,7 @@ Hugo's Git integrations should be fairly performant but *can* increase your buil 1. The Hugo site must be in a Git-enabled directory. 2. The Git executable must be installed and in your system `PATH`. -3. The `.GitInfo` feature must be enabled in your Hugo project by passing `--enableGitInfo` flag on the command line or by setting `enableGitInfo` to `true` in your [site's configuration file][configuration]. +3. The `.GitInfo` feature must be enabled in your Hugo project by passing `--enableGitInfo` flag on the command line or by setting `enableGitInfo` to `true` in your [site's configuration file][configuration]. ## The `.GitInfo` object @@ -49,3 +49,24 @@ The `GitInfo` object contains the following fields: If the `.GitInfo` feature is enabled, `.Lastmod` (on `Page`) is fetched from Git i.e. `.GitInfo.AuthorDate`. This behavior can be changed by adding your own [front matter configuration for dates](/getting-started/configuration/#configure-front-matter). [configuration]: /getting-started/configuration/ + +## Hosting considerations + +On the site host, your repository must be "deep-cloned," so the returned `.GitInfo` data will be accurate. Otherwise, your site may display only data from your latest commit. Where it's not possible to configure a host's cloning depth, you must handle this through CI/CD (*e.g.*, a +GitHub Action or GitLab CI/CD). See the following table: + +| Hosting service | Clone depth | Configurable? | +| :-------------- | :---------- | :-----------: | +| Cloudflare Pages | Shallow | ✔️ [^CFP] | +| DigitalOcean App Platform | Deep | ❌ | +| GitHub Pages | Shallow | ✔️ [^GHP] | +| GitLab Pages | Shallow | ✔️ [^GLP] | +| Netlify | Deep | ❌ | +| Render | Shallow | ❌ | +| Vercel | Shallow | ❌ | + +[^CFP]: To configure a Cloudflare Pages site for deep cloning, preface the site's normal Hugo build command with `git fetch --unshallow &&` (*e.g.*, `git fetch --unshallow && hugo`). + +[^GHP]: You can configure the GitHub Action to do a deep clone by specifying `fetch-depth: 0` in the applicable "checkout" step of your workflow file, as shown in the Hugo documentation's [example workflow file](/hosting-and-deployment/hosting-on-github/#procedure). + +[^GLP]: You can configure the GitLab Runner's clone depth [as explained in the GitLab documentation](https://docs.gitlab.com/ee/ci/large_repositories/#shallow-cloning); see also the Hugo documentation's [example workflow file](https://gohugo.io/hosting-and-deployment/hosting-on-gitlab/#configure-gitlab-cicd). |