e78725f
Smart HTTP Git transport & partial clones (#291) (#332)
Click to expand commit body
* refactor: tidy up server git
use git services to implement handling git server commands
pass config to git as environment variables
* feat(git): enable partial clones
* feat(server): use smart http git backend
This implements the smart http git protocol which also supports
git-receive-pack service.
* Add commit command
* fix bad refactor
* fix: actually support the color flag
* Squashed commit of the following:
commit 814ee9f8fa7014dd4fafab12974e2edd4b8f7d73
Author: Andy Lu <luandy64@gmail.com>
Date: Fri Jun 30 23:07:49 2023 -0400
Run gofmt
commit 3db029502c74461b57e776a0ebc9d27c944acc5d
Author: Andy Lu <luandy64@gmail.com>
Date: Fri Jun 30 23:06:31 2023 -0400
Pull out statsLine and diffLine, add a commit body line
commit eb1da4296e0181bae842622e0dc98ca8ca845049
Author: Andy Lu <luandy64@gmail.com>
Date: Fri Jun 30 23:05:36 2023 -0400
Add flag for printing the patch only
commit e76702e92b085f02427aae1c7052f235454242fd
Author: Andy Lu <luandy64@gmail.com>
Date: Fri Jun 30 22:50:55 2023 -0400
Add commit, author, date, and stats
commit 0359b1dc49417d11f8f8b8529f8b942417d79128
Author: Andy Lu <luandy64@gmail.com>
Date: Fri Jun 30 21:43:35 2023 -0400
Add commit, author, date, and stats
Missing color on stats
* Whitespace cleanup
* test: more cmd tests
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: repo delete
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: playing with testscript
* fix: multiple servers
* fix: -update flag
* test: user management tests
* test: fix config
* fix: ensure perms after clone
* fix: race condition
* fix: shutdown
* test: set-username
* test: repo collab
* test: repo mirror and other ops
* test: import repo
* test: repo create
* test: disable hooks on testscript
* test: random port: prevent port reuse
* test: wait for server
* fix: git with no user info
* test: no idea whats going on on windows
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: create keys on runtime
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* chore: organizing repo
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: remove if for windows
* Revert "fix: remove if for windows"
This reverts commit 5776fde194d675d25336967e5f89c8fd9a5e7b4f.
* chore: trying something out
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* refactor: use crypto/ssh instead of ssh binary
* fix: neg only the actual cmd
* fix: unix2dos on windows tests
* fix: unix2dos
* fix: skip hooks on tests
* fix: trainling whitespace
* chore: editorconfig and gitattributes
* test: maybe its not really needed?
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* Revert "test: maybe its not really needed?"
This reverts commit a704c5fbf17dad7bd34646950074b125a093ae31.
* fix: improve \r\n handling
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: crlf
* chore: trigger
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: disable unix2docs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* test: validate repo
* chore: debug
* fix(test): convert dos crlf to lf (#311)
* fix(test): convert dos crlf to lf
* use temp files
* chore: log
* fix: ssh config
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: config
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix(ci): use build workflow from main
* fix: editorconfig
* fix: editorconfig
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* feat(test): add SanitizeRepo tests
* fix(test): sanitizerepo test
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
* fix(log): respect log config
Parse log config
fix(git): ensure os envs are present
feat: set the default time format to dateTime
fix(log): change update mirror log message into debug
fix(config): rename log config struct
fix(config): always return cfg
* perf: update mirrors in a workpool (#285)
* perf: update mirrors in a workqueue
Implement a simple chunked workqueue to queue updating mirrors. We use
the number of cpus to calculate the number of workers to distribute the
work to.
* fix: use automaxprocs
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: set maxprocs in main
* feat(wp): use a workpool impl
Use semaphores to implement a workpool of n workers
and use that to run the mirroring job
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix(backend): wrap i/o operations in transactions
when i/o errors, transaction rolls back
* fix(lint): inefficient assignment
* fix(ui): respect log settings
* fix(ui): truncate command string after yanking
* fix(git): make sure to use system git config in diff
* fix(ui): move support goto top/bottom in viewport
Ayman Bagabas
created
1420502
fix(backend): wrap i/o operations in transactions (#278)
Click to expand commit body
* fix(backend): wrap i/o operations in transactions
when i/o errors, transaction rolls back
* fix(lint): inefficient assignment
Ayman Bagabas
created
c1d62b5
fix: set CI=1 in Dockerfile as a workaround (#284)
Carlos Alexandro Becker
created
5580b5b
fix(backend): cache repos in memory (#274)
Click to expand commit body
* fix(backend): cache repos in memory using lru
Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
* fix(backend): use mutex instead of rwmutex
---------
Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
* fix: log with datetime
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
* fix: make it customizable
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
---------
Signed-off-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Carlos Alexandro Becker
created
8855f56
feat(deps): bump golang.org/x/crypto from 0.8.0 to 0.9.0