summaryrefslogtreecommitdiff
path: root/INSTALL
AgeCommit message (Collapse)AuthorFilesLines
2011-12-05i18n: add infrastructure for translating Git with gettextLibravatar Ævar Arnfjörð Bjarmason1-0/+12
Change the skeleton implementation of i18n in Git to one that can show localized strings to users for our C, Shell and Perl programs using either GNU libintl or the Solaris gettext implementation. This new internationalization support is enabled by default. If gettext isn't available, or if Git is compiled with NO_GETTEXT=YesPlease, Git falls back on its current behavior of showing interface messages in English. When using the autoconf script we'll auto-detect if the gettext libraries are installed and act appropriately. This change is somewhat large because as well as adding a C, Shell and Perl i18n interface we're adding a lot of tests for them, and for those tests to work we need a skeleton PO file to actually test translations. A minimal Icelandic translation is included for this purpose. Icelandic includes multi-byte characters which makes it easy to test various edge cases, and it's a language I happen to understand. The rest of the commit message goes into detail about various sub-parts of this commit. = Installation Gettext .mo files will be installed and looked for in the standard $(prefix)/share/locale path. GIT_TEXTDOMAINDIR can also be set to override that, but that's only intended to be used to test Git itself. = Perl Perl code that's to be localized should use the new Git::I18n module. It imports a __ function into the caller's package by default. Instead of using the high level Locale::TextDomain interface I've opted to use the low-level (equivalent to the C interface) Locale::Messages module, which Locale::TextDomain itself uses. Locale::TextDomain does a lot of redundant work we don't need, and some of it would potentially introduce bugs. It tries to set the $TEXTDOMAIN based on package of the caller, and has its own hardcoded paths where it'll search for messages. I found it easier just to completely avoid it rather than try to circumvent its behavior. In any case, this is an issue wholly internal Git::I18N. Its guts can be changed later if that's deemed necessary. See <AANLkTilYD_NyIZMyj9dHtVk-ylVBfvyxpCC7982LWnVd@mail.gmail.com> for a further elaboration on this topic. = Shell Shell code that's to be localized should use the git-sh-i18n library. It's basically just a wrapper for the system's gettext.sh. If gettext.sh isn't available we'll fall back on gettext(1) if it's available. The latter is available without the former on Solaris, which has its own non-GNU gettext implementation. We also need to emulate eval_gettext() there. If neither are present we'll use a dumb printf(1) fall-through wrapper. = About libcharset.h and langinfo.h We use libcharset to query the character set of the current locale if it's available. I.e. we'll use it instead of nl_langinfo if HAVE_LIBCHARSET_H is set. The GNU gettext manual recommends using langinfo.h's nl_langinfo(CODESET) to acquire the current character set, but on systems that have libcharset.h's locale_charset() using the latter is either saner, or the only option on those systems. GNU and Solaris have a nl_langinfo(CODESET), FreeBSD can use either, but MinGW and some others need to use libcharset.h's locale_charset() instead. =Credits This patch is based on work by Jeff Epler <jepler@unpythonic.net> who did the initial Makefile / C work, and a lot of comments from the Git mailing list, including Jonathan Nieder, Jakub Narebski, Johannes Sixt, Erik Faye-Lund, Peter Krefting, Junio C Hamano, Thomas Rast and others. [jc: squashed a small Makefile fix from Ramsay] Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08docs: Update install-doc-quickLibravatar Junio C Hamano1-26/+3
The preformatted documentation pages live in their own repositories these days. Adjust the installation procedure to the updated layout. Tested-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-06-20Add explanation of the profile feedback build to the READMELibravatar Andi Kleen1-0/+13
Also explains that the are additional warnings. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-11-24docs: default to more modern toolsetLibravatar Jeff King1-2/+3
When the ASCIIDOC8 and ASCIIDOC_NO_ROFF knobs were built, many people were still on asciidoc 7 and using older versions of docbook-xsl. These days, even the almost 2-year-old Debian stable needs these knobs turned. So let's turn them by default. The new knobs ASCIIDOC7 and ASCIIDOC_ROFF can be used to get the old behavior if people are on older systems. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-09-27perl: bump the required Perl version to 5.8 from 5.6.[21]Libravatar Ævar Arnfjörð Bjarmason1-4/+4
Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already used the three-arg form of open() which was introduced in 5.6.1, but t/t9700/test.pl explicitly depended on 5.6.2. However git-add--interactive.pl has been failing on the 5.6 line since it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open syntax: sub run_cmd_pipe { my $fh = undef; open($fh, '-|', @_) or die; return <$fh>; } Which when executed dies on "Can't use an undefined value as filehandle reference". Several of our tests also fail on 5.6 (even more when compiled with NO_PERL_MAKEMAKER=1): t2016-checkout-patch.sh t3904-stash-patch.sh t3701-add-interactive.sh t7105-reset-patch.sh t7501-commit.sh t9700-perl-git.sh Our code is bitrotting on 5.6 with no-one interested in fixing it, and pinning us to such an ancient release of Perl is keeping us from using useful features introduced in the 5.8 release. The 5.6 series is now over 10 years old, and the 5.6.2 maintenance release almost 7. 5.8 on the other hand is more than 8 years old. All the modern Unix-like operating systems have now upgraded to it or a later version, and 5.8 packages are available for old IRIX, AIX Solaris and Tru64 systems. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Tor Arntsen <tor@spacetec.no> Acked-by: Randal L. Schwartz <merlyn@stonehenge.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-07-25INSTALL: configure /etc/xml/catalog to build docs on CygwinLibravatar Jon Seymour1-0/+33
Without additional configuration steps, the documentation build on Cygwin fails because the XML catalog is missing required rewrites for certain docbook resources. This patch documents the required configuration. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-12-03INSTALL: document a simpler way to run uninstalled buildsLibravatar Matthew Ogilvie1-7/+11
The new scripts automatically saved in the bin-wrappers directory allow you to run a build when you have neither installed git nor tweaked environment variables. Mention this in INSTALL, along with the slight performance issue of doing so. This can be especially handy for manually testing network-invoked git (from ssh, web servers, or similar), but it is also handy with a plain command prompt. Signed-off-by: Matthew Ogilvie <mmogilvi_git@miniinfo.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-10INSTALL: Describe dependency knobs from MakefileLibravatar Brian Gernhardt1-14/+24
We said that some of our dependencies were optional, but didn't say how to turn them off. Add information for that and mention where to save the options close to the top of the file. Also, standardize on both using quotes for the names of the dependencies and tabs for indentation of the list. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-10INSTALL: Reorder dependencies, split shell and PerlLibravatar Brian Gernhardt1-5/+9
The most important and non-optional dependencies should go first, so put them there. While we're moving them, the descriptions for shell and perl were archaic, referring to "bare-bones Porcelainish scripts" that have become powerful and essential. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2009-09-08INSTALL: Update description of our SHA-1 codeLibravatar Brian Gernhardt1-2/+2
We haven't had Mozilla's code or an ARM optimized algorithm since 30ae47b. Reword the paragraph to give credit but not authorship to Mozilla. Signed-off-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-12-10Add support for a pdf version of the user manualLibravatar Miklos Vajna1-0/+3
Use dblatex in order to create a pdf version of the git user manual. No existing Makefile targets (including "all") are touched, so you need to explicitly say make pdf sudo make install-pdf to get user-manual.pdf created and installed. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-11-02Makefile: add install-man rules (quick and normal)Libravatar Markus Heidelberg1-2/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-10separate build targets for man and html documentationLibravatar Michael J Gruber1-3/+12
This introduces new build targets "man" and "html" which allow building the documentation in the respective formats separately. This helps people with a partial documentation build chain: html pages can be built without xmlto. This is documented in INSTALL now, together with corrections: Before, instructions in INSTALL would build man+html but install man only. Now the instructions build and install both, and new and pre-existing targets are explained. Note that build targets "doc" and "man" correspond to install targets "install-doc install-html" and "install-doc" respectively. This inconsistency is not changed, in order to keep everyone's build scripts from breaking. Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-10allow installation of man and html doc from the man and html branchesLibravatar Michael J Gruber1-0/+6
This patch introduces a make target "quick-install-html" which installs the html documentation from the branch origin/html, without the need for asciidoc/xmlto. This is analogous to the existing "quick-install-doc" target for the man pages. We advertise these targets in the INSTALL file now. Signed-off-by: Michael J Gruber <michaeljgruber+gmane@fastmail.fm> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-08-04Fix typos in INSTALLLibravatar Abhijit Menon-Sen1-2/+2
Signed-off-by: Abhijit Menon-Sen <ams@toroid.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-08Tone down warning about GNU Interactive ToolsLibravatar Junio C Hamano1-11/+9
The mention of 1997 was correct when it was made, and it still is true to some extent (http://savannah.gnu.org/forum/forum.php?forum_id=5189 says it has not been actively maintained for quite some time). However, because its name changed not to conflict with us, it is no longer relevant whether many users use gnuit or have moved away to graphical file managers. The only people possibly affected are people who have older version of gnuit installed as "git". Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-07-05INSTALL: Update section about git-frotz form.Libravatar Miklos Vajna1-12/+6
The old text stated that 'git-frotz' can be always used instead of 'git frotz' which is no longer true. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-15The "curl" executable is no longer requiredLibravatar Johan Herland1-4/+4
git-clone.sh was the last user of the "curl" executable. Relevant git commands now use libcurl instead. This should be reflected in the install requirements. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-06-15cpio is no longer used by git-cloneLibravatar Johan Herland1-3/+0
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-05-05INSTALL: add a note about GNU interactive tools has been renamedLibravatar Miklos Vajna1-0/+4
In recent versions GNU's git has been renamed to gnuit, document this while talking about how to resolve the conflict. Signed-off-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-02-05INSTALL: git-merge no longer uses cpioLibravatar Gerrit Pape1-2/+2
Since a64d7784e830b3140e7d0f2b45cb3d8fafb84cca git merge doesn't use cpio anymore, adapt the documentation. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-10-02Mention 'cpio' dependency in INSTALLLibravatar Johan Herland1-0/+3
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-10INSTALL: explain info installation and dependencies.Libravatar David Kastrup1-5/+9
Signed-off-by: David Kastrup <dak@gnu.org>
2007-08-04INSTALL: add warning on docbook-xsl 1.72 and 1.73Libravatar Junio C Hamano1-0/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-07-17Update INSTALLLibravatar Junio C Hamano1-4/+3
We haven't used bignum in rev-list from openssl nor elsewhere for a long time. Also git-gui is now part of git.git itself, and depends on wish. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-20INSTALL: explain how to build documentationLibravatar Junio C Hamano1-4/+10
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-07War on whitespaceLibravatar Junio C Hamano1-2/+1
This uses "git-apply --whitespace=strip" to fix whitespace errors that have crept in to our source files over time. There are a few files that need to have trailing whitespaces (most notably, test vectors). The results still passes the test, and build result in Documentation/ area is unchanged. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-01-12use 'init' instead of 'init-db' for shipped docs and toolsLibravatar Nicolas Pitre1-1/+1
While 'init-db' still is and probably will always remain a valid git command for obvious backward compatibility reasons, it would be a good idea to move shipped tools and docs to using 'init' instead. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-14INSTALL: no need to have GNU diff installedLibravatar Johannes Schindelin1-10/+0
Since a long time, we have inbuilt diff generation. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-12-12Get rid of the dependency on RCS' merge programLibravatar Johannes Schindelin1-9/+0
Now that we have git-merge-file, an RCS merge lookalike, we no longer need it. So long, merge, and thanks for all the fish! Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-11-21remove merge-recursive-oldLibravatar Junio C Hamano1-3/+0
This frees the Porcelain-ish that comes with the core Python-free. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-29Remove -fPIC which was only needed for Git.xsLibravatar Junio C Hamano1-1/+1
The distinction between BASIC_ vs ALL_ is still kept, since it is not Git.xs specific -- we could face the same issue when we do other language bindings (e.g. Python). Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-15Merge branch 'master' into pb/gitpmLibravatar Junio C Hamano1-1/+1
* master: (166 commits) git-apply --binary: clean up and prepare for --reverse Fix detection of ipv6 on Solaris Look for sockaddr_storage in sys/socket.h Solaris has strlcpy() at least since version 8 git-apply --reverse: simplify reverse option. t4116 apply --reverse test Make sha1flush void and remove conditional return. Make upload_pack void and remove conditional return. Make track_tree_refs void. Make pack_objects void. Make fsck_dir void. Make checkout_all void. Make show_entry void Make pprint_tag void and cleans up call in cmd_cat_file. Remove combine-diff.c::uninteresting() read-cache.c cleanup http-push.c cleanup diff.c cleanup builtin-push.c cleanup builtin-grep.c cleanup ...
2006-08-08autoconf: Add configure target to main MakefileLibravatar Jakub Narebski1-1/+1
While at it fill git version information in configure.ac configure target needs autoconf, of course. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-07Merge branch 'master' into pb/gitpmLibravatar Junio C Hamano1-2/+11
This is to resolve the conflicts with Ryan's annotate updates early.
2006-07-30Merge branch 'jn/make'Libravatar Junio C Hamano1-0/+9
* jn/make: Set datarootdir in config.mak.in Quote all calls to GIT_CONF_APPEND_LINE Typofix in configure.ac comment. configure.ac vertical whitespace usage cleanup autoconf: Checks for some programs autoconf: Checks for libraries autoconf: Checks for some library functions. autoconf: Checks for typedefs, structures, and compiler characteristics. autoconf: Preparing the way for autodetection Copy description of build configuration variables to configure.ac Teach make clean about configure and autoconf autoconf: Use autoconf to write installation directories to config.mak.autogen
2006-07-09Assorted typo fixesLibravatar Pavel Roskin1-2/+2
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC mungingLibravatar Petr Baudis1-2/+2
This makes the Git perl scripts check $GITPERLLIB instead of $RUNNING_GIT_TESTS, which makes more sense if you are setting up your shell environment to use a non-installed Git instance. It also weeds out the @INC munging from the individual scripts and makes Makefile add it during the .perl files processing, so that we can change just a single place when we modify this shared logic. It looks ugly in the scripts, too. ;-) And instead of doing arcane things with the @INC array, we just do 'use lib' instead, which is essentialy the same thing anyway. I first want to do three separate patches but it turned out that it's quite a lot neater when bundled together, so I hope it's ok. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-03INSTALL: a tip for running after building but without installing.Libravatar Junio C Hamano1-0/+13
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02autoconf: Use autoconf to write installation directories to config.mak.autogenLibravatar Jakub Narebski1-0/+9
This is beginning of patch series introducing installation configuration using autoconf (and no other autotools) to git. The idea is to generate config.mak.autogen using ./configure (generated from configure.ac by running autoconf) from config.mak.in, so one can use autoconf as an _alternative_ to ordinary Makefile, and creating one's own config.mak. Local settings in config.mak override generated settings in config.mak.autogen This patch includes minimal configure.ac and config.mak.in, so one can set installation directories using autoconf generated ./configure script e.g. ./configure --prefix=/usr Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-06-21Retire git-clone-packLibravatar Junio C Hamano1-1/+1
The program is not used by git-clone since git-fetch-pack was extended to allow its caller do what git-clone-pack alone did, and git-clone was updated to use it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-01Rip out merge-order and make "git log <paths>..." work again.Libravatar Linus Torvalds1-3/+1
Well, assuming breaking --merge-order is fine, here's a patch (on top of the other ones) that makes git log <filename> actually work, as far as I can tell. I didn't add the logic for --before/--after flags, but that should be pretty trivial, and is independent of this anyway. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-21Mention install-doc in INSTALLLibravatar J. Bruce Fields1-2/+26
I think most people will want to install the man pages as well. [jc: incorporated Pasky's comment on not building them as root. Some people may not want to install asciidoc/xmlto toolchain, so redirect them to the man and html branches of the git.git repository as well.] Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-05[PATCH] Document config.mak in INSTALL.Libravatar Jason Riedy1-0/+3
The existing config.mak should satisfy almost everyone... You can change the prefix and other vars catch the new setting anyways. I had forgotten that ?= acts as = (lazy value binding) and as not := (immediate value binding). Signed-off-by: E. Jason Riedy <ejr@cs.berkeley.edu> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11INSTALL: duplicate python requirements from MakefileLibravatar Junio C Hamano1-0/+12
... and refer the reader to Makefile for other things that can be tweaked. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-09Update INSTALLLibravatar Junio C Hamano1-3/+6
Explicitly mention how to install by hand in build-as-user and install-as-root steps. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Document expat dependency when using http-push.Libravatar Junio C Hamano1-0/+3
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12[PATCH] There are several undocumented dependenciesLibravatar Horst von Brand1-0/+5
There are several undocumented dependencies in the .spec and in the INSTALL files. The following is from Fedora, perhaps other RPM distributions call the packages differently. Also, the manpages aren't always installed gzipped. Updates to git-core.spec.in file: - Some git scripts use Perl - gitk needs wish, which is part of TCL/Tk. - curl is used all over - Need the ssh program from openssh-clients Updates to INSTALL: - Mention wish - Mention ssh Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
2005-09-07Big tool rename.Libravatar Junio C Hamano1-3/+3
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-07-22[PATCH] Document "curl" requirements.Libravatar Junio C Hamano1-2/+4
Not just libcurl, but now we require curl executable as well. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>