Using and Mastering Cookiecutter Transcripts
Chapter: Adding features to Cookiecutter
Lecture: Creating the PR
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
We've run our tests, we've added our feature, we're pretty confident with the work we've done, let's submit this back to Cookiecutter.
0:09
We'll come over to our source control here, this is our Cookiecutter repo, not theirs and we're in our feature branch which means
0:17
that we can possibly make other pull request, and other changes to Cookiecutter without this code being part of that, right,
0:23
we probably want to do this, isolate on their website reasonably so it says please submit only one feature at a time with any given pull request,
0:32
one change, and the easiest way to do that is have one branch per change. So, we're going to check into this, and this is super easy
0:39
but what we want to do is give it a nice description so I'm going to write a little description here and zoom ahead, and then tell you about it.
0:47
So, notice I'm even using Markdown here because people are going to read this and decide whether or not
0:52
it should be added to that project, so you want to format this as best as you can, so it will show up on GitHub.
0:58
So what I am going to say is if the YAML file config does not end with a single blank line
1:01
a cookiecutter exception invalid configuration exception is thrown
1:05
within indecipherable error, this pull request pretty much took this code from my docstring,
1:09
fixes that air by adding a trivial line to the config YAML file if it is missing, okay. So let's go ahead and check that in,
1:18
now if we go back to GitHub, notice right now we already have this I didn't even refresh the page I just found this says okay,
1:27
mikeyckennedy in forgiving YAML fix less than a minute ago, and here's the compare and pull request
1:34
so we want to submit this, notice I am up in mikeyckennedy I want to submit this to audreyr and everybody that works on this project
1:41
to say here's my fix, I want you to take. So I'll click this, it's going to come down here,
1:46
and we should be able to take this change, let me go and copy that, and I am going to use that basically that same text here,
1:55
if the YAML file does not contain a Cookiecutter and do this little shortening thing
2:02
but I'm going to put it back, exception this pull request fixes that okay. So okay I'm going to give it a nice little subject up here,
2:15
fix this trivial error of config file when it does not end in a newline
2:18
has a description, let's preview it here, it has a little code bit for that thing, alright I think it's good, let's go down here,
2:25
make sure the changes we've had don't change something else we've got our .gitignore, and we've got our change to cookiecutter
2:31
so we've added the fix missing end line in YAML, got our little bits there, and then in our git config,
2:38
notice I had just this straight read here before and now we're doing it across a few lines where we get the actual lines we apply our fix,
2:46
we turn it back into straight text and then we do what they did before with the straight text, this time though it automatically fixes it.
2:52
Alright, so it looks like everything is good, make sure that you have read the guidelines for contributing to this repository
2:59
verify that we can merge with master we're not out of sync or something so that's really important, people don't want to do them merge conflict stuff
3:07
if at all possibly, you should do sort of rebase, get the new version, apply your change again, to the latest if that happens.
3:14
Alright, let's go. Now we're over in audreyr, you can see we have the 49th pull request, actually 49 active, 917th pull request and here it is,
3:26
my changes, my description, files that have changed, the two commits,
3:31
and notice, I talked about the test being run, about the flake 8 and Python 3.3, 3.4,
3:38
notice here this is updates live, there is a continuous integration for app veyor, I think is for Windows builds and Travis CI for Linux and Mac
3:47
I'm pretty sure that's how that works, but these are running and these will automatically give the maintainers of Cookiecutter some feedback
3:55
to say this change that we just made, it either broke something or it didn't break something with regard to code coverage
4:01
with regard to tests and whatnot, right. So now we just wait and you'll be able to come here
4:07
and check out a pull request 917 after you watch this class and see if this change was accepted or not accepted.