January 23, 2011
I attempted:

git checkout dmd-1x

from the dmd cloned repository, and got the message:

error: pathspec 'dmd-1x' did not match any file(s) known to git.

But I thought dmd-1x was a named branch?
January 23, 2011

Brad Roberts wrote:
>
> What does 'git diff' show?
>
>
> 

Crap, half of it goes to stdout, the other half to stderr. Here it is:
--------------------------------------------------------------------

warning: CRLF will be replaced by LF in docs/man/man1/dmd.1.
warning: CRLF will be replaced by LF in docs/man/man1/dmd.conf.5.
warning: CRLF will be replaced by LF in docs/man/man1/dumpobj.1.
warning: CRLF will be replaced by LF in docs/man/man1/obj2asm.1.
warning: CRLF will be replaced by LF in docs/man/man1/rdmd.1.
diff --git a/docs/man/man1/dmd.1 b/docs/man/man1/dmd.1
index f5cabdb..9d438e7 100644
--- a/docs/man/man1/dmd.1
+++ b/docs/man/man1/dmd.1
@@ -223,19 +223,19 @@ is treated as if it were appended on the command
line to
 \fBdmd\fR.

 .SH BUGS
-.B -g
-is only implemented for line numbers, not local symbols,
-because I haven't figured out how to do it yet.
-.B gdb
-still works, though, at the global symbol level.
-.PP
-
-The code generator output has not been tuned yet, so it can
-be bloated.
-.PP
-
-Shared libraries cannot be generated.
-.PP
+.B -g
+is only implemented for line numbers, not local symbols,
+because I haven't figured out how to do it yet.
+.B gdb
+still works, though, at the global symbol level.
+.PP
+
+The code generator output has not been tuned yet, so it can
+be bloated.
+.PP
+
+Shared libraries cannot be generated.
+.PP

 The exception handling is not compatible with the way
 .B g++
@@ -252,9 +252,9 @@ Copyright (c) 1999-2009 by Digital Mars written by
Walter Bright
 http://www.digitalmars.com/d/index.html
 .UE

-.SH "SEE ALSO"
-.BR dmd.conf (5)
-.BR rdmd (1)
-.BR dumpobj (1)
-.BR obj2asm (1)
-.BR gcc (1)
+.SH "SEE ALSO"
+.BR dmd.conf (5)
+.BR rdmd (1)
+.BR dumpobj (1)
+.BR obj2asm (1)
+.BR gcc (1)
diff --git a/docs/man/man1/dmd.conf.5 b/docs/man/man1/dmd.conf.5
index d3ab932..21b0061 100644
--- a/docs/man/man1/dmd.conf.5
+++ b/docs/man/man1/dmd.conf.5
@@ -1,45 +1,45 @@
-.TH DMD.CONF 1 "2006-03-12" "Digital Mars" "Digital Mars D"
-.SH NAME
-dmd.conf \- configuration file for
-\BR dmd (1)
-
-.SH SYNOPSIS
-.I /etc/dmd.conf
-
-.SH DESCRIPTION
-dmd will look for the initialization file
-.I dmd.conf
-in the directory \fI/etc\fR. If found, environment variable
-settings in the file will override any existing settings.
-.PP
-
-This is handy to make dmd independent of programs with
-conflicting use of environment variables.
-
-.SH SYNTAX
-Environment variables follow the [Environment] section
-heading, in name=value pairs. Comments are lines that start
-with ;.
-.PP
-
-.SH EXAMPLE
-.PD 0.5
-; dmd.conf file for dmd
-.LP
-; Names enclosed by %% are searched for in the existing environment
-.LP
-; and inserted. The special name %@P% is replaced with the path
-.LP
-; to this file.
-.LP
-[Environment]
-.LP
-DFLAGS="-I%@P%/../src/phobos"
-.PD
-
-.SH FILES
-.I /etc/dmd.conf
-
-.SH "SEE ALSO"
-.BR dmd (1)
-.BR rdmd (1)
+.TH DMD.CONF 1 "2006-03-12" "Digital Mars" "Digital Mars D"
+.SH NAME
+dmd.conf \- configuration file for
+\BR dmd (1)
+
+.SH SYNOPSIS
+.I /etc/dmd.conf
+
+.SH DESCRIPTION
+dmd will look for the initialization file
+.I dmd.conf
+in the directory \fI/etc\fR. If found, environment variable
+settings in the file will override any existing settings.
+.PP
+
+This is handy to make dmd independent of programs with
+conflicting use of environment variables.
+
+.SH SYNTAX
+Environment variables follow the [Environment] section
+heading, in name=value pairs. Comments are lines that start
+with ;.
+.PP
+
+.SH EXAMPLE
+.PD 0.5
+; dmd.conf file for dmd
+.LP
+; Names enclosed by %% are searched for in the existing environment
+.LP
+; and inserted. The special name %@P% is replaced with the path
+.LP
+; to this file.
+.LP
+[Environment]
+.LP
+DFLAGS="-I%@P%/../src/phobos"
+.PD
+
+.SH FILES
+.I /etc/dmd.conf
+
+.SH "SEE ALSO"
+.BR dmd (1)
+.BR rdmd (1)
diff --git a/docs/man/man1/dumpobj.1 b/docs/man/man1/dumpobj.1
index 13ed7e2..bf0fd99 100644
--- a/docs/man/man1/dumpobj.1
+++ b/docs/man/man1/dumpobj.1
@@ -15,5 +15,5 @@ pretty-print
 .SH AUTHOR
 Copyright (C) Digital Mars 1985-2003.  All Rights Reserved.

-.SH "SEE ALSO"
-.BR dmd (1)
+.SH "SEE ALSO"
+.BR dmd (1)
diff --git a/docs/man/man1/obj2asm.1 b/docs/man/man1/obj2asm.1
index 9e3098c..5b6bfea 100644
--- a/docs/man/man1/obj2asm.1
+++ b/docs/man/man1/obj2asm.1
@@ -48,8 +48,8 @@ following commands:
 .PP

 .PD 0.5
-dmd -c -g test
-.LP
+dmd -c -g test
+.LP
 obj2asm test.o
 .PD

@@ -67,5 +67,5 @@ www.digitalmars.com/ctg/obj2asm.html

 Copyright (C) Digital Mars 2000-2003.  All Rights Reserved.

-.SH "SEE ALSO"
-.BR dmd (1)
+.SH "SEE ALSO"
+.BR dmd (1)
diff --git a/docs/man/man1/rdmd.1 b/docs/man/man1/rdmd.1
index 4090f2b..4017130 100644
--- a/docs/man/man1/rdmd.1
+++ b/docs/man/man1/rdmd.1
@@ -1,4 +1,4 @@
-.TH RDMD 1 "2006-03-12" "Digital Mars" "Digital Mars D"
+.TH RDMD 1 "2006-03-12" "Digital Mars" "Digital Mars D"
 .SH NAME
 rdmd \- Digital Mars D executable cacher

@@ -8,58 +8,58 @@ rdmd \- Digital Mars D executable cacher
 .B [program arguments]

 .SH DESCRIPTION
-.B rdmd
-is a program to compile, cache and execute D source code
-files or 'pseudo shell scripts' (using the she-bang syntax
-with dmd v0.146 or above) on Linux and Windows systems.
-
-It will cache the executable in the
-.I /tmp
-directory by default and will re-compile the executable if
-any of the source file, the compiler or rdmd itself is
-newer than the cached executable. It can optionally use
-.B gdmd
-if specified, but uses
-.B dmd
-by default.
-
-.SH OPTIONS
-.IP --help
-Print help
-
-.IP --force
-Force re-compilation of source code [default = do not
-force]
-
-.IP --compiler=(dmd|gdmd)
-Specify compiler [default = \fBdmd\fR]
-
-.IP --tmpdir=\fItmp_dir_path\fR
-Specify directory to store cached program and other
-temporaries [default = \fI/tmp\fR]
-
-.SH NOTES
-.B dmd
-or
-.B gdmd
-must be in the current user context $PATH
-.PP
-
-.B rdmd
-does not support execution of D source code via stdin
-.PP
-
-.B rdmd
-will only compile and execute files with a '.d' file
-extension
-.PP
-
-\fBrdmd\fR's functionality will probably get folded into
-dmd itself
-
+.B rdmd
+is a program to compile, cache and execute D source code
+files or 'pseudo shell scripts' (using the she-bang syntax
+with dmd v0.146 or above) on Linux and Windows systems.
+
+It will cache the executable in the
+.I /tmp
+directory by default and will re-compile the executable if
+any of the source file, the compiler or rdmd itself is
+newer than the cached executable. It can optionally use
+.B gdmd
+if specified, but uses
+.B dmd
+by default.
+
+.SH OPTIONS
+.IP --help
+Print help
+
+.IP --force
+Force re-compilation of source code [default = do not
+force]
+
+.IP --compiler=(dmd|gdmd)
+Specify compiler [default = \fBdmd\fR]
+
+.IP --tmpdir=\fItmp_dir_path\fR
+Specify directory to store cached program and other
+temporaries [default = \fI/tmp\fR]
+
+.SH NOTES
+.B dmd
+or
+.B gdmd
+must be in the current user context $PATH
+.PP
+
+.B rdmd
+does not support execution of D source code via stdin
+.PP
+
+.B rdmd
+will only compile and execute files with a '.d' file
+extension
+.PP
+
+\fBrdmd\fR's functionality will probably get folded into
+dmd itself
+
 .SH AUTHOR
 Written by Dave Fladebo and Robert Mariottini

-.SH "SEE ALSO"
-.BR dmd (1)
-.BR gdmd (1)
+.SH "SEE ALSO"
+.BR dmd (1)
+.BR gdmd (1)

January 23, 2011
On 1/23/2011 10:32 PM, Walter Bright wrote:
> 
> I attempted:
> 
> git checkout dmd-1x
> 
> from the dmd cloned repository, and got the message:
> 
> error: pathspec 'dmd-1x' did not match any file(s) known to git.
> 
> But I thought dmd-1x was a named branch?

dmd-1.x
January 23, 2011
On 01/23/2011 10:37 PM, Walter Bright wrote:
> Brad Roberts wrote:
>>
>> What does 'git diff' show?
>
> Crap, half of it goes to stdout, the other half to stderr. Here it is:
> --------------------------------------------------------------------
>
> warning: CRLF will be replaced by LF in docs/man/man1/dmd.1. warning: CRLF will be replaced by LF in docs/man/man1/dmd.conf.5. warning: CRLF will be replaced by LF in docs/man/man1/dumpobj.1. warning: CRLF will be replaced by LF in docs/man/man1/obj2asm.1. warning: CRLF will be replaced by LF in docs/man/man1/rdmd.1.

It looks like git is fixing CRLF's, perhaps because you're using a non-default CRLF git setting?  I just took a look at a fresh checkout on a Linux system, and I see that at least dmd.1 has CRLF's, though git isn't threatening to convert the line endings for me.

Thanks,
Jason
January 23, 2011

Brad Roberts wrote:
> On 1/23/2011 10:32 PM, Walter Bright wrote:
> 
>> I attempted:
>>
>> git checkout dmd-1x
>>
>> from the dmd cloned repository, and got the message:
>>
>> error: pathspec 'dmd-1x' did not match any file(s) known to git.
>>
>> But I thought dmd-1x was a named branch?
>> 
>
> dmd-1.x
>
> 

Of course, that was staring me in the face the whole time and I did not see it. Thanks!

But I can't check it out now until the durned man pages get fixed.
January 23, 2011
On 1/23/2011 11:01 PM, Walter Bright wrote:
> 
> 
> Brad Roberts wrote:
>> On 1/23/2011 10:32 PM, Walter Bright wrote:
>> 
>>> I attempted:
>>>
>>> git checkout dmd-1x
>>>
>>> from the dmd cloned repository, and got the message:
>>>
>>> error: pathspec 'dmd-1x' did not match any file(s) known to git.
>>>
>>> But I thought dmd-1x was a named branch?
>>> 
>>
>> dmd-1.x
>>
>> 
> 
> Of course, that was staring me in the face the whole time and I did not see it. Thanks!
> 
> But I can't check it out now until the durned man pages get fixed.

You can throw away your local changes to that directory with:

$ git checkout docs


January 24, 2011
On 24 January 2011 04:32, Jason Evans <jasone at canonware.com> wrote:
> On 01/23/2011 06:57 PM, Andrei Alexandrescu wrote:
>>
>> Say I have a change to make to one file in phobos 2 to get started. Could you please summarize what steps I need to take?
>
> Let's suppose we want to update the README.txt in druntime, which currently refers to dsource.org. ?First we need a git repository to work in. ?Take a look at the following web page to get the appropriate ssh location.
>
> ?https://github.com/D-Programming-Language/druntime
>
> Clone the repository.
>
> ?$ git clone git at github.com:D-Programming-Language/druntime.git

Worth noting that on Windows, you *must* be in the git bash shell. If
you try this from the windows command prompt you get:
Initialized empty Git repository in
/cygdrive/c/dmd2dev/src/gitdmd/druntime/.git/
fatal: exec ssh failed.
fatal: The remote end hung up unexpectedly

BTW: Thanks Jason,  I think this will be a great step forward for D.
January 24, 2011

Don Clugston wrote:
> Worth noting that on Windows, you *must* be in the git bash shell. If
> you try this from the windows command prompt you get:
> Initialized empty Git repository in
> /cygdrive/c/dmd2dev/src/gitdmd/druntime/.git/
> fatal: exec ssh failed.
> fatal: The remote end hung up unexpectedly
>
> 

My general experiences with linux apps ported to Windows is that they suck because:

1. the main devs won't touch windows, so the ports are done by someone
else who doesn't really understand the code
2. the app tends to have weird and wacky problems with / and \ in paths
3. running the app requires a boatload of other linux utilities that are
also half-assed ports to windows
4. the app has a schizophrenic relationship with LF vs CRLF line endings
(git has this problem)
5. the windows port tends to lag by multiple versions
6. the windows port randomly crashes and nobody cares (I'm looking at
you, LaTeX)
7. documentation is lacking on the windows port
8. tech support is lacking for it

So I'm not even attempting to run git on Windows. Git was designed and written by Linux people, and it probably runs best on Linux.

tl;dr I suggest you get a linux box!!
January 24, 2011
On 24 January 2011 09:54, Walter Bright <walter at digitalmars.com> wrote:
>
>
> Don Clugston wrote:
>>
>> Worth noting that on Windows, you *must* be in the git bash shell. If
>> you try this from the windows command prompt you get:
>> Initialized empty Git repository in
>> /cygdrive/c/dmd2dev/src/gitdmd/druntime/.git/
>> fatal: exec ssh failed.
>> fatal: The remote end hung up unexpectedly
>>
>>
>
> My general experiences with linux apps ported to Windows is that they suck because:
>
> 1. the main devs won't touch windows, so the ports are done by someone else
> who doesn't really understand the code
> 2. the app tends to have weird and wacky problems with / and \ in paths
> 3. running the app requires a boatload of other linux utilities that are
> also half-assed ports to windows
> 4. the app has a schizophrenic relationship with LF vs CRLF line endings
> (git has this problem)
> 5. the windows port tends to lag by multiple versions
> 6. the windows port randomly crashes and nobody cares (I'm looking at you,
> LaTeX)
> 7. documentation is lacking on the windows port
> 8. tech support is lacking for it

That's my experience, too. And there often seems to be a denial that the support is so poor.  (This is why I had advocated Mercurial over git).

> So I'm not even attempting to run git on Windows. Git was designed and written by Linux people, and it probably runs best on Linux.

Of course, it does. Nonetheless, we have to be able to develop on Windows. We don't want D to end up with same crappy Windows non-support that git has!
January 24, 2011
Walter Bright wrote:
> Jason Evans wrote:
> >
> >The above example has several steps in it that can be skipped for such a simple change, but for more involved changes, this work flow is the foundation.  git is a complex tool, but the underlying concepts are coherent, consistent, and straightforward.  Learn those concepts well and you will be largely able to infer what git is capable of.
> >
> >
> 
> This is good stuff, thanks!
> 
> How do we set things so that line endings are automatically normalized to LF?

http://help.github.com/dealing-with-lineendings/
see
"I just cloned and git says files have changed!"

Does this help?

Jens