Public SOP: connecting VS Code to Codebox Go
+172
@@ -0,0 +1,172 @@
|
||||
# Connecting VS Code to Codebox Go
|
||||
|
||||
Codebox Go is our self-hosted Git service. This guide gets you from a fresh
|
||||
machine to working in VS Code, and explains the handful of things that
|
||||
commonly go wrong.
|
||||
|
||||
The address is the same wherever you are:
|
||||
|
||||
```
|
||||
https://git.hoppe.mywire.org
|
||||
```
|
||||
|
||||
Use it from home, from a laptop elsewhere, from anything. If you were given a
|
||||
different address at some point, prefer this one — a link that only works on
|
||||
one network will strand you the moment you move.
|
||||
|
||||
---
|
||||
|
||||
## Which kind of account do you have?
|
||||
|
||||
| | Team member | External collaborator |
|
||||
| --- | --- | --- |
|
||||
| Sign-in | Your organisation account | An account created for you, with its own password |
|
||||
| Set-up | One script does everything | Clone the specific repository you were given |
|
||||
| You will see | The repositories your team has | Usually one repository |
|
||||
|
||||
Both sign in at the same address and both work the same way in VS Code. The
|
||||
difference is only how many repositories you can see.
|
||||
|
||||
---
|
||||
|
||||
## First: sign in on the web
|
||||
|
||||
Go to the address above and sign in **before** touching VS Code. It confirms
|
||||
your account works and tells you immediately which repositories you have.
|
||||
|
||||
If sign-in fails, skip to [Sign-in is rejected](#sign-in-is-rejected).
|
||||
|
||||
---
|
||||
|
||||
## Team members: one script
|
||||
|
||||
Members can clone the `workspace` repository, which contains a `bootstrap`
|
||||
script. It asks the server which repositories **your** account can see, clones
|
||||
exactly those, and writes a VS Code workspace file containing them.
|
||||
|
||||
```powershell
|
||||
git clone https://git.hoppe.mywire.org/Hoppe.home/workspace.git
|
||||
cd workspace
|
||||
.\bootstrap.ps1
|
||||
```
|
||||
|
||||
Then open the workspace file it prints at the end.
|
||||
|
||||
Inside VS Code you can instead press **Ctrl+Shift+P**, choose **Tasks: Run
|
||||
Task**, then **Set up my Codebox Go workspace**.
|
||||
|
||||
Re-run it whenever you like. It updates what you already have, adds anything
|
||||
newly shared with you, and rewrites the workspace file — so it doubles as a
|
||||
way to check you have not missed a repository.
|
||||
|
||||
There is no fixed list of repositories in the script, deliberately. It asks
|
||||
the server every time, so it can never offer you something you are not allowed
|
||||
to clone, and it cannot go stale.
|
||||
|
||||
## External collaborators: clone your repository
|
||||
|
||||
You will normally have exactly one. Clone it directly:
|
||||
|
||||
```
|
||||
git clone https://git.hoppe.mywire.org/<owner>/<repository>.git
|
||||
```
|
||||
|
||||
Or in VS Code: **Ctrl+Shift+P** → **Git: Clone** → paste the URL.
|
||||
|
||||
When prompted, enter your username and password. Choose a folder that is
|
||||
**not** inside OneDrive or another syncing folder — see below for why.
|
||||
|
||||
---
|
||||
|
||||
## Passwords and tokens
|
||||
|
||||
You can sign in with your password. You can also create a **personal access
|
||||
token** under **Settings → Applications**, and use it anywhere a password is
|
||||
asked for.
|
||||
|
||||
A token is the better choice on a laptop, a shared machine, or anything you
|
||||
carry around: it can be revoked on its own without changing your password, and
|
||||
you can issue a separate one per device.
|
||||
|
||||
Never commit a token to a repository, and never paste one into an issue or a
|
||||
chat message. If one leaks, revoke it in the same place you created it.
|
||||
|
||||
---
|
||||
|
||||
## Things that commonly go wrong
|
||||
|
||||
### I can only see a few repositories
|
||||
|
||||
This is almost always your access, not a fault. Repositories you have not been
|
||||
given are hidden rather than shown as forbidden, so a short list looks
|
||||
identical to a broken sign-in.
|
||||
|
||||
Ask for the repository you need, naming it. Nothing on your machine will fix
|
||||
it.
|
||||
|
||||
### The clone hangs, or keeps asking for a username
|
||||
|
||||
If a prompt appears for an address different from the one you cloned from,
|
||||
that is the cause. Credentials are stored per address, so a request to a
|
||||
second address finds nothing saved and waits for input — which looks like a
|
||||
stalled download rather than a question.
|
||||
|
||||
Cancel, and clone using the address at the top of this page. If your system
|
||||
has stored something unhelpful, clear the saved entry (on Windows: Credential
|
||||
Manager → Windows Credentials) and let it ask again.
|
||||
|
||||
### "Your connection is not private" / certificate error
|
||||
|
||||
Check your device's **date and time** first. A certificate is only valid
|
||||
between two dates, so a clock that is wrong by days makes a perfectly good
|
||||
certificate look invalid. This is by far the most common cause.
|
||||
|
||||
On Windows: **Settings → Time & language → Date & time**, turn on **Set time
|
||||
automatically**, then **Sync now**. If the clock keeps resetting after every
|
||||
restart, the machine's internal battery is likely flat.
|
||||
|
||||
A wrong clock also breaks sign-ins on many other services, so fixing it tends
|
||||
to clear up more than this one error.
|
||||
|
||||
### It worked at home but not elsewhere
|
||||
|
||||
Your repository is pointing at an address that only exists on the home
|
||||
network. Point it at the public one:
|
||||
|
||||
```
|
||||
git remote set-url origin https://git.hoppe.mywire.org/<owner>/<repository>.git
|
||||
```
|
||||
|
||||
Check what it is currently using with `git remote -v`.
|
||||
|
||||
### Strange failures inside OneDrive
|
||||
|
||||
Do not clone into OneDrive, Dropbox, Google Drive or iCloud Drive. Sync copies
|
||||
files while Git is still writing them, which produces stalls, lock errors and
|
||||
apparent corruption that look like network problems.
|
||||
|
||||
Use a plain local folder such as `C:\Users\<you>\Code`. The bootstrap script
|
||||
refuses a syncing folder for this reason.
|
||||
|
||||
### Sign-in is rejected
|
||||
|
||||
- Check whether you are entering the right kind of credential. Team members
|
||||
use their organisation account; external collaborators use the password set
|
||||
up for them here.
|
||||
- If you use a token, confirm it has not been revoked, and that you pasted it
|
||||
whole.
|
||||
- Repeated failures may temporarily rate-limit you. Wait a few minutes rather
|
||||
than retrying rapidly.
|
||||
|
||||
---
|
||||
|
||||
## Getting help
|
||||
|
||||
Ask the person who gave you access. When you do, include:
|
||||
|
||||
- what you ran or clicked,
|
||||
- the exact error text,
|
||||
- and the address it mentions.
|
||||
|
||||
That last one resolves most cases immediately, because the wrong address is
|
||||
the single most common cause.
|
||||
Reference in New Issue
Block a user