This repository has undergone a breaking history change as part of our transition to open development at Ai2 climate modeling. The main branch now contains a new, filtered history that removes certain internal files and commits from our previous private repository. This will streamline new releases and hopefully foster better collaboration with our growing userbase.
This is a breaking change. Future updates should maintain normal Git history since this will be our main development repo!
The main branch history has been completely rewritten to:
- Remove internal/proprietary files and references\
- Establish a new baseline for open development
If you have an existing clone of this repository from before this migration, you will encounter errors when pulling.
When you try to pull from the repository, you may see errors like:
$ git pull
fatal: refusing to merge unrelated historiesor
$ git pull
hint: You have divergent branches and need to specify how to reconcile them.This indicates your local repository is still based on the old history.
Use this if: You have no local commits or branches you need to keep.
-
Delete your local repository folder:
cd /path/to/parent/directory rm -rf ace -
Clone the repository fresh:
git clone https://github.com/ai2cm/ace.git cd ace
That's it! You now have the new history.
Use this if: You have local commits, branches, or work in progress you want to preserve.
If you have uncommitted changes, commit them first:
git add .
git commit -m "WIP: local changes before migration"If you have local commits on the old main branch that you want to preserve:
# Save your current main branch to a new branch name
git checkout main
git branch my-local-workIf you have other local branches, they will be preserved automatically.
# Fetch the new history from the remote
git fetch origin
# Switch to main and reset to the new remote version
git checkout main
git reset --hard origin/mainWarning: This will discard any local commits on your main branch. Make sure you saved them to my-local-work or another branch in Step 1.
If you preserved local work in my-local-work or other branches, you'll need to rebase or cherry-pick those commits onto the new main branch.
# Switch to your branch with local work
git checkout my-local-work
# Rebase onto the new main
git rebase mainNote: Since the history has been rewritten, Git may not be able to automatically find the common ancestor. You might need to use:
git rebase --onto main --root my-local-workThis replays all commits from your branch onto the new main. You may encounter conflicts that need manual resolution.
If rebasing is too complex or you only need specific commits:
# Switch to main
git checkout main
# Create a new branch for your work
git checkout -b my-migrated-work
# Cherry-pick individual commits by their SHA
git cherry-pick <commit-sha-1>
git cherry-pick <commit-sha-2>
# etc.To find the commit SHAs you want to preserve:
git log my-local-workCheck that your working directory looks correct:
git status
git logWe transitioned from a private repository to open development. To protect internal information and provide a clean starting point, we filtered the repository history to remove proprietary content.
This is expected due to the history rewrite. You have several options:
- Resolve conflicts manually as they appear during the rebase
- Use
git cherry-pickto selectively apply specific commits (see Option B above) - Manually re-apply your changes on top of the new
mainby copying files or code snippets
If your branches were based on the old main:
- Rebase them onto the new
main(as described above) - Force-push them:
git push --force-with-lease origin your-branch-name - Coordinate with any collaborators who may have pulled your branch
If you encounter issues during migration, please:
- Open an issue on the repository
- Check for a pinned migration issue with additional guidance
- Reach out to the repository maintainers
- Migration Date: 2025-12-17
- New Main Branch: Based on
filtered-main-testbranch - Old History: Now under main-archived-2025-12-17