NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
waterlin1 has joined #crystal-lang
havenwood has joined #crystal-lang
waterlink has quit [Ping timeout: 250 seconds]
fowlduck has joined #crystal-lang
waterlin1 has quit [Quit: leaving]
qard has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
qard has joined #crystal-lang
qard has quit [Client Quit]
qard has joined #crystal-lang
NeverDie has joined #crystal-lang
waj_ has quit [Read error: Connection reset by peer]
waj has joined #crystal-lang
kulelu88 has quit [Quit: Leaving]
fowlduck has quit [Remote host closed the connection]
fowlduck has joined #crystal-lang
waj has quit [Remote host closed the connection]
dylanmei has quit [Quit: ZZZzzz…]
dom96 has quit [Ping timeout: 246 seconds]
dom96 has joined #crystal-lang
havenwood has quit [Remote host closed the connection]
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
waj has joined #crystal-lang
waj has quit [Ping timeout: 264 seconds]
<crystal-gh>
[crystal] technorama opened pull request #1356: Use IO.pipe {} and remove redundant method from spec. (master...f/remove_with_pipe) http://git.io/vGygF
BlaXpirit has joined #crystal-lang
waj has joined #crystal-lang
trapped has joined #crystal-lang
waj has quit [Ping timeout: 265 seconds]
qard has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<crystal-gh>
[crystal] jhass pushed 2 new commits to master: http://git.io/vGyPr
<crystal-gh>
crystal/master fdfc04c Technorama Ltd: Use IO.pipe {} and remove redundant method from spec.
<crystal-gh>
crystal/master e0ba5ab Jonne Haß: Merge pull request #1356 from technorama/f/remove_with_pipe...
<jhass>
asterite: mind if I edit some bullet points into that issue? :P
<asterite>
jhass: ouch, I just realized I copied it from the rendered version
<asterite>
There :)
<jhass>
better <3
<jhass>
I'm not sure either how I feel about the _releases branch tbh
<asterite>
Yes, me neither. For now I just copied the text from the Roadmap. Maybe also fully descentralized isn't very good, not sure
<jhass>
well, we can do bower/npm or maybe luarocks
<jhass>
have a registry for names, support multiple registries, support full git URLs
<RX14>
well, git tags can have text, you can use git tags for package manager metadata
<jhass>
^ I actually just had the same idea, what about embedding metadata into a git tags annotation
* RX14
wonders why noboddy though of this before
<jhass>
question is whether we can fetch the annotation without fetching the associated object I guess
<RX14>
hmmn
<jhass>
yeah, git fetch -t fetches all the objects already :/
<RX14>
do we really need to optimise such stuff?
<RX14>
git repos are usually quite small
<RX14>
of course you would want to cache your clones somewhere, then check out versions from the local copy
<RX14>
and clone in parallel too
<jhass>
mmh, ls-remote --tags gets you the names and objects
<RX14>
oo
<jhass>
but the annotations are somewhere else :/
<RX14>
jhass, the refs/tags points to the tag meta
<RX14>
i think
<RX14>
so you can get that object only, and read it?
<jhass>
16:59 <jhass> how are tag annotations stored? is there any chance to read them from a remote repository without also fetching the worktree/any associated commit etc.?
<jhass>
16:59 <+_ikke_> They are tag blobs
<jhass>
17:00 <+_ikke_> so no, there is no way
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
<jhass>
so we gonna have to fetch the worktree of at least the latest version we're interested in, but we could lookup if that (and which others) version is even available prior
<jhass>
and then have the cumulative metadata in the main branch
NeverDie has joined #crystal-lang
<RX14>
once you have checked out the latest code, you're most likely to have 90% of the repository
<jhass>
we can do shallow bare clones
<jhass>
git clone --bare --depth=1
<jhass>
git --git-dir=... ls-remote --tags
<RX14>
mnn
<jhass>
git --git-dir=... fetch rev
<jhass>
git --git-dir=... --work-tree=... checkout rev or whatever it was to create a worktree somewhere
<RX14>
you would want to clone into something like ~/.crystal/deps/user/repo.git
<RX14>
then check out later
<RX14>
is it github-only?
<RX14>
or git-only?
<jhass>
at the end of the day the goal should be at least git
<jhass>
other VCSs once that's working
<jhass>
but I wouldn't rely on GH only in the design
<RX14>
we could optimise on github
<RX14>
so all git worked, but on github use the github API to get tags and stuff?
<jhass>
iirc latest git made it easier to work with distinct worktrees, even replaced contrib/worktree with something in core
<jhass>
mmh
<RX14>
yeah, but we would want a clone not a worktree
<jhass>
I'm saying we can maintain a central clone and checkout different worktrees referencing it in different projects
<crystal-gh>
[crystal] asterite pushed 7 new commits to master: http://git.io/vGHT1
<crystal-gh>
crystal/master 90e2fd0 Ary Borenszweig: Added macro methods for `case`, `when` and Assign
<crystal-gh>
crystal/master c739ec7 Ary Borenszweig: Added `ASTNode#raise` macro method so you can give error messages in a particular location (given by a node)
<crystal-gh>
crystal/master 79bf122 Ary Borenszweig: Docs: hide subclasses that shouldn't be shown
<RX14>
but afaik you can have only one worktree per ref
<RX14>
oh, one worktree per branch
<RX14>
refs n times
<jhass>
I wish ysbadddaden would hang out here more :P
<RX14>
jhass, but what about older git?
<RX14>
do we have to support that?
<RX14>
would we just doa clone then?
<jhass>
I'd tend to argue no :P
<RX14>
me too, i always have latest everything on arch
<jhass>
I guess easy fallback strategy would be full bare clone, yeah
<RX14>
clone from local disk is pretty fast though
<jhass>
and then full clone of that instead of checkout
<[spoiler]>
RX14: anyone who uses git will be a developer, so it's easy to assume they'll be competent enough to have an updated version
<RX14>
never make the assumption that developers are more competent using linux
<[spoiler]>
LOL
<RX14>
or doing anything outside of an IDE
<RX14>
i've seen some people...
<RX14>
great coders, but they only want to press the little run button in their IDE
<RX14>
everything else is unneccesary, they download jars by hand etc.
NeverDie has quit [Quit: I'm off to sleep. ZZZzzz…]
<RX14>
but that might just be java devs
<RX14>
there should be a nice crystal deps checkout command that checks out master into a folder
<RX14>
or maybe crystal contribute which checks out from cache then installs deps?
<dzv>
Is there a way to store Fiber local data? I'm trying to implement nested transaction do x, where ORM methods inside need the current transaction.
<jhass>
you could monkey patch Fiber and use Fiber.current, but meeh