Re: [fpc-other] GIT versioning server on Raspberry Pi?
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?
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?
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?
On Wed, 31 May 2017 10:58:29 +0200, Bo Berglundwrote: >>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?
On Wed, 31 May 2017 01:03:54 +0100, Graeme Geldenhuyswrote: 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