[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
-
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