Is it possible to edit source files while push is in progress? Why or why not?
You can. Push pushes commits, trees and blobs from the object database, not files.
Pull, on the other hand, not only fetches objects into object database but also updates files. So avoid editing while pulling.