Hi,
Dankrad and i have build an index of (almost) all public available/visible nim
git repositories and cloned the latest commits into a flat file structure. It
consists of about 1500 Git repos compressed into one single file.
This comes in handy when you are offline and want to lookup or grep through nim
code, or just want to explore the nim ecosystem.
The folder structure looks like so:
[...]
drwxr-xr-x 3 z z 4096 Aug 20 05:48 asynchttp__tulayang__41775260/
drwxr-xr-x 6 z z 4096 Aug 20 05:49 asyncmysql__tulayang__96606802/
drwxr-xr-x 5 z z 4096 Aug 20 05:17 asyncpg__cheatfate__62013761/
drwxr-xr-x 4 z z 4096 Aug 20 05:36 asyncredis__SSPkrolik__60104639/
drwxr-xr-x 5 z z 4096 Aug 20 06:32 asyncstreams__vegansk__66549671/
drwxr-xr-x 6 z z 4096 Aug 20 05:23 asynctools__cheatfate__68193970/
drwxr-xr-x 5 z z 4096 Aug 20 06:32 attano__k12a-cpu__59951809/
drwxr-xr-x 3 z z 4096 Aug 20 06:23 authserver__rgv151__61176253/
drwxr-xr-x 3 z z 4096 Aug 20 05:49 authserver__runvnc__18746970/
drwxr-xr-x 3 z z 4096 Aug 20 05:41 AutoCommit__pabloogc__73094817/
drwxr-xr-x 4 z z 4096 Aug 20 05:23 autome__miere43__62836170/
drwxr-xr-x 3 z z 4096 Aug 20 06:24 autonomic__rskew__100492444/
drwxr-xr-x 5 z z 4096 Aug 20 05:19 awk__greencardamom__57229375/
[...]
* where $reponame__$owner__$githubid
* every folder is a git repository so you can cd into it and git pull.
We also have build a little tool called mgit
([https://github.com/enthus1ast/nimMultiGit](https://github.com/enthus1ast/nimMultiGit))
("multi git") which let you do the following:
# since we store the username this works:
z@z ~/n/repos> mgit "*Araq*"
R: nimedit__Araq__80336917
R: lexim__Araq__33143791
R: libcurl__Araq__41120819
R: nawabs__Araq__71706837
R: sphinx__Araq__40964451
R: wxnim__Araq__38682357
z@z ~/n/repos> mgit "*Araq*" log
[...]
################################################################################
########################### nawabs__Araq__71706837
###########################
################################################################################
log
commit 66be691045d792aa2db28de4f0e40c28c50d96f8
Author: Andreas Rumpf <[email protected]>
Date: Thu May 11 16:57:45 2017 +0200
attempt to make nawabs work with choosenim
################################################################################
########################### sphinx__Araq__40964451
###########################
################################################################################
log
commit 629c5e1a4a468c5752e02d94734c05422b8a9c44
Author: Araq <[email protected]>
Date: Tue Aug 18 12:00:12 2015 +0200
initial commit
################################################################################
########################### wxnim__Araq__38682357
############################
################################################################################
log
commit 86d4bfc7af539b57097086ea707312054f8fa5df
Author: Araq <[email protected]>
Date: Sun Aug 2 16:41:43 2015 +0200
cleaned up examples; added missing files; fixes #1
z@z ~/n/repos> mgit "*Araq*" log
[...]
\--- mgit help
z@z ~> mgit
mgit filePattern command
filepattern is like:
*
nim*
command is like:
status
commit -m "wip $REPO"
variables in command:
$REPO points to the actual repository name (withouth path)
$TIMESTAMP gives an unix timestamp
...
build it with nim c mgit.nim, then put it on your path.
# with git
since these are git repositories and mgit can "bulk execute your git commands"
this should update all packages:
mgit "*" pull
pull for eg all dom96 packages (since we know he build cool stuff):
mgit "*dom96*" pull
mgit "*dom96*" log
# or download new package
we've planned to update this nimOfflinePack once in a while and add new
projects. If we think there is enough new stuff, we'll build a new index.
# Download
* [http://code0.xyz/stuff/repos.7z](http://code0.xyz/stuff/repos.7z) (about
~1500 Nim repos ~1.5gb)
*
[https://github.com/enthus1ast/nimOfflinePack](https://github.com/enthus1ast/nimOfflinePack)
(the github repo)
| sha1 |a04721f403f347dd7e61255eb40ff710b4b9d07e repos.7z|
| sha256
|0b30bb61c80a38af33c32f7676610e8a33ddbd956e0c8287d96c7e63aa0750d6 repos.7z|
this repo contains the cralwer and the downloader which helped to construct
these packages. Please be polite in useing it. (We try to always are because we
want to construct not destory right?!) Since this is such a noisy process we
recommend that you download our compressed package.
# IDEAS/TODOS
* [] Make this nimble/nim importable somehow
* [] Prebuild html index?
* [] Update?