Sam Atkins
364d580ff8
feat(git): Add authentication to clone, fetch, and pull.
2024-06-28 14:19:23 -04:00
Sam Atkins
8c70229a18
feat(git): Implement git push
...
For now, the authentication is by --username and --password options,
which obviously is not good because the password is visible. But doing
it in a nicer way requires features that Phoenix or Puter are currently
missing.
2024-06-28 14:19:23 -04:00
Sam Atkins
3cad1ec436
feat(git): Add diff display to show and log subcommands
2024-06-28 14:19:23 -04:00
Sam Atkins
c436460b8c
tweak(git): Move proxy url definition into config files
...
We'll likely want to host our own proxy. Self-hosters likewise may have
their own, but it's convenient to use isomorphic-git's for development.
2024-06-28 14:19:23 -04:00
Sam Atkins
a68194090e
tweak(git): Check for 'ENOENT' instead of ErrorCodes.ENOENT
...
This is functionally the same, but removes one place where we
unnecessarily relied on Puter code.
2024-06-28 14:19:23 -04:00
Sam Atkins
c0562d78a2
docs(git): Document git client
2024-06-28 14:19:23 -04:00
Sam Atkins
622b6a9b92
feat(git): Implement git diff
2024-06-28 14:19:23 -04:00
Sam Atkins
49c2f16351
feat(git): Add start-revision and file arguments to git log
2024-06-28 14:19:23 -04:00
Sam Atkins
eb2b6a08b0
feat(git): Implement git pull
2024-06-28 14:19:23 -04:00
Sam Atkins
1822ace296
refactor(git): Use dir/gitdir variable names like isogit does
...
I prefer the other names, but being able to type `{ dir, gitdir }` is
shorter and a lot less error-prone than `{ dir: repository_dir, gitdir:
git_dir }`.
2024-06-28 14:19:23 -04:00
Sam Atkins
35e4453930
feat(git): Implement git checkout
...
For now this only lets you check out branches, not files.
2024-06-28 14:19:23 -04:00
Sam Atkins
98a4b9ede3
feat(git): Implement git fetch
...
Sporadically we hang while trying to fetch. I haven't been able to
identify why but it seems like a race condition in isomorphic-git
somewhere.
2024-06-28 14:19:23 -04:00
Sam Atkins
c86e4dfdce
Remove unused imports from git subcommands
2024-06-28 14:19:23 -04:00
Sam Atkins
ad4f13255d
feat(git): Implement git branch
...
Create, delete, copy, rename, and list branches.
2024-06-28 14:19:23 -04:00
Sam Atkins
43ce0d5b45
feat(git): Implement git remote
2024-06-28 14:19:23 -04:00
Sam Atkins
95c8235a4a
feat(git): Implement git clone
2024-06-28 14:19:23 -04:00
Eric Dubé
fa7bec3854
refactor: flatten the monorepo
2024-06-08 01:07:42 -04:00
Sam Atkins
10f715f726
Implement git show
2024-05-22 16:00:42 +01:00
Sam Atkins
0377015190
Implement git config
...
This is also basic:
git config key # To read a value
git config key value # To set a value
git config --unset key # To delete a value
As noted, --list is not possible to implement currently.
2024-05-22 16:00:42 +01:00
Sam Atkins
98c33fb3cc
Implement git log
...
This is quite barebones for now.
Commit formatting is done in a separate file, as this is used by other
git commands, such as `show`.
2024-05-22 16:00:42 +01:00
Sam Atkins
b4e2ba4544
Implement git commit
2024-05-22 16:00:42 +01:00
Sam Atkins
32c172d145
Implement git add
2024-05-22 16:00:42 +01:00
Sam Atkins
5a308a2a53
Implement git status
2024-05-22 16:00:42 +01:00
Sam Atkins
71873a9c27
Add a helper function for finding the git repo
2024-05-22 16:00:42 +01:00
Sam Atkins
5e3db870ec
Implement git init
2024-05-22 16:00:42 +01:00
Sam Atkins
85b7587c42
Implement git help, git version, and subcommand infrastructure
...
Each subcommand is its own file, modeled after Phoenix's coreutils.
2024-05-22 16:00:42 +01:00
Sam Atkins
b75c42b39f
Implement Puter filesystem wrapper for git app
2024-05-22 08:56:50 +01:00
Sam Atkins
0d2ffdb380
Add boilerplate for empty git app
...
It does nothing but output a message to the console.
2024-05-22 08:56:50 +01:00