Sam Atkins
2e4259d267
feat(git): Implement git cherry-pick
...
This is quite manual, and only handles the simple cases where no merge
conflicts occur. Should be useful for basing a `rebase` command off of
though.
2024-06-28 14:19:23 -04:00
Sam Atkins
bab5204209
feat(git): Color output for git status
files
...
Matching canonical git, staged changes are green and unstaged/untracked
are red.
2024-06-28 14:19:23 -04:00
Sam Atkins
4ba8a32b45
feat(git): Implement git restore
...
I tried implementing --source=foo too, but was bumping into weird
behaviour with isomorphic-git, so I've removed that for now. Eventually
we'll want it, but it seems fairly niche.
2024-06-28 14:19:23 -04:00
Sam Atkins
a68037111a
feat(git): Display file contents as a string for git show FILE_OID
2024-06-28 14:19:23 -04:00
Sam Atkins
b6906bbcaa
feat(git): Resolve more forms of commit reference
...
Specifically, we previously didn't resolve short commit hashes into the
full ones.
These functions provide a single place to later add more ways of
selection a commit, such as `HEAD~1`.
2024-06-28 14:19:23 -04:00
Sam Atkins
60976b1ed6
feat(git): Format output closer to canonical git
...
Make some parts colored or bold, and indent commit messages.
2024-06-28 14:19:23 -04:00
Sam Atkins
955154468f
feat(git): Make git add
work for deleted files
...
Previously, this:
```sh
> rm deleted.txt
> git add deleted.txt
```
...would unhelpfully complain that deleted.txt cannot be found. Now, it
records the deleted file to the index, just as canonical git does.
2024-06-28 14:19:23 -04:00
Sam Atkins
057b3acf00
feat(git): Allow checking out a commit instead of a branch
2024-06-28 14:19:23 -04:00
Sam Atkins
2c9b1a3ffc
feat(git): Handle detached HEAD in git status
and git branch --list
2024-06-28 14:19:23 -04:00
Sam Atkins
d6dd1a5bb0
feat(git): Add --color and --no-color options
...
These allow the user to force color on or off. The chalk library is used
for the output, because it's already used elsewhere in Puter and seems
like a good choice.
Ideally, the default will be based on whether stdout is a tty, but Puter
doesn't yet have that concept, so we just default to color.
2024-06-28 14:19:23 -04:00
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
Sam Atkins
fa81dca950
feat(backend): Add tab completion to server console command arguments
...
A command can optionally define a `completer(args)` function. It takes
an array of strings for the current arguments, and returns an array of
completion results for the last argument.
Includes a few completers:
- alarm:info/clear/inspect completes the first argument as an alarm id
or short_id
- script:run completes the first argument as a script name
- params:get/set completes the first argument as a parameter name
2024-06-28 11:18:29 -04:00
Sam Atkins
e1e76c6be7
feat(backend): Add tab-completion to server console command names
2024-06-28 11:18:29 -04:00
KernelDeimos
ecb997885c
fix: bug introduced when refactoring /share to Sequence
2024-06-27 18:27:20 -04:00
KernelDeimos
2faaeaedb3
chore: add write request to kdmod
2024-06-27 18:27:20 -04:00
KernelDeimos
e9ee3191e9
doc: document group endpoints
2024-06-27 18:27:20 -04:00
KernelDeimos
c374b0cbca
feat: add group permission endpoints
2024-06-27 18:27:20 -04:00
KernelDeimos
4216346384
feat: add group management endpoints
2024-06-27 18:27:20 -04:00
KernelDeimos
00149402e0
feat: add user-group permission check
2024-06-27 18:27:20 -04:00
KernelDeimos
b817a78efa
sql: group permissions table
2024-06-27 18:27:20 -04:00
KernelDeimos
0ddb13e8ee
sql: group table
2024-06-27 18:27:20 -04:00
KernelDeimos
e132a203d1
refactor: move check-user-permission to Sequence
2024-06-27 18:27:20 -04:00
Nariman Jelveh
fbc02a5f62
Fix the issue with re-opening submenus using keyboard
2024-06-26 09:41:57 -07:00
Nariman Jelveh
8a763eab6f
fix multiple issues with ctx menu event delegation and keyboard navigation
2024-06-26 00:57:12 -07:00
KernelDeimos
b78c83a4ab
refactor: share endpoint
2024-06-25 16:59:50 -04:00
KernelDeimos
5551326c98
doc: add documentation for app shares
2024-06-24 20:13:40 -04:00
Sam Atkins
d81f6e5ede
chore: Mark globals as being part of the window object
...
Silences eslint
2024-06-24 19:15:02 -04:00
Sam Atkins
00765d0fce
chore: Add mods/
directory to eslint
2024-06-24 19:15:02 -04:00
KernelDeimos
9033f6f8c7
fix: update email share object
2024-06-24 19:12:21 -04:00
KernelDeimos
9751fd92a5
feat: add appdata permission (if applicable) on app share
2024-06-24 19:12:21 -04:00
KernelDeimos
13e2f72c9f
feat: add subdomain permission (if applicable) on app share
2024-06-24 19:12:21 -04:00
KernelDeimos
0cf90ee39a
fix: fix issues with apps in /share endpoint
2024-06-24 19:12:21 -04:00
Sam Atkins
46eb4ed2b9
fix: Throw an error when readdir is called on a non-directory
2024-06-24 19:08:56 -04:00
KernelDeimos
a136ee5edd
fix: oops
2024-06-24 14:05:08 -04:00
KernelDeimos
15465bfc50
fix: improve console experience on mac
2024-06-24 14:01:00 -04:00