[BFCL] Guide to Major Release with Breaking API Changes #521
devanshamin
started this conversation in
Ideas
Replies: 1 comment 2 replies
-
Please share your thoughts - @ShishirPatil @CharlieJCJ @HuanzhiMao @Fanjia-Yan
GitHub releases provide a structured way to deliver software updates to users, making it easier for developers to manage and communicate changes effectively. For example, |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary of Steps for Merging PR #510
Split Subfolder into Separate Branch:
git subtree split
to create a new branch forberkeley-function-call-leaderboard
while preserving commit history.Create New Repository:
bfcl
).Set Up Releases:
Add
bfcl
as a Submodule:berkeley-function-call-leaderboard
subfolder.bfcl
as a submodule and commit the changes.Update Submodule Periodically:
End Product
Approach on Merging PR #510
Step 1: Split the
gorilla/berkeley-function-call-leaderboard
Subfolder into a Separate Branch While Preserving the CommitsStep 2: Move the
gorilla/berkeley-function-call-leaderboard
Subfolder with Commits to a New Repository$ git clone https://github.com/devanshamin/gorilla.git -b bfcl_main # [Optional] Rename the `gorilla` repository/directory to `bfcl` $ git remote set-url origin https://github.com/devanshamin/bfcl.git $ git branch -M main $ git push -u origin main
Step 3: Set Up Releases in the New Repository
$ git tag -a v0.1.0 -m "Initial release v0.1.0" $ git push origin v0.1.0
Now, you will have the existing codebase of
gorilla/berkeley-function-call-leaderboard
packaged and available asv0.1.0
for backward compatibility:Add
bfcl
Repository to Gorilla Repository as a SubmoduleStep 1: Clone the Gorilla Repository and Create a New Branch
Step 2: Remove the Subfolder (
berkeley-function-call-leaderboard
) from the Gorilla Repositorygit rm -r berkeley-function-call-leaderboard git commit -m "Remove subfolder in preparation for submodule"
Step 3: Rewrite History to Remove Subfolder (
berkeley-function-call-leaderboard
) CommitsStep 4: Add the New Repository (
bfcl
) as a Submodulegit submodule add https://github.com/devanshamin/bfcl.git berkeley-function-call-leaderboard git add .gitmodules berkeley-function-call-leaderboard git commit -m "Add `berkeley-function-call-leaderboard` as submodule" git push origin new_main
Periodically Update the
berkeley-function-call-leaderboard
Submodule in the Gorilla RepositoryStep 1: Update the Submodule to the Desired Release
Step 2: Commit the Submodule Update
git add berkeley-function-call-leaderboard git commit -m "Update submodule to v0.1.0" git push origin new_main
Beta Was this translation helpful? Give feedback.
All reactions