Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-31 Thread Bo Berglund
On Wed, 31 May 2017 15:42:48 -0400, wkitt...@windstream.net wrote:

>On 05/31/2017 02:13 PM, Bo Berglund wrote:
>> the response to git --version is still
>> 2.1.4
>> 
>>  From where does this come???
>
>
>at the command line, type in "which git" without the double quotes...

$ which git
/home/pi/bin/git

This is the version I have built myself from sources and it is 2.13
I installed it into the user space rather than into /usr/bin/

However if I do:
$ git --version
git version 2.1.4


But if I do:
$ /home/pi/bin/git --version
git version 2.13.0.311.g0339965

Do you now understand my confusion?
Executing git on the command line seems to execute the /usr/bin/git
instead of the first git on PATH! /home/pi/bin is first on $PATH

Seems like git is started in /usr/bin and there it is getting the
erroneous version information
Why?


-- 
Bo Berglund
Developer in Sweden

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-31 Thread wkitty42

On 05/31/2017 02:13 PM, Bo Berglund wrote:

the response to git --version is still
2.1.4

 From where does this come???



at the command line, type in "which git" without the double quotes...


--
 NOTE: No off-list assistance is given without prior approval.
   *Please keep mailing list traffic on the list unless*
   *a signed and pre-paid contract is in effect with us.*
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-31 Thread Graeme Geldenhuys

On 2017-05-31 16:10, Bo Berglund wrote:

The apt-get version of the git I use now is:
~/ $git --version
git version 2.1.4


Yeah, that is a rather old version. The latest is v2.13.

  $ git tag

will show all tagged releases. Just look for the latest one. You can 
also use 'gitk --all' and see what the "next" branch follows on from. In 
the Git project, the "next" branch is what will become the next release.


So simple checkout "next" or if you want a mare stable released version, 
checkout the v2.13 release.


  git checkout v2.13.0

(git will mentioned you have a detached HEAD, but that doesn't matter, 
it just means you don't have a local branch that matches that release 
commit.)




Is it not påossible to put docs and info below the ~/ dir?
According to the INSTALL file on the subject of Git install it says:


Yes, it works like most Makefile based environments - and is also 
mentioned in the INSTALL file You need to specify the install prefix 
directory.


  $ make prefix=/home//

Or whatever you want the install prefix to be.

As for building the Git documentation. Yes, that has extra dependencies, 
and from memory takes quite long to build. But the process is very 
similar to building the Git binary itself. All the instructions are in 
the INSTALL file.



Regards,
  Graeme

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-31 Thread Bo Berglund
On Wed, 31 May 2017 10:58:29 +0200, Bo Berglund
 wrote:

>>I always install git 
>>from source code and compile it myself (like I do with FPC and Lazarus 
>>too). Everything is then included - as it should be. Linux distros f*ck 
>>everything up and split it into multiple packages. eg: git-core, 
>>git-base, git-gui, git-subversion, git-docs etc.
>
>I also build my FPC/Lazarus installations from svn sources since a
>couple of years. But only on Linux, I have not tried it on Windows
>yet.
>
>So I really should go back to the RPi and remove the git I installed
>yesterday and instead try to get the sources (via Subversion?) and
>build myself then? Is it possible to get the GIT sources without GIT?

Stupid question by me...
I should use git to get git sources *before* I uninstall the apt-get
version of git. The solution is in page:
https://git-scm.com/downloads
as this command:
git clone https://github.com/git/git

I used it and it finished successfully in a rather short time.

What I received is the latest *development* version, but if I got the
idea behind GIT I should now have a git repo locally on my RPi3 and
should be able to retrieve the latest released version of git from
that, right?
If so how do I move forward and find the release, update to it and
then build and install git from the sources?

The apt-get version of the git I use now is:
~/ $git --version
git version 2.1.4

Seems a bit oldish so I updated the RPi3 according to the ProGIT book
section 1.5:

sudo apt-get install dh-autoreconf libcurl4-gnutls-dev libexpat1-dev
gettext libz-dev libssl-dev

Then tried to make as per the INSTALL file. Ran for some time and
succeeded.
So I then also got requirements for the other stuff:

sudo apt-get install asciidoc xmlto docbook2x getopt

But it failed with this error:
E: Unable to locate package getopt

so I removed getopt from the install and all other modules installed
fine.

Then I did:
make configure
./configure
make all doc info
make install install-doc install-html install-info

The last line failed as follows:

 $ make install install-doc install-html install-info
SUBDIR git-gui
SUBDIR gitk-git
SUBDIR perl
SUBDIR templates
install -d -m 755 '/usr/local/bin'
install: cannot change permissions of ‘/usr/local/bin’: Operation not
permitted
Makefile:2408: recipe for target 'install' failed
make: *** [install] Error 1

Is it not påossible to put docs and info below the ~/ dir?
According to the INSTALL file on the subject of Git install it says:

Git installation

Normally you can just do "make" followed by "make install", and that
will install the git programs in your own ~/bin/ directory.

This is exactly what I would like to do instead of putting it below
/usr

What do I do next?


-- 
Bo Berglund
Developer in Sweden

___
fpc-other maillist  -  fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other


Re: [fpc-other] GIT versioning server on Raspberry Pi?

2017-05-31 Thread Bo Berglund
On Wed, 31 May 2017 01:03:54 +0100, Graeme Geldenhuys
 wrote:

Graeme, I am very grateful for your contribution to this discussion!
Aplogies if my postings are a bit longish, but I try to convey my
concerns and ignorance...

>> So this should not be created inside some user home then?
>
>You can create Git repositories wherever you want and have read/write 
>access. My "/data" path is simply by 8TB ZFS data pool, where I do all 
>my work and store all vital data. You can use your $HOME directory 
>(whatever that translates to on your OS) just as well.

In the end, if all works out well, I want to have a GIT *server* on
our company network as the main repository, acessed via the internal
network by authenticated developers only. It would be the "remote"
mentioned in several GIT how-to pages I have read.
There should be no access path to this from the Internet except for
developers with a VPN channel into the company network. But this is of
course not an Internet access path since the VPN effectively places
you inside the local LAN.
Access via http would probably be the simplest way to manage I
believe.

The Smart-HTTP server setup is mentioned in section 4.6 of the ProGIT
book:
https://git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP

I found that Apache is already installed as part of the Raspbian
Jessie PIXEL so the install steps need not be done I assume.
However, the configuration instructions here are a bit terse so I have
not dived in there yet, need to get to know GIT better first.
But do you think it can be a working solution for us to use the web
interface? It would get a user authentication mechanism in place


>If you are going to share your Git repositories stored on your system 
>with the public

Will never happen. We work on products that we sell and we do not
share our code...

>You mentioned you wanted to play around with Git and get to grips with 
>it - hence I suggested a local setup without the need of a RPi or some 
>other device.

Since it looked very much like a Linux thing it appeared to me to be
simpler if I had a Linux box to test on. And I have found that RPi3 is
pretty convenient.

>I always install git 
>from source code and compile it myself (like I do with FPC and Lazarus 
>too). Everything is then included - as it should be. Linux distros f*ck 
>everything up and split it into multiple packages. eg: git-core, 
>git-base, git-gui, git-subversion, git-docs etc.

I also build my FPC/Lazarus installations from svn sources since a
couple of years. But only on Linux, I have not tried it on Windows
yet.

So I really should go back to the RPi and remove the git I installed
yesterday and instead try to get the sources (via Subversion?) and
build myself then? Is it possible to get the GIT sources without GIT?

Is there some additional task to perform before running make? Like for
FPC/Lazarus I had to script the install to make sure the system was
updated with extra libraries and such before building...

>> I would very much like to have a PDF copy since I usually find that
>> easier to read than using on-line webpage versions of books.
>> Could not find the PDF though...
>
>I just had a look. The links used to be on the Table Of Contents page, 
>but for some odd reason they aren't there any more. No stress, The 
>Internet Archive always comes to the rescue.
>
>  PDF:
>https://progit2.s3.amazonaws.com/en/2016-03-22-f3531/progit-en.1084.pdf

Thanks Graeme!
Now I have the PDF ready for off-line reading (500+ pages...)

I have additional questions regarding the way GIT works:
Handling of line endings
-
When woking on multiple platforms like Linux, Mac and Windows there
has always been a struggle to get source code line endings compatible
with the platform. Windows uses CR-LF, Mac uses CR and Linux uses LF
and in some cases if this is wrong the sources will not work.
In CVS this was managed by the CVS client such that it expanded line
endings to the platform standard whereas the repository always used
the Linux standard LF.
So if sources were transferred between systems via CVS all was fine.

Now I have read a bit about GIT and it really looks like it checksums
whole files with a 40 char hash, which is used as the key to the
files. This would make the exact same file (content wise) on Linux and
say Windows appear different with different hash values unless there
is some mechanism in GIT that handles this.
But I have not seen any mention of this yet...
And how does one specify the type of file to put in GIT? I want to
keep also some binaries there, but these invariably contain CR, LF and
CRLF byte combinations that MUST NOT be changed when moving between
platforms...
Of course some tools may have provisions for line ending invariance
but for example php code breaks on Apache if these are wrong.
Does Lazarus or FPC ignore line ending differences?

And lastly regarding CVS conversion:

Since