[fpc-pascal] Git line endings leading to patch problems - was [Semi-OT] Git format patches don't seem to work
Graeme Geldenhuys
graemeg.lists at gmail.com
Fri Oct 7 15:11:55 CEST 2011
On 07/10/2011 11:28, Marco van de Voort wrote:
>
> Even up to date patch doesn't always process lineendings properly btw. I
> have to dos2unix often on *nix too.
Interesting. I would think sharing code between platform with patches is
a bog-standard task these days, and all tools in question should work
perfectly with such files. Oh well.
> Recently a lot of patches with incorrect filenames, or no filenames if the
> patch is for a single file, or even not in universal format have been
> submitted, and it takes some work (doable, but annoying) to apply them.
In that case you do much more effort that I. I simply return to sender
and tell them to send me a universal patch format, and a link to my
website on how to generate patches.
> Since the patches aren't tagged with what generated them, I assumed it was
> GIT based.
That would be an incorrect assumption.
Simply dumping a 'git diff' output to file, always includes the '--git'
hint in the first line. See below.
Alternatively, using 'git format-patch' which generates patch files from
local commits, also includes the git name including the git version
number in the generated patch files.
----8<-------------8<-------------8<-------------8<-------------8<----
$ git diff
diff --git a/Source/revision.inc b/Source/revision.inc
index f827943..a64eedc 100644
--- a/Source/revision.inc
+++ b/Source/revision.inc
@@ -1 +1 @@
- '3.0.9';
+ '3.0.9.126.g0560.dirty';
----8<-------------8<-------------8<-------------8<-------------8<----
I believe your "real culprit" might be Lazarus IDE itself. eg: When it
detects external file changes it pops up with a diff window. That window
shows non-universal patch format output, and no filename or path
relating to the patches either. So maybe somebody has been copy and
pasting that. Yuck! Here is a small example from Lazarus IDE itself.
----8<-------------8<-------------8<-------------8<-------------8<----
***************
*** 1,4 ****
! unit mmUtils;
{$I M2Defines.inc}
--- 1,5 ----
! unit mmUtils;
!
{$I M2Defines.inc}
***************
*** 7,12 ****
--- 8,14 ----
uses
Classes,
SysUtils,
+
mmTypes,
tiQuery,
Model;
----8<-------------8<-------------8<-------------8<-------------8<----
Maybe somebody should file a bug report with Lazarus IDE project and
tell them to switch to the more often used universal patch format.
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
More information about the fpc-pascal
mailing list