Skip to content

Commit 24d1ddc

Browse files
committed
docs: note OpenROAD fork requirement
1 parent 195e64c commit 24d1ddc

2 files changed

Lines changed: 46 additions & 2 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ timeline
4848

4949
There are multiple ways to install and develop OpenROAD and ORFS. However, the best option depends on your use case, experience level, and personal preference.
5050

51+
```{note}
52+
Forking ORFS? Also fork [`OpenROAD`](https://github.com/The-OpenROAD-Project/OpenROAD) and point the `tools/OpenROAD` submodule at your fork (e.g., `git submodule set-url tools/OpenROAD https://github.com/<you>/OpenROAD.git && git submodule update --init --recursive`). Otherwise a forked clone may fail to build.
53+
```
54+
5155

5256
> **Recommendation for new users:**
5357
> If you are new to OpenROAD-flow-scripts, Docker can be a reliable way to get started since it avoids most dependency and environment issues.

docs/contrib/GitGuide.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,43 @@
1-
# Git Quickstart
1+
# Git Quickstart (forks)
22

3-
If you have reached this file on GitHub - please refer to this [link](https://openroad-flow-scripts.readthedocs.io/en/latest/contrib/GitGuide.html) for latest documentation.
3+
If you are working from your **own fork**, you must fork both this repository **and** the
4+
`OpenROAD` submodule. Otherwise `git submodule` will still point to the upstream
5+
`The-OpenROAD-Project/OpenROAD` and builds in your fork will fail.
6+
7+
## Fork + clone
8+
9+
1. Fork **OpenROAD-flow-scripts**.
10+
2. Fork **OpenROAD** (the tools submodule).
11+
3. Clone your ORFS fork with submodules:
12+
```bash
13+
git clone --recursive https://github.com/<you>/OpenROAD-flow-scripts.git
14+
cd OpenROAD-flow-scripts
15+
```
16+
17+
## Point the submodule at your OpenROAD fork
18+
19+
Run these once in your clone:
20+
21+
```bash
22+
git submodule set-url tools/OpenROAD https://github.com/<you>/OpenROAD.git
23+
git submodule update --init --recursive
24+
```
25+
26+
## Keep both forks in sync
27+
28+
```bash
29+
git remote add upstream https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git
30+
git remote add upstream-or https://github.com/The-OpenROAD-Project/OpenROAD.git
31+
git fetch upstream upstream-or
32+
33+
# Update ORFS
34+
git checkout master
35+
git pull upstream master
36+
37+
# Update OpenROAD submodule to upstream
38+
git submodule update --remote tools/OpenROAD
39+
git push origin master
40+
```
41+
42+
With this setup, `git clone --recursive <your-orfs-fork>` will work, and the submodule
43+
will track your OpenROAD fork by default.

0 commit comments

Comments
 (0)