Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gitaly
gitaly
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 632
    • Issues 632
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 39
    • Merge Requests 39
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • gitalygitaly
  • Issues
  • #328

Closed
Open
Opened Jun 20, 2017 by Jacob Vosmaer@jacobvosmaer-gitlabOwner3 of 4 tasks completed3/4 tasks

Conversation RepositoryService::ApplyGitattributes

Feature Flag: gitaly_apply_gitattributes

Gitlab::Git::Repository#copy_gitattributes


Stages:

  • RPC Design: #454 (closed)

  • Server Implementation: #462 (closed) !278 (merged)

  • ~"Client Implementation": #464 (closed) https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/13517

  • ~"Acceptance Testing": #577 (closed)

RPC Endpoints:

  • Endpoint::Name

Known Client Routes:

  • Known client endpoints

https://gitlab.com/gitlab-org/gitlab-ce/blob/40cd50829944db38fac07014e5fa00eafa3d1bc7/lib/gitlab/git/repository.rb#L936-964

It's fairly straightforward what this does:

  • look up the contents of .gitattributes at the given revision
  • write out the contents to info/attributes inside the bare repo

Proposed RPC is in the comments below.

We need to take special care to atomically update the info/attributes file:

  • write tempfile in the info/ directory of the repo
  • close tempfile -> because of NFS open/close semantics
  • rename tempfile to attributes
Edited Sep 15, 2017 by 🏝 Andrew Newdigate 🏕
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
v1.0
Milestone
v1.0 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: gitlab-org/gitaly#328