AFS + git + Windows

Mickey Lane <[email protected]> Fri, 10 Jul 2009 16:44:05 -0400
Newsgroups gmane.comp.file-systems.openafs.devel.win32
Message-ID <000601ca019f$2b9e6870$82db3950$@com>
I would like to start a dialog about building AFS 1.5.60+ for Windows from
the new git repository. 

 

I would also like to thank Simon (plus others?) for the page at
http://www.dementia.org/twiki/bin/view/AFSLore/GitDevelopers.

 

For whatever reason, I am having a really hard time grasping the basics of
git. Couple that with the fact that all the available material on git plus
the tool environment use the Unix syntax and I'm feeling pretty lost here.

 

I have the cygwin package with pretty much everything installed. The git
components were updated this AM.

 

I have a root directory of 'C:\OpenAFS'. Below that, I manually created the
empty directory 'Git'.

 

I opened the cygwin console, navigated to C:\OpenAFS\Git' and did (with the
noise removed):

 

$ git clone git://git.openafs.org/openafs.git c:\OpenAFS\Git

Initialized empty Git repository in /cygdrive/c/OpenAFS/Git/OpenAFSGit/.git/

remote: Counting objects: 109525, done.

remote: Compressing objects: 100% (21959/21959), done.

remote: Total 109525 (delta 88082), reused 108078 (delta 86710)

Receiving objects: 100% (109525/109525), 57.55 MiB | 600 KiB/s, done.

Resolving deltas: 100% (88082/88082), done.

Checking out files: 100% (4830/4830), done.

 

$ git config --global user.name "Mickey Lane"

 

$ git config --global user.email "[email protected]"

 

$ cd OpenAFSGit

 

(now in C:\OpenAFS\Git\OpenAFSGit)

$ git branch -r

  origin/HEAD

  origin/disconnected

  origin/instrumentation

  origin/master

  origin/openafs-1_3_82-macos-10_4

  origin/openafs-devel-1_5_3x

  origin/openafs-devel-1_5_x

  origin/openafs-devel-autoconf

  origin/openafs-prototypes-1_3_x

  origin/openafs-rx-enhancements

  origin/openafs-rxkad-krb5

  origin/openafs-rxkad-krb5-lha

  origin/openafs-stable-1_0_x

  origin/openafs-stable-1_1_x

  origin/openafs-stable-1_2_2x

  origin/openafs-stable-1_2_9a

  origin/openafs-stable-1_2_x

  origin/openafs-stable-1_3_85-linux-oldinode

  origin/openafs-stable-1_4_0-branch

  origin/openafs-stable-1_4_10_1-branch

  origin/openafs-stable-1_4_6-branch

  origin/openafs-stable-1_4_7pre5+

  origin/openafs-stable-1_4_9-branch

  origin/openafs-stable-1_4_x

  origin/openafs-windows-kdfs-ifs-branch

  origin/prdb-extensions

  origin/rxk5

  origin/rxk5-devel-1_5_57

  origin/rxk5-devel-1_5_x

  origin/rxtcp

 

$ cd ..

 

I want to make a separate directory tree to do my build in because I add my
own stuff to it (My stuff = my own build batch files + a Visual Studio
Solution) and I don't want to corrupt the original files from openafs.org.

 

(now in C:\OpenAFS\Git)

$ git clone -l --no-hardlinks --origin mygit
file:///cygdrive/c/OpenAFS/Git/OpenAFSGit MyGit

Initialized empty Git repository in /cygdrive/c/OpenAFS/Git/MyGit/.git/

remote: Counting objects: 109311, done.

remote: Compressing objects: 100% (20578/20578), done.

remote: Total 109311 (delta 87905), reused 109271 (delta 87877)

Receiving objects: 100% (109311/109311), 57.51 MiB | 12490 KiB/s, done.

Resolving deltas: 100% (87905/87905), done.

Checking out files: 100% (4830/4830), done.

 

This added a directory named 'MyGit' as a peer of the one containing the
openafs.org files. I added my stuff to 'MyGit' and tried to build. Didn't
work and the error is not at all obvious: "config target does not exist"

 

I repeated the clone process above after doing 'git checkout
origin/openafs-devel-1_5_x' and got the same result.

 

So my very very basic questions are:

 

#1 What exactly is 'checkout'? What does it do?

 

#2 Is making my own directory tree wrong? Should I have done a checkout with
'git checkout -b mygit origin/openafs-devel-1_5_x'?

 

#3 If I do #2 and then add my directories and files to the
C:\OpenAFS\Git\OpenAFSGit tree, do they go away if I checkout something
else?

 

#4 When I cloned all the files from openafs.org, did I establish a
relationship between that repository and the one on my machine? If I deleted
everything and started over, would there be a broken link/status/etc
somewhere? (e.g. I can check the same thing out of CVS 10 times without
causing harm.)

 

Any comments greatly appreciated.

Mickey.