jutah has quit [Quit: Connection closed for inactivity]
VitamineD has quit [Read error: Connection reset by peer]
FunkyPenguin has quit [Ping timeout: 245 seconds]
FunkyPenguin has joined #nanoc
louquillio_ has quit [Remote host closed the connection]
louquillio_ has joined #nanoc
jugglinmike has quit [Quit: Leaving.]
alerante has quit [Remote host closed the connection]
alerante has joined #nanoc
alerante has quit [Ping timeout: 245 seconds]
FunkyPenguin has quit [Ping timeout: 265 seconds]
FunkyPenguin has joined #nanoc
FunkyPenguin has quit [Ping timeout: 265 seconds]
FunkyPenguin has joined #nanoc
alerante has joined #nanoc
alerante has quit [Ping timeout: 265 seconds]
relix has joined #nanoc
<
travis-ci>
[travis-ci] nanoc/nanoc/release-3.6.x 14ceafc Denis Defreyne: The build has errored.
<
travis-ci>
[travis-ci] nanoc/nanoc/release-3.6.x 43c2751 Denis Defreyne: The build passed.
FunkyPenguin has quit [Ping timeout: 240 seconds]
FunkyPenguin has joined #nanoc
VitamineD has joined #nanoc
alerante has joined #nanoc
alerante has quit [Ping timeout: 240 seconds]
FunkyPenguin has quit [Ping timeout: 240 seconds]
FunkyPenguin has joined #nanoc
<
travis-ci>
[travis-ci] nanoc/nanoc/checksummer eb287b7 Denis Defreyne: The build failed.
relix has quit [Ping timeout: 245 seconds]
<
travis-ci>
[travis-ci] nanoc/nanoc/checksummer d2cea67 Denis Defreyne: The build failed.
relix has joined #nanoc
<
ddfreyne>
Another PR to review:
<
guardian>
can you hear this?
<
guardian>
it's the sweet sound of PRs being merged!
<
travis-ci>
[travis-ci] nanoc/nanoc/checksummer 1cdc154 Denis Defreyne: The build was fixed.
<
travis-ci>
[travis-ci] nanoc/nanoc/checksummer 71278e9 Denis Defreyne: The build passed.
alerante has joined #nanoc
alerante has quit [Ping timeout: 276 seconds]
<
guardian>
ddfreyne: Checksummer is for 3.7?
<
travis-ci>
[travis-ci] nanoc/nanoc/checksummer 20d8151 Denis Defreyne: The build passed.
<
travis-ci>
[travis-ci] nanoc/nanoc/release-3.6.x 5ab3f08 Denis Defreyne: The build passed.
alerante has joined #nanoc
relix has quit [Read error: Connection reset by peer]
relix has joined #nanoc
jutah has joined #nanoc
VitamineD has quit [Quit: Computer has gone to sleep.]
<
ddfreyne>
guardian: 3.6.x
VitamineD has joined #nanoc
<
ddfreyne>
It's not a feature, but rather an enhancement/bugfix
jugglinmike has joined #nanoc
<
travis-ci>
[travis-ci] nanoc/nanoc/master c942fab Denis Defreyne: The build failed.
<
jugglinmike>
Good afternoon, ddfreyne! I'm back on the case
<
jugglinmike>
Quick update
<
jugglinmike>
$ nanoc show-data | grep "is outdated" | wc -l
<
jugglinmike>
^ that prints "1"
<
jugglinmike>
well, it does
<
jugglinmike>
but more specifically
<
jugglinmike>
$ rm -rf ./tmp && nanoc compile && nanoc show-data | grep "is outdated" | wc -l
<
jugglinmike>
^ that also prints "1"
<
jugglinmike>
the subsequent recompile triggers other things to appear outdated
<
jugglinmike>
and that cascades, so that by the fourth `nanoc compile`, a lot of stuff is being needless compiled
<
jugglinmike>
needlessly*
<
jugglinmike>
here's the dependency information for that one item that is initially considered "outdated":
<
jugglinmike>
item /education/tracks/ depends on:
<
jugglinmike>
( removed item )
<
jugglinmike>
[ layout ] /header/
<
jugglinmike>
[ layout ] /footer/
<
jugglinmike>
...so I'm now figuring out what that means, exactly
<
jugglinmike>
but I'll have to keep digging to learn what got removed and why
<
ddfreyne>
jugglinmike: Hmmm, weird. This is your VPS setup, right?
<
jugglinmike>
ddfreyne: I am seeing this locally
<
ddfreyne>
jugglinmike: Are you doing anything in the preprocess block that generates items?
<
guardian>
jugglinmike: are you using compass?
<
jugglinmike>
ddfreyne: Yes: I am creating "category" items for blog posts
<
jugglinmike>
guardian: Nope
<
guardian>
ddfreyne: ok
<
jugglinmike>
I'm thinking maybe `add_edge` is called with a `nil` `to` value during the compilation process?
<
jugglinmike>
although that seems wrong.
<
jugglinmike>
Confirmed that is not happening :)
<
ddfreyne>
jugglinmike: sec
<
ddfreyne>
jugglinmike: dependency tracker, search for @objects.find { |obj| reference == obj.reference }
<
ddfreyne>
It is in #data=
<
ddfreyne>
jugglinmike: Quite likely, no object can be found with that given reference
<
ddfreyne>
jugglinmike: If the #find call returns nil, print the reference (be sure to return nil still)
<
jugglinmike>
ddfreyne: got it
<
ddfreyne>
That will give you the reference to the object that is no longer available
<
ddfreyne>
(reference is something like [:item, '/foo/'], i.e. identifying information about the object)
<
jugglinmike>
(sorry ddfreyne I must be doing something dumb because I don't see that codepath being executed at all. still debugging though)
<
ddfreyne>
jugglinmike: Which line speciically?
<
jugglinmike>
actually scratch that, I'm just not really good at debugging
<
jugglinmike>
ddfreyne: `puts reference` seems to be throwing?
<
jugglinmike>
also wrong
<
jugglinmike>
It's empty
<
ddfreyne>
jugglinmike: You probably want puts reference.inspect
<
ddfreyne>
jugglinmike: The reference is nil you mean?
<
jugglinmike>
hehe, I meant it was the empty string, but I took your advice and can now confirm that the reference is nil
<
ddfreyne>
Oh wow, weird.
<
jugglinmike>
So now I guess I have to go up a level--find out what's setting data on the dependency tracker
<
ddfreyne>
#data= is beign called with parsed data from tmp/ directly
<
ddfreyne>
So I imagine the next step is to inspect the place where the data is written to tmp/, which is in #data (as opposed to #data=)
<
ddfreyne>
:vertices => @graph.vertices.map { |obj| obj && obj.reference }
<
ddfreyne>
My guess there is a graph vertex that is nil
<
ddfreyne>
That totally makes sense and is intentional.
<
ddfreyne>
The nil vertex is used as a placeholder for removed objects, and it is always there
<
jugglinmike>
hmm, okay
<
ddfreyne>
(Confusingly)
<
jugglinmike>
So now I need to figure out what it is a placeholder for
<
ddfreyne>
So there will always be one nil reference
<
ddfreyne>
jugglinmike: Well, there should be a reference that is
*not* nil, but has no corresponding object
<
jugglinmike>
(I wonder if it would make sense to create a tiny `RemovedItem` class that you check for, in order to make that intention more explicit)
<
ddfreyne>
jugglinmike: Yeah, it does make sense… it is something I will tackle in nanoc 4
<
jugglinmike>
ddfreyne: In other words, if `objects.find` returns an array of length 0?
<
jugglinmike>
no, find returns the first match
<
ddfreyne>
jugglinmike: #find returns nil or the first match, #select returns all
<
jugglinmike>
ddfreyne: ok in `#data`, @graph.verticies has 1 nil object
<
jugglinmike>
during `rm -rf ./tmp && nanoc compile`
<
jugglinmike>
but I think I just confirmed what you explained above
<
ddfreyne>
jugglinmike: What about show-data afterwards?
<
jugglinmike>
ddfreyne: nothing
<
jugglinmike>
But it was my understanding that `show-data` wouldn't set data, since it doesn't change the state of /tmp
<
ddfreyne>
jugglinmike: I believe after the first compile, the data in tmp/ is wrong
<
jugglinmike>
hmm, okay. How might it be wrong?
<
jugglinmike>
It looks like there's only the one (expected) nil vertice
<
ddfreyne>
jugglinmike: Yeah, I think we're on the wrong path…
<
ddfreyne>
OK, I am out of ideas.
<
ddfreyne>
jugglinmike: I'd need access to your source
<
jugglinmike>
ddfreyne: I think that should be fine. let me just run it by a coworker
alerante has quit [Remote host closed the connection]
alerante has joined #nanoc
<
jugglinmike>
I'm on the `fix-compilation` branch
<
jugglinmike>
(brace yourself; it's very messy)
alerante has quit [Ping timeout: 246 seconds]
alerante has joined #nanoc
alerante has quit [Ping timeout: 255 seconds]
relix_ has joined #nanoc
relix_ has quit [Max SendQ exceeded]
relix_ has joined #nanoc
relix has quit [Ping timeout: 255 seconds]
relix_ has quit [Read error: Connection reset by peer]
relix has joined #nanoc
<
jugglinmike>
ddfreyne: I think I got it. Working on a reduced test case now
alerante has joined #nanoc
alerante has quit [Ping timeout: 265 seconds]
<
ddfreyne>
jugglinmike: OK, cool
relix has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<
guardian>
jugglinmike: privat repo?
<
jugglinmike>
guardian: yup. I solved the problem though
<
jugglinmike>
I think
<
guardian>
what was the problem?
<
jugglinmike>
guardian: See the pull request
<
guardian>
I'll have a look
alerante has joined #nanoc
alerante has quit [Ping timeout: 246 seconds]
louquillio_ has quit [Remote host closed the connection]
alerante has joined #nanoc
alerante has quit [Ping timeout: 240 seconds]