This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Cap the exit code of the bisecting script
[perl5.git] / pod / perlrepository.pod
index ec0294a..a72be28 100644 (file)
@@ -327,7 +327,8 @@ Now you should create a patch file for all your local changes:
 
 You should now send an email to perl5-porters@perl.org with a
 description of your changes, and include this patch file as an
-attachment.
+attachment.  (See the next section for how to configure and use
+git to send these emails for you.)
 
 If you want to delete your temporary branch, you may do so with:
 
@@ -338,6 +339,29 @@ If you want to delete your temporary branch, you may do so with:
   % git branch -D orange
   Deleted branch orange.
 
+=head2 Using git to send patch emails
+
+In your ~/git/perl repository, set the destination email to the perl5-porters
+mailing list.
+
+  $ git config sendemail.to perl5-porters@perl.org
+
+Then you can use git directly to send your patch emails:
+
+  $ git send-email 0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
+
+You may need to set some configuration variables for your particular email
+service provider. For example, to set your global git config to send email via
+a gmail account:
+
+  $ git config --global sendemail.smtpserver smtp.gmail.com
+  $ git config --global sendemail.smtpssl 1
+  $ git config --global sendemail.smtpuser YOURUSERNAME@gmail.com
+
+With this configuration, you will be prompted for your gmail password when you
+run 'git send-email'.  You can also configure C<sendemail.smtppass> with your
+password if you don't care about having your password in the .gitconfig file.
+
 =head2 A note on derived files
 
 Be aware that many files in the distribution are derivative--avoid
@@ -538,9 +562,10 @@ testcase:
   perl -ni -we 'print unless /<(?:built-in|command)/' makefile x2p/makefile
   # if you just need miniperl, replace test_prep with miniperl
   make -j4 test_prep
-  -x ./perl || exit 125
+  [ -x ./perl ] || exit 125
   ./perl -Ilib ~/testcase.pl
   ret=$?
+  [ $ret -gt 127 ] && ret=127
   git clean -dxf
   exit $ret
 
@@ -668,6 +693,20 @@ using the C<git cherry-pick> command. It is recommended to use the
 B<-x> option to C<git cherry-pick> in order to record the SHA1 of the
 original commit in the new commit message.
 
+=head1 GRAFTS
+
+The perl history contains one mistake which was not caught in the
+conversion -- a merge was recorded in the history between blead and
+maint-5.10 where no merge actually occurred.  Due to the nature of
+git, this is now impossible to fix in the public repository.  You can
+remove this mis-merge locally by adding the following line to your
+C<.git/info/grafts> file:
+
+  296f12bbbbaa06de9be9d09d3dcf8f4528898a49 434946e0cb7a32589ed92d18008aaa1d88515930
+
+It is particularly important to have this graft line if any bisecting
+is done in the area of the "merge" in question.
+
 =head1 SEE ALSO
 
 The git documentation, accessible via C<git help command>.