Currently, if I make a change to my kernel source (I'm using a source in '.' in my case) then commit it, Snapcraft simply ignores the changes since it has pulled the source previously, printing 'Skipping pull kernel (already ran)'. I have to run 'snapcraft clean' in order to get it to pull the (local) source again. Snapcraft then goes on and redownloads 'os.snap', a 60MB file. On a fast connection, this is no problem. I'm on a slightly slower connection that also has a data cap, so this is a waste of both time and bits.
It seems like there are two ways to avoid this: Cache os.snap locally, or have Snapcraft run 'git pull' to grab source changes into its working directory. The second option seems better as it will behave similar to a non-snap build, where editing the source code has an immediate change.
@Dalton, I don't quite understand what your source is in this case. It initially says that it's in '.' but then suggests using `git pull` as a solution. Any chance your project is public so we can take a look? Even if you could just paste a snippet of your YAML for the kernel part that would be useful.