### Monorepo Structure Example Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Illustrates a typical top-level directory structure for a monorepo, showing how libraries and applications are organized. ```git monorepo/ libA/ libB/ libC/ appX/ # depends on libA, libB, libC appY/ # depends on libA appZ/ # depends on libA ``` -------------------------------- ### GATLING DSL Example (Conceptual) Source: https://github.com/git/git-merge/blob/main/breakouts/gatling-git.md This snippet illustrates the conceptual structure of a GATLING simulation using its Domain Specific Language (DSL). It outlines how user behavior (Scenario), user injection (Injection Profile), and overall test configuration (Simulation) are defined. This is a conceptual representation as the actual code would depend on the specific Scala or Java API. ```scala // Conceptual Scala DSL for GATLING // Define a user scenario val scn = scenario("My Scenario") .exec(http("Request 1").get("/path")) .pause(1) .exec(http("Request 2").post("/submit").body(StringBody("data"))) // Define an injection profile val injectionProfile = rampUsers(100) during (30 seconds) // Define the simulation class MySimulation extends Simulation { setUp(scn.inject(injectionProfile)) } ``` ```java // Conceptual Java DSL for GATLING // Define a user scenario ChainBuilder> scn = exec(http("Request 1").get("/path")) .pause(1) .exec(http("Request 2").post("/submit").body(StringBody("data"))); // Define an injection profile InjectionStep injectionProfile = rampUsers(100).during(30); // Define the simulation public class MySimulation extends Simulation { { setUp(scn.injectOpen(injectionProfile)); } } ``` -------------------------------- ### Day One After Party Details Source: https://github.com/git/git-merge/blob/main/README.md Provides the location and time for the Git Merge conference after party on Day One. Includes the venue name, address, and start time. ```markdown ## Day One: After Party Details [Cosmic Kaspar](https://www.cosmic-kaspar.de/) (basement of Mein Haus Am See, Rosenthaler Platz)
Brunnenstr. 197/198, 10119 Berlin
7pm ``` -------------------------------- ### Day One Talks Schedule Source: https://github.com/git/git-merge/blob/main/README.md This section details the schedule for the first day of the Git Merge conference, including talk titles, speakers, and timings. It highlights key presentations on Git scaling, new VCS like Jujutsu, libgit2 updates, and Git-related tools. ```markdown # Git Merge Information Notes and schedule for the 2024 Git Merge conference in Berlin. ## Day One: Talks | Time | Talk | Speaker | | ------------- | ------------- | ------------- | | 9:00a | **Doors Open** | | 10:00a | *Welcome* | Scott Chacon & Taylor Blau | | 10:15a | Scaling Git | [Taylor Blau](https://github.com/ttaylorr) | | 10:40a | How we built a peer-to-peer forge on top of Git | [Alexis Sellier](https://github.com/cloudhead) | | 11:05a | Jujutsu - A Git-compatible VCS | [Martin von Zweigbergk](https://github.com/martinvonz) | | 11:30a | **Break (15min)** | | 11:45a | [State of Libification - Overview and Update on Effort](https://tinyurl.com/gm2024-libification) | [Emily Shaffer](https://github.com/nasamuffin) | | 12:10p | The Git Credential Helper Protocol: What's New | [Brian Carlson](https://github.com/bk2204) | | 12:35p | libgit2: past, present, and future | [Edward Thomson](https://github.com/ethomson) | | 1:00p | **Lunch (1.5h)** | | 2:30p | Abusing Git for GitButler | [Scott Chacon](https://github.com/schacon) | | 2:55p | Introduction to the reftable backend | [Patrick Steinhardt](https://gitlab.com/pks-t) | | 3:20p | git-filter-repo for rewriting Git history | [Elijah Newren](https://github.com/newren) | | 3:45p | Leveraging AI to ensure Git Monorepo performance under heavy workloads | [Daniele Sassoli](https://github.com/DanieleSassoli) | | 4:10p | **Break (15min)** | | 4:25p | Stories of GitOxide: Reimplementing Git in Rust | [Sebastian Thiel](https://github.com/Byron) | | 4:50p | Securing Git Repositories with Gittuf | [Aditya Sirish A Yelgundhalli](https://github.com/adityasaky) | | 5:15p | Marrying Meta's source control with Git | [Muir Manders](https://github.com/muirdm), [Rajiv Sharma](https://github.com/RajivTS) | | 5:45p | *Closing* | Scott Chacon & Taylor Blau | | 7:00p | *After Party* | [Mein Haus Am See: Cosmic Kaspar](https://www.cosmic-kaspar.de/) | ``` -------------------------------- ### Git Subtree Concept Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Explains the potential use of `git subtree` for managing copied library code within a repository, similar to vendoring. ```git # Potential use of git subtree for vendoring git subtree add --prefix= ``` -------------------------------- ### Partial Clone with Blob Size Filter Source: https://github.com/git/git-merge/blob/main/breakouts/git-lfs.md Demonstrates how to perform a partial clone of a Git repository, limiting the size of blobs that are downloaded. This is useful for repositories with large files, allowing users to clone without fetching all large objects. ```git git clone --filter=blob:limit=1k ``` -------------------------------- ### Git Merge Workflow Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Illustrates the concept of using merges to integrate different team branches into a unified monorepo view, akin to AOSP's structure but within a single repository. ```git # Merging branches to assemble monorepo view git checkout main git merge teamA-branch git merge teamX-branch ``` -------------------------------- ### Day Two Unconference Schedule Source: https://github.com/git/git-merge/blob/main/README.md Details the unconference format for the second day of the Git Merge conference. It mentions that talks will be suggested and scheduled on-site and includes a placeholder for notes from breakout sessions. ```markdown ## Day Two: Unconference The second day will be unconference style. The talks will be suggested and slotted on a board in the main hall. Notes from each session will be added here. The schedule for the breakout rooms is as follows: ![PXL_20240920_083357527](https://github.com/user-attachments/assets/6545e038-8709-4e56-b70b-053d3ae31f5b) If you're leading a breakout room, and you need to move your breakout room, please let one of the organisers know. ``` -------------------------------- ### Git Branching Workflow Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Outlines a basic branching strategy where a release branch is cut from the main development line (trunk). ```git # Cutting a release branch git checkout main git checkout -b release-branch # Development on trunk git checkout main # ... make changes ... # Cherry-picking to release branch git checkout release-branch git cherry-pick ``` -------------------------------- ### Git Cherry-pick Workflow Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Describes the process of cherry-picking commits from a development branch to a release branch, a common practice when managing parallel development lines. ```git # Cherry-picking a commit to a release branch git checkout release-branch git cherry-pick ``` -------------------------------- ### Git Submodules Concept Source: https://github.com/git/git-merge/blob/main/breakouts/branching-in-a-monorepo.md Describes how Git submodules could be used to manage external dependencies within a monorepo, where each submodule points to a separate branch. ```git # Git submodule initialization git submodule add git submodule update --init --recursive ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.