WindowsInstall

From Git SCM Wiki
(Difference between revisions)
Jump to: navigation, search
(Talk)
Line 1: Line 1:
= Cygwin =
+
Describe [[WindowsInstall]] here.
== Installation ==
+
Git is now a cygwin binary package, directly installable without needing to compile it. See [[CygwinBinaryInstall]].
+
 
+
Otherwise, to be able to build git directly from source, you will need to install cygwin and the following packages:
+
 
+
* tcltk (for gitk and git-gui)
+
* perl
+
* openssh
+
* openssl (and -dev)
+
* libiconv
+
* zip (and -dev)
+
* curl (and -dev), optional if compiled with NO_CURL=1
+
* expat (and -dev), optional if compiled with NO_CURL=1
+
* make
+
* gcc
+
* binutils (sorta necessary to compile!)
+
* patchutils (at least for the t4109-apply-multifrag.sh tests)
+
* cpio (at least for the t5400-send-pack.sh tests)
+
* xmlto to build the man pages
+
* util-linux: just to have getopt (required by xmlto)
+
* asciidoc to build documents (http://www.methods.co.nz/asciidoc/INSTALL.html)
+
* python to build documents
+
* subversion-perl (if you want to use git-svn)
+
With these packages installed download the git source package from the git homepage and then unpack it with:
+
 
+
<pre><nowiki>
+
tar xvzf git-x.y.z.tar.gz (or tar xvjf git-x.y.z.tar.bz2)
+
</nowiki></pre>
+
Then, build git and install it in your ~/bin directory by doing:
+
 
+
<pre><nowiki>
+
make install
+
</nowiki></pre>
+
If want to be extra careful, you can always run the regression tests:
+
 
+
<pre><nowiki>
+
make test
+
</nowiki></pre>
+
You are now ready to use GIT. Check that your path includes ~/bin and you are off!
+
 
+
== Extra notes ==
+
* Use git on local NTFS disks -- Network drives disks don't support the filesystem semantics GIT needs; for interoperability purposes you can store bare repositories on FAT32 disks.
+
* Be careful with the case in filenames. Similarly, avoid special chars in filenames.
+
* Run git gc early and often. There are slowdowns with many unpacked objects. Be careful to not create very big packfiles (bigger than 2 Gb).
+
* Avoid using Active<code><nowiki></nowiki></code>State Perl if possible. Ask in the [[MailingLists]] if you must.
+
* Try to avoid interrupting (Ctrl-C) processes - it breaks cygwin.
+
* Consider setting core.fileMode to false (git repo-config core.fileMode false) if file modes are frequently the only differences detected by Git. Many Windows applications make the execute bit be set in Cygwin when they save a file. Besides Cygwin detects file mode by stupid combination of content analysis, file name extension and moon phase.
+
* Insert "set CYGWIN=binmode" after the first line of C:\cygwin\cygwin.bat, so you can use Ctrl-z in cygwin's bash to suspend a program.
+
* Make sure not to put 'tty' into your CYGWIN environment variable, this breaks gitk/git-gui.
+
* Windows usually writes end-of-line as CRLF, while Unix/POSIX writes LF. This can cause a variety of problems. There are current efforts to address this.
+
* Setup binary mode for cygwin (there is an option in cygwin's setup program), otherwise Cygwin mangles everything read and written (Git repos have binary files in control structures).
+
* Avoid big repos.
+
* Avoid big blobs (very big files. Basically anything larger than 10Mb is too big).
+
* Avoid big trees (directories with many files in them).
+
* Avoid deep hierarchies.
+
* Reboot regularly (memory fragmentation)
+
* Defragment often (filesystems fragmentation)
+
* See related discussion thread: [http://thread.gmane.org/gmane.comp.version-control.git/53680 Windows support].
+
----
+
[[CategoryGitDocumentation]]
+
  
 
__NOTOC__
 
__NOTOC__

Revision as of 08:59, 30 November 2009

Describe WindowsInstall here.


Personal tools