Issue with last line / line ending between FileTree and other repositoroes

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue with last line / line ending between FileTree and other repositoroes

Mariano Martinez Peck
Hi Dale,

During Smalltalks, you helped me to start loading my code into GemStone. For that, we created a temp FileTree repository so that we could easily edit/save and retry the load. That saved us modifying the code elsewhere, commit, load again etc... Cool!
But now I have a problem... I am trying to merge from filetree to my original repo. And when I do a diff (Monticello "Changes"), ALL methods look like modified. FileTree either:

- Removed last empty lines
- Changed the last dot of the last line. 
- Removed last space of the last line

So...in summary, it is like if it has changed always the very last character (whether it is a space, a dot or an empty line). Maybe this is related to crlf I don't know. But it is a pain because it looks like I am committing 5k changes! hahaha and I cannot easily see what I have really changed.

Is this a known problem? Any workaround?

I will send you by private email some screenshots.

Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: Issue with last line / line ending between FileTree and other repositoroes

Eliot Miranda-2



On Tue, Nov 12, 2013 at 12:09 PM, Mariano Martinez Peck <[hidden email]> wrote:
Hi Dale,

During Smalltalks, you helped me to start loading my code into GemStone. For that, we created a temp FileTree repository so that we could easily edit/save and retry the load. That saved us modifying the code elsewhere, commit, load again etc... Cool!
But now I have a problem... I am trying to merge from filetree to my original repo. And when I do a diff (Monticello "Changes"), ALL methods look like modified. FileTree either:

- Removed last empty lines
- Changed the last dot of the last line. 
- Removed last space of the last line

Did it perhaps change the line-end character?
 

So...in summary, it is like if it has changed always the very last character (whether it is a space, a dot or an empty line). Maybe this is related to crlf I don't know. But it is a pain because it looks like I am committing 5k changes! hahaha and I cannot easily see what I have really changed.

Is this a known problem? Any workaround?

I will send you by private email some screenshots.

Thanks!



--
best,
Eliot
Reply | Threaded
Open this post in threaded view
|

Re: Issue with last line / line ending between FileTree and other repositoroes

Nicolas Cellier
Just a guess, but github warns when a newline is missing at end of file, because there are still a few unix tools in the world inheriting from the early 70s that cannot deal with such files, so maybe someone wanted github to be happy and forced some extra newline at end of each Smalltalk method?


2013/11/12 Eliot Miranda <[hidden email]>



On Tue, Nov 12, 2013 at 12:09 PM, Mariano Martinez Peck <[hidden email]> wrote:
Hi Dale,

During Smalltalks, you helped me to start loading my code into GemStone. For that, we created a temp FileTree repository so that we could easily edit/save and retry the load. That saved us modifying the code elsewhere, commit, load again etc... Cool!
But now I have a problem... I am trying to merge from filetree to my original repo. And when I do a diff (Monticello "Changes"), ALL methods look like modified. FileTree either:

- Removed last empty lines
- Changed the last dot of the last line. 
- Removed last space of the last line

Did it perhaps change the line-end character?
 

So...in summary, it is like if it has changed always the very last character (whether it is a space, a dot or an empty line). Maybe this is related to crlf I don't know. But it is a pain because it looks like I am committing 5k changes! hahaha and I cannot easily see what I have really changed.

Is this a known problem? Any workaround?

I will send you by private email some screenshots.

Thanks!



--
best,
Eliot

Reply | Threaded
Open this post in threaded view
|

Re: Issue with last line / line ending between FileTree and other repositoroes

Goubier Thierry
In reply to this post by Mariano Martinez Peck
Hi Mariano,

it is probably a bug in the way the changes are computed: in MC usually,
if the timestamp of a method changes, then this is a change, even if the
source code are exactly the same... No need to search for a missing end
of line character :).

I have been pushing for integration of a fix, but I have to check,
depending on your version of Pharo, whether it was integrated or not
(the fix is less obvious than I thought at first because it plays with a
MCDefinition instance cache and may break tests).

Try to look for MCMethodDefinition>>= and see there if the test check
for timestamp equality before testing for source equality.

Thierry

Le 12/11/2013 21:09, Mariano Martinez Peck a écrit :

> Hi Dale,
>
> During Smalltalks, you helped me to start loading my code into GemStone.
> For that, we created a temp FileTree repository so that we could easily
> edit/save and retry the load. That saved us modifying the code
> elsewhere, commit, load again etc... Cool!
> But now I have a problem... I am trying to merge from filetree to my
> original repo. And when I do a diff (Monticello "Changes"), ALL methods
> look like modified. FileTree either:
>
> - Removed last empty lines
> - Changed the last dot of the last line.
> - Removed last space of the last line
>
> So...in summary, it is like if it has changed always the very last
> character (whether it is a space, a dot or an empty line). Maybe this is
> related to crlf I don't know. But it is a pain because it looks like I
> am committing 5k changes! hahaha and I cannot easily see what I have
> really changed.
>
> Is this a known problem? Any workaround?
>
> I will send you by private email some screenshots.
>
> Thanks!
>
> --
> Mariano
> http://marianopeck.wordpress.com

--
Thierry Goubier
CEA list
Laboratoire des Fondations des Systèmes Temps Réel Embarqués
91191 Gif sur Yvette Cedex
France
Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95