Nice to hear that this fits well with the move to LocationTech. While working with the imported git repository[1] I mentioned earlier in this thread, I realized that there is a problem with newline characters in all text files. As explained here[2], the proper way to work with newlines across different operating systems and git's object database is to basically store all text files with unix newlines within git. The git client can then make sure that it checks files in and out of the object database with the correct newline characters depending on the operating system of the user.
This usually works out of the box for normal git operations, because the git clients (especially on Windows machines) are configured to perform the necessary conversion on the fly and transparently by default. However, the JTS subversion repository stores all files with Windows newlines at the moment. The svn2git tool does not detect or fix this (because the underlying git-svn command doesn't). Hence there would be problems with diffs in the future, because git would be confused about line endings. (Besides complaining about invalid line endings, it would also assume many lines changed that really did not on future commits) The line endings can easily be fixed with a tool such as 'dos2unix'. Now we could fix all files after the import into git and create a huge commit changing basically all text files. However, it would then become hard to compare versions of the same file from before and after the fix, because the diff would always contain the whole file, hence obscuring the real changes. I think a better approach is to fix the line endings for each commit in the complete history of the project. Fortunately, git comes with the 'filter-branch' subcommand that allows us to perform such a conversion. Since the whole process of importing becomes a bit more complicated, I've set up a project[3] containing some scripts that perform the import into git and the mentioned textfile conversions. I have imported the project to git again with fixed newlines and is visible on GitHub under the same address as before[1]. Since the history of the repository has been rewritten, you can't just 'git pull' but will have to check it out into a fresh directory. For anyone interested in the results from svn2git without the fixes applied, I have kept the old repository online for the moment as well[4]. [1] https://github.com/topobyte/jts [2] https://help.github.com/articles/dealing-with-line-endings/ [3] https://github.com/sebkur/jts-svn-to-git [4] https://github.com/topobyte/jts-broken-newlines On Mon, 21 Dec 2015 12:35:31 -0800 Martin Davis <[email protected]> wrote: > Excellent - I'll look forward to discussing this further then. > > On Mon, Dec 21, 2015 at 12:25 PM, Rob Emanuele <[email protected]> > wrote: > > > Sounds like a solid TODO task for the LocationTech incubation > > sprint! > > > > On Mon, Dec 21, 2015 at 2:59 PM, Andrea Ross > > <[email protected]> wrote: > > > >> Dear Martin, & Everyone > >> > >> I recommend choosing Github as part of the move to LocationTech. > >> We can help you with that. > >> > >> Kind regards, > >> > >> Andrea > >> > >> > >> On 21/12/15 13:27, Martin Davis wrote: > >> > >> Thanks for the info, Sebastian. It's certainly worth considering > >> to join the crowd and move JTS to GitHub. It maybe be worth > >> coordinating this with the upcoming move to LocationTech - I'll > >> ask around and see what's the consensus. > >> > >> On Wed, Dec 16, 2015 at 6:19 AM, Sebastian Kürten < > >> [email protected]> wrote: > >> > >>> While looking for an "official" GIT clone of the JTS SVN > >>> repository, I found your GitHub profile and it appears that some > >>> sub-projects have been moved there. Are you by any chance > >>> interested in moving the main repository to GitHub or a similar > >>> service? > >>> > >>> There did not seem to be any clone of the SVN-repository on > >>> GitHub yet that reflected the full commit history of the project, > >>> so I gave both the GitHub importer[1] and the svn2git tool[2] a > >>> try. The latter did a better job in preserving the authorship > >>> information of the commits. In case you're interested at all, > >>> here's what svn2git produces: [3]. > >>> > >>> What is a bit odd however is that the resulting GIT repository has > >>> 1113 commits while the SVN repository has 1117 revisions. > >>> > >>> Among the clones without the full commit history there is a fork > >>> from user 'metteo', who seems to merge in your changes regularly. > >>> I'm not sure if you're aware of this fork. Interestingly the user > >>> seems to have moved the build system from Ant to Maven, which I > >>> read from your October presentation on the website to be one of > >>> the future plans for deployment... maybe this could be a starting > >>> point. > >>> > >>> [1] https://import.github.com/new > >>> [2] https://github.com/nirvdrum/svn2git > >>> [3] https://github.com/topobyte/jts > >>> [4] https://github.com/metteo/jts > >>> > >>> > >>> ------------------------------------------------------------------------------ > >>> _______________________________________________ > >>> Jts-topo-suite-user mailing list > >>> [email protected] > >>> https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > >>> > >> > >> > >> > >> ------------------------------------------------------------------------------ > >> > >> > >> > >> _______________________________________________ > >> Jts-topo-suite-user mailing > >> [email protected]https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > >> > >> > >> > >> -- > >> *Andrea Ross* > >> Director, Ecosystem Development, Eclipse Foundation > >> <http://eclipse.org> Twitter: @42aross > >> <http://twitter.com/42aross>, Mobile: 1-613-614-5772 > >> > >> > >> ------------------------------------------------------------------------------ > >> > >> _______________________________________________ > >> Jts-topo-suite-user mailing list > >> [email protected] > >> https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > >> > >> > > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > > Jts-topo-suite-user mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user > > > > ------------------------------------------------------------------------------ _______________________________________________ Jts-topo-suite-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jts-topo-suite-user
