Closed davem2 closed 10 years ago
Dave, is "Using git during PP #15" an issue I should be closing? Seems like the goal should be getting the number of "issues" to zero. Should that be in the ppgen wiki either on DP or on GitHub rather than being an open issue? Thanks.
Closing it is fine, Walt and Nigel were asking about my workflow and the advantages to using it and this is the closest thing github has to a discussion thread.
The biggest advantage to using git (or any version control) during PPing is the ability to save multiple snapshots of the project. Yes, this can be done by saving a copy under a different name, but this kind of thing is what version control was made to replace.
The one advantage saving a copy under a different name has is simplicity, everyone knows how to copy a file. I don't think git is for everyone (command line is scary), but for those who are willing to learn I think its worthwhile to use. The manual process of saving a copy of the file then doing a rename is translated to something like this using git:
git commit -am "Complete title page markup"
In my opinion that is just as easy as copy/rename.
The advantages of using git instead of multiple file copies are many:
I put up a copy of a book I'm in the middle of PPing here: https://github.com/davem2/pp-example
todo.txt is my "checklist" Makefile might be of interest.. it automates building ppgen txt/html from source, image resizing/trim whitespace (when change detected in master illustrations), packaging for release/sr, running suite of error checks.. html validation
My commit history for the ppgen src: https://github.com/davem2/pp-example/commits/master/harpers-outdoor-book-for-boys-src.txt
My work-flow is detailed in todo.txt. I'm still learning PPing so my checklist is changing frequently and may be incomplete or have some errors.
Basically I work my way down todo.txt and commit after that stage of the process is completed. I have git commit commands with an appropriate commit message as the last step so I can just cut and paste once I've finished that stage.
If I step away from the project for a while and forget what is left to do I can always do a "git shortlog" to see whats been done already.
If I made a bunch of changes and am paranoid that something was changed that I didn't want, I can do a "git diff" to view everything that's been changed since the last commit.
If I want to see what corrections I made for a TN, I can do a diff between the step where I resolve [\ notes and the previous.