I am a fullstack developer capable of crafting applications with Golang, Springboot, Node JS and React. I have been working with web development technologies since 2015.
You can reach me on,
A web UI client for managing git repos on the go. Available for Windows, Linux and MacOS.
Home Page: https://gitconvex.com/
License: Apache License 2.0
Add react lazy loading for commit logs to optimize the scroll view in Repo details component
Currently the final bundle includes all selectors included in tailwind css. Purge the unused CSS selectors to optimize the final bundle size.
2020/11/18 10:41:10 INFO: Pulling changes from -> [email protected]:neel1996/gitconvex.git : refs/heads/v2.0.0
2020/11/18 10:41:10 ERROR: Authentication method failed -> error creating SSH agent: "SSH agent requested but Pageant not running"
The push to remote API module still has the grep
based filter in the command which is affecting windows compatibility
The current repo addition form will allow only to track an existing git repo or to initialize git within a normal directory.
A feature to clone a remote repo locally and track it on the go will be a neat add on to the platform
To include direct branch switching feature from repo details view instead of the repository action view
To create a logger module for logging every activity performed with activity
Feature to find the difference between two branches
2020/11/17 15:57:26 INFO: Pushing changes to remote -> github : refs/heads/master:refs/heads/master
runtime error: invalid memory address or nil pointer dereference
goroutine 304 [running]:
runtime/debug.Stack(0x1, 0x0, 0x0)
c:/go/src/runtime/debug/stack.go:24 +0xa5
runtime/debug.PrintStack()
c:/go/src/runtime/debug/stack.go:16 +0x29
github.com/99designs/gqlgen/graphql.DefaultRecover(0xedcc40, 0xc0001096e0, 0xd20da0, 0x12a64a0, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/recovery.go:16 +0xae
github.com/99designs/gqlgen/graphql.(*OperationContext).Recover(0xc0005f0800, 0xedcc40, 0xc0001096e0, 0xd20da0, 0x12a64a0, 0xaed90d, 0x1cd29a416e0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/context_operation.go:110 +0x5d
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_pushToRemote.func1(0xc00067ee00, 0xc00067ee80, 0xc0000a14e8)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:3182 +0x85
panic(0xd20da0, 0x12a64a0)
c:/go/src/runtime/panic.go:969 +0x1c7
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*PublicKeysCallback).ClientConfig(0x0, 0xc000174510, 0x0, 0x1cd29a40f70)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/auth_method.go:232 +0x2d
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*command).connect(0xc0005ac320, 0xed3780, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/common.go:113 +0x58
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*runner).Command(0xc000006618, 0xdf4886, 0x10, 0xc0003a4780, 0xed3780, 0x0, 0x2, 0x3, 0x0, 0xc0000b57a0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/common.go:52 +0x96
github.com/go-git/go-git/v5/plumbing/transport/internal/common.(*client).newSession(0xc0000f85e0, 0xdf4886, 0x10, 0xc0003a4780, 0xed3780, 0x0, 0x0, 0x0, 0xc0003a4780)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/internal/common/common.go:112 +0x90
github.com/go-git/go-git/v5/plumbing/transport/internal/common.(*client).NewReceivePackSession(0xc0000f85e0, 0xc0003a4780, 0xed3780, 0x0, 0xc0003a4780, 0x0, 0x0, 0xc0005bc260)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/internal/common/common.go:96 +0x69
github.com/go-git/go-git/v5.newSendPackSession(0xc00036c900, 0x2e, 0xed3780, 0x0, 0xd27940, 0x5d0920, 0xc0000a0f58, 0xc0005a2c18)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:387 +0xaa
github.com/go-git/go-git/v5.(*Remote).PushContext(0xc000315120, 0xedcbc0, 0xc00002c0c0, 0xc0000a1208, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:105 +0x1fb
github.com/go-git/go-git/v5.(*Remote).Push(...)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:87
github.com/neel1996/gitconvex-server/git.PushToRemote(0xc000174090, 0xc00025e480, 0x6, 0xc00039008a, 0x6, 0x58417d, 0xdeb24f)
C:/Users/SVNPC/Desktop/js/gitconvex/git/git_push.go:26 +0x366
github.com/neel1996/gitconvex-server/graph.(*mutationResolver).PushToRemote(0xc000326100, 0xedcc40, 0xc0001096e0, 0xc000390038, 0x8, 0xc000390050, 0x2e, 0xc00039008a, 0x6, 0xc000109740, ...)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/schema.resolvers.go:113 +0x14a
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_pushToRemote.func2(0xedcc40, 0xc0001096e0, 0x20, 0xd81700, 0xc00067ef01, 0xc0003209c0)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:3204 +0x222
github.com/99designs/gqlgen/graphql/executor.processExtensions.func3(0xedcc40, 0xc0001096e0, 0xc0003209c0, 0xc000109710, 0xc000109740, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/extensions.go:62 +0x42
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_pushToRemote(0xc00067ee00, 0xedcc40, 0xc0001096b0, 0xc000664300, 0x0, 0x0, 0x0, 0x0, 0x0)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:3202 +0x2d2
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation(0xc00067ee00, 0xedcc40, 0xc0001096b0, 0xc0005bc0d0, 0x1, 0x1, 0xc000109680, 0x30)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:6214 +0x9cf
github.com/neel1996/gitconvex-server/graph/generated.(*executableSchema).Exec.func2(0xedcc40, 0xc000109680, 0x10)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:935 +0x85
github.com/99designs/gqlgen/graphql/executor.(*Executor).DispatchOperation.func1.1.1(0xedcc40, 0xc000109680, 0xc00067ee40)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/executor.go:105 +0x4a
github.com/99designs/gqlgen/graphql/executor.processExtensions.func2(0xedcc40, 0xc000109680, 0xc00067ee40, 0xebba90)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/extensions.go:59 +0x42
github.com/99designs/gqlgen/graphql/executor.(*Executor).DispatchOperation.func1.1(0xedcc40, 0xc000109620, 0xc0001095f0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/executor.go:104 +0x131
github.com/99designs/gqlgen/graphql/handler/transport.POST.Do(0xedad80, 0xc0000ee000, 0xc0005f0700, 0xed92c0, 0xc0000debd0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/handler/transport/http_post.go:53 +0x3c8
github.com/99designs/gqlgen/graphql/handler.(*Server).ServeHTTP(0xc000225c00, 0xedad80, 0xc0000ee000, 0xc0005f0700)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/handler/server.go:115 +0x21b
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0002c4600, 0xedad80, 0xc0000ee000, 0xc0005f0000)
C:/Users/SVNPC/go/pkg/mod/github.com/gorilla/[email protected]/mux.go:210 +0xe5
github.com/rs/cors.(*Cors).Handler.func1(0xedad80, 0xc0000ee000, 0xc0005f0000)
C:/Users/SVNPC/go/pkg/mod/github.com/rs/[email protected]/cors.go:219 +0x1c6
net/http.HandlerFunc.ServeHTTP(0xc000225d80, 0xedad80, 0xc0000ee000, 0xc0005f0000)
c:/go/src/net/http/server.go:2042 +0x4b
net/http.serverHandler.ServeHTTP(0xc0000ee1c0, 0xedad80, 0xc0000ee000, 0xc0005f0000)
c:/go/src/net/http/server.go:2843 +0xaa
net/http.(*conn).serve(0xc000086000, 0xedcb80, 0xc0002c2740)
c:/go/src/net/http/server.go:1925 +0x8ad
created by net/http.(*Server).Serve
c:/go/src/net/http/server.go:2969 +0x36d
Rewrite the entire backend in go for removing dependency Node runtime and increased efficiency
{ }
{gitconve-user [email protected]}
2020/11/16 14:24:59 INFO: Commiting changes with author -> Nageswari
2020/11/16 14:24:59 ERROR: Error occurred while committing changes -> rename C:\Users\SVNPC\Desktop\js\vanilla_js\sudoku\.git\objects\pack\tmp_obj_398492950 C:\Users\SVNPC\Desktop\js\vanilla_js\sudoku\.git\objects\14\ab3de375532283b8f5514d79e78f650bfea869: Access is denied.
Update the current documentation to include the new features added to the platform
Error occurs when comparing a commit that has large number of files.
Api Route : COMMIT_LOGS
API Payload : {"repoId":"1601126450796","skipLimit":0}
Api Route : COMMIT_COMPARE
API Payload : {"repoId":"1601126450796","baseCommit":"223fc0d","compareCommit":"301db78"}
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your diff.renameLimit variable to at least 2759 and retry the command.
{ message: 'Error occurred while fetching commit difference' }
Failed to load the branch compare and commit compare when switched to the another repo.
Repo with only one branch displays "Loading Branch Info"
To include a feature to display both remote and local branches in repo details view
2020/11/29 19:18:52 WARNING: Remote fetch failed -> error creating SSH agent: "SSH agent requested but Pageant not running"
2020/11/16 14:04:53 INFO: Fetching changes from -> : refs/heads/:refs/remotes/
runtime error: invalid memory address or nil pointer dereference
goroutine 194 [running]:
runtime/debug.Stack(0x1, 0x0, 0x0)
c:/go/src/runtime/debug/stack.go:24 +0xa5
runtime/debug.PrintStack()
c:/go/src/runtime/debug/stack.go:16 +0x29
github.com/99designs/gqlgen/graphql.DefaultRecover(0x14f3c00, 0xc004020390, 0x1339b00, 0x18ba420, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/recovery.go:16 +0xae
github.com/99designs/gqlgen/graphql.(*OperationContext).Recover(0xc00015c500, 0x14f3c00, 0xc004020390, 0x1339b00, 0x18ba420, 0x8000, 0x2c18b271500)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/context_operation.go:110 +0x5d
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_fetchFromRemote.func1(0xc0047780c0, 0xc0047780f0, 0xc008a234e8)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:2888 +0x85
panic(0x1339b00, 0x18ba420)
c:/go/src/runtime/panic.go:969 +0x1c7
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*PublicKeysCallback).ClientConfig(0x0, 0xc004020900, 0x0, 0x2c1b27b5e38)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/auth_method.go:232 +0x2d
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*command).connect(0xc002a701e0, 0x14ea7c0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/common.go:113 +0x58
github.com/go-git/go-git/v5/plumbing/transport/ssh.(*runner).Command(0xc000006610, 0x140b48d, 0xf, 0xc007bf23c0, 0x14ea7c0, 0x0, 0x2, 0x3, 0x0, 0xc0001339e0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/ssh/common.go:52 +0x96
github.com/go-git/go-git/v5/plumbing/transport/internal/common.(*client).newSession(0xc0001785b0, 0x140b48d, 0xf, 0xc007bf23c0, 0x14ea7c0, 0x0, 0x0, 0x0, 0xc007bf23c0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/internal/common/common.go:112 +0x90
github.com/go-git/go-git/v5/plumbing/transport/internal/common.(*client).NewUploadPackSession(0xc0001785b0, 0xc007bf23c0, 0x14ea7c0, 0x0, 0xc007bf23c0, 0x0, 0x0, 0x2c1b27aaa10)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/plumbing/transport/internal/common/common.go:89 +0x69
github.com/go-git/go-git/v5.newUploadPackSession(0xc00002ed50, 0x25, 0x14ea7c0, 0x0, 0x0, 0x6, 0x304df76f01, 0xc004772580)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:378 +0xaa
github.com/go-git/go-git/v5.(*Remote).fetch(0xc004772740, 0x14f3b80, 0xc00002a0c0, 0xc008a231d8, 0x0, 0x0, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:312 +0x150
github.com/go-git/go-git/v5.(*Remote).FetchContext(...)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/remote.go:286
github.com/go-git/go-git/v5.(*Repository).FetchContext(0xc0040205a0, 0x14f3b80, 0xc00002a0c0, 0xc008a231d8, 0xc0040207b0, 0xc002a0a280)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/repository.go:1114 +0xc5
github.com/go-git/go-git/v5.(*Repository).Fetch(...)
C:/Users/SVNPC/go/pkg/mod/github.com/go-git/go-git/[email protected]/repository.go:1092
github.com/neel1996/gitconvex-server/git.FetchFromRemote(0xc0040205a0, 0x0, 0x0, 0x0, 0x0, 0xb9e8df)
C:/Users/SVNPC/Desktop/js/gitconvex/git/git_fetch.go:39 +0x32b
github.com/neel1996/gitconvex-server/graph.(*mutationResolver).FetchFromRemote(0xc00008c040, 0x14f3c00, 0xc004020390, 0xc0086a85ae, 0x8, 0xc004778140, 0xc004778160, 0x20, 0x20, 0x2c18b271500)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/schema.resolvers.go:59 +0x11c
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_fetchFromRemote.func2(0x14f3c00, 0xc004020390, 0x20, 0x1399c00, 0xc004778101, 0xc004772140)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:2910 +0x1f6
github.com/99designs/gqlgen/graphql/executor.processExtensions.func3(0x14f3c00, 0xc004020390, 0xc004772140, 0xc0040203c0, 0xc0040203f0, 0x0, 0x0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/extensions.go:62 +0x42
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation_fetchFromRemote(0xc0047780c0, 0x14f3c00, 0xc004020360, 0xc008926300, 0xc0047720c0, 0x2, 0x2, 0x0, 0x0)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:2908 +0x2c5
github.com/neel1996/gitconvex-server/graph/generated.(*executionContext)._Mutation(0xc0047780c0, 0x14f3c00, 0xc004020360, 0xc0089fc280, 0x1, 0x1, 0xc004020330, 0x30)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:6214 +0xff8
github.com/neel1996/gitconvex-server/graph/generated.(*executableSchema).Exec.func2(0x14f3c00, 0xc004020330, 0x10)
C:/Users/SVNPC/Desktop/js/gitconvex/graph/generated/generated.go:943 +0x85
github.com/99designs/gqlgen/graphql/executor.(*Executor).DispatchOperation.func1.1.1(0x14f3c00, 0xc004020330, 0xc0047780d0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/executor.go:105 +0x4a
github.com/99designs/gqlgen/graphql/executor.processExtensions.func2(0x14f3c00, 0xc004020330, 0xc0047780d0, 0x14d2e20)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/extensions.go:59 +0x42
github.com/99designs/gqlgen/graphql/executor.(*Executor).DispatchOperation.func1.1(0x14f3c00, 0xc004020240, 0xc004020210)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/executor/executor.go:104 +0x131
github.com/99designs/gqlgen/graphql/handler/transport.POST.Do(0x14f1dc0, 0xc000008000, 0xc00015c400, 0x14f0300, 0xc00015ebd0)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/handler/transport/http_post.go:53 +0x3c8
github.com/99designs/gqlgen/graphql/handler.(*Server).ServeHTTP(0xc000229be0, 0x14f1dc0, 0xc000008000, 0xc00015c400)
C:/Users/SVNPC/go/pkg/mod/github.com/99designs/[email protected]/graphql/handler/server.go:115 +0x21b
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0002c6600, 0x14f1dc0, 0xc000008000, 0xc00015c100)
C:/Users/SVNPC/go/pkg/mod/github.com/gorilla/[email protected]/mux.go:210 +0xe5
github.com/rs/cors.(*Cors).Handler.func1(0x14f1dc0, 0xc000008000, 0xc00015c100)
C:/Users/SVNPC/go/pkg/mod/github.com/rs/[email protected]/cors.go:219 +0x1c6
net/http.HandlerFunc.ServeHTTP(0xc000229d60, 0x14f1dc0, 0xc000008000, 0xc00015c100)
c:/go/src/net/http/server.go:2042 +0x4b
net/http.serverHandler.ServeHTTP(0xc00016a1c0, 0x14f1dc0, 0xc000008000, 0xc00015c100)
c:/go/src/net/http/server.go:2843 +0xaa
net/http.(*conn).serve(0xc004ea80a0, 0x14f3b40, 0xc0029d4000)
c:/go/src/net/http/server.go:1925 +0x8ad
created by net/http.(*Server).Serve
c:/go/src/net/http/server.go:2969 +0x36d
Including branch merge feature to gitconvex
Add an input validator to check all the inputs which are supplied to the git API modules to avoid potential arbitrary code execution
As the package requires both UI and server module to be up at the same time for thorough testing, it can be covered only within the package actions. Should cook up a puppeteer test script for end to end testing.
The script needs to be added to the github actions pipeline
2020/11/20 17:46:23 INFO: Collecting repo status information
2020/11/20 17:46:23 INFO: Available remotes in repo :
[0xc0007e8530]
2020/11/20 17:46:23 INFO: Current branch checked out to -> master
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0xb16e03]
goroutine 489 [running]:
github.com/neel1996/gitconvex-server/git.GetBranchList(0xc000089680, 0xc000f0d260)
C:/Users/SVNPC/Desktop/GitConvex/gitconvex_v2.0.0/gitconvex/git/git_branch_list.go:48 +0x503
created by github.com/neel1996/gitconvex-server/api.RepoStatus
C:/Users/SVNPC/Desktop/GitConvex/gitconvex_v2.0.0/gitconvex/api/repo_status.go:74 +0x5cf
Due to npm relative path conflict, gitconvex is failing to run as a global command line module.
The README documentation is outdated and it needs to cover details related to the package setup for different platform
{
"id": "c28ebcec",
"repoName": "Testing",
"repoPath": "C:\\Users\\SVNPC\\Desktop\\js\\vanilla_js\\testing",
"timestamp": "2020-11-16 13:58:53.0060524 +0530 IST m=+11849.732890401"
}
]
2020/11/16 14:01:22 INFO: Collecting repo status information
2020/11/16 14:01:22 INFO: Collecting repo status information
2020/11/16 14:01:22 INFO: Available remotes in repo :
[0xc0003964c0]
2020/11/16 14:01:22 INFO: Available remotes in repo :
[0xc000065af0]
2020/11/16 14:01:22 INFO: Collecting repo status information
2020/11/16 14:01:22 INFO: Collecting repo status information
2020/11/16 14:01:22 INFO: Available remotes in repo :
[0xc0002d8560]
2020/11/16 14:01:22 INFO: Available remotes in repo :
[]
panic: runtime error: index out of range [0] with length 0
goroutine 37 [running]:
github.com/neel1996/gitconvex-server/git.RemoteData(0xc000109f50, 0xc00012c120)
C:/Users/SVNPC/Desktop/js/gitconvex/git/git_remote_data.go:49 +0x1dc
created by github.com/neel1996/gitconvex-server/api.RepoStatus
C:/Users/SVNPC/Desktop/js/gitconvex/api/repo_status.go:29 +0x255
When gitconvex is started from the globally installed npm module, the app crashes looking for the database directory.
The package size of the npm package is over 140MB
Currently only branch and remote creation are supported. The reversal of this action needs to be included to the platform.
To add a search option within commit logs view to look up for commits based on hash or commit message
An option within help section to check for gitconvex updates
A git graph based log view for all the commits to visualize the flow of commits
After port update from the Settings menu, the front end is not picking up the update due to the hard coded port value and keeps listening to the default 9001 port.
The commit log cards displayed in the repo details view is currently not compact and displays info in a scattered way. This needs to be fixed to make it more compact and focused
2020/11/20 17:54:07 ERROR: Authentication method failed -> error creating SSH agent: "SSH agent requested but Pageant not running"
2020/11/20 17:54:07 WARNING: Retrying fetch with fallback module using git client
2020/11/20 17:54:07 INFO: Git is accessible from the commandline --> C:\Program Files\Git\mingw64\bin\git.exe
2020/11/20 17:54:07 INFO: Command --> C:\Program Files\Git\mingw64\bin\git.exe -C C:\Users\SVNPC\Desktop\GitConvex\gitconvex_v2.0.0\gitconvex fetch
2020/11/20 17:54:07 ERROR: Fetch failed -> exit status 128
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.