On Jul 26, 2007, at 5:15 AM, Shawn O. Pearce wrote:
Why Cygwin? Because I have to use Windows, but I'd rather use Linux.
No, Linux isn't permitted. And Solaris/x86 is only allowed on
"servers". I have yet to find a way to classify my desktop as
a server. :-|
git-gui is fairly well supported under Cygwin, as I use it a lot
in my day-job. As do a lot of my coworkers. Which actually gives
me a pretty good testing ground; ~20 people all beating on git-gui
all day long is a pretty sizable testing group. I actually wonder
some days if git-gui is better tested on Cygwin than it is on Linux.
But as has been stated on this thread, Cygwin isn't native Windows.
So apparently you're working in a reasonably sized group of people all
testing git on cygwin. I'd be completely satisfied if git ran rock solid
on cygwin.
I found the following list of warnings about cygwin in the wiki
entry WindowsInstall [1]. Some points look quite scary to me.
What is your real-world experience? Are the warning still valid?
Must I really fear to break cygwin if I press Ctrl-C?
Do I really need to reboot regularly? I don't think this is an
option. Nowadays our Windows boxes run for months, too. I can't
seriously tell people that they need to regularly reboot if they
want to use git.
Here's the list, copied from http://git.or.cz/gitwiki/WindowsInstall
* 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 ActiveState 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=tty binmode" after the first line of C:
\cygwin\cygwin.bat, so you can use Ctrl-z in cygwin's bash to suspend
a program.
* 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)
Steffen
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html