« Previous - Version 29/97 (diff) - Next » - Current version
Sickboy, 02/05/2009 13:47


SCM

Please click "Wiki" in the menu above for generic dev-heaven site help

GENERAL NOTE This wiki is based on the "Exception" rule. Please leave settings/configuration options default, unless it is explicitly listed to do otherwise.

Private and Public Key Files

To connect to a dev-heaven.net ssh host, you must authenticate with a private/public key combination.
Please follow the following steps.

Installation

  • (Windows) Install Putty Suite
  • Create a Key Set with PuttyGen or ssh-keygen (If you don't use a password, you can autoload the key in pageant, but it is also less secure)
  • Send PUBLICkey to admin (Guard the PRIVATEkey with your life! :D)

(After any reboot) if you want to access a dev-heaven.net ssh host:

  • Load your PRIVATEkey into the PageAnt application (Part of putty suite).
  • You are recommended to add a link to autostart with the param(s) to you key file(s).
D:\Programme\Putty\pageant.exe "D:\Programme\Putty\oac_private_key2.ppk" 

At the start you need connect a new host once via putty:

  • Open a connection with putty, to the host (e.g: git.dev-heaven.net) DO NOT save it!
    • Click YES/Accept to accept the server key
    • Close putty again

GIT

This is the beginners guide, feel free to look at the "expertguide":Git_Install_Expert

Windows

Installation

  • (Make sure the Putty suite is installed, see top of page)
  • Install MSysGit (Please lookup the latest available version)
    • Choose to install for Windows Command Line (Middle option, out of 3)
    • Choose to use Plink for SSH
  • Install Git Extensions
    • If you install the Complete*Setup, please *do not install the included MSysGit with it!!
    • Choose to install KDiff (Only available in *Complete*Setup). You can also download & install this application seperately (google)
    • Incase of 64-bit Windows (otherwise skip this step!), if you also want to use the Extensions in 32-bit applications (like Total Commander);
      • also download the .zip file
      • unpack the GitExtensionsShell.dll
      • rename it to GitExtensionsShellEx32.dll
      • place it in your Git Extensions installation folder
      • regsvr32 GitExtensionsShellEx32.dll from a dos prompt
  • Startup the Git Extensions application, and verify that all settings are okay
    • UserName
    • E-mail
    • Application Locations
    • Favorite Editor and Diff/Merge program

Configuration

  • User + Email Settings: You can use Git Extensions Settings for this

Initial Steps

  • Please make sure your keyAgent (e.g Pageant) is running, and your private key is loaded
  • Use interface or cli git: git clone :REPOSITORYNAME.git (Receive repository name from admin)
    • In case of message: "The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is.", press y.

JumpStart

  • In Git, you have a local copy of the repository
  • If you commit, you only commit to your local repository. If you want to push your changes to the shared remote repository, you must first git pull, and then git push
  • If you wish to fetch, you use git pull
  • If there are things to merge, like changes to files by 2 persons, use git merge
  • every git command can be used with --help for basic help output
  • If you wish to look at the log using the GIT Gui on your repository, you can check the Repository Menu, and Visualize master's history (or all branches)
  • First useful git cheat sheet
  • Subversion commands in git

Git use

Staging and Committing Changes

  • If you have Git Extensions installed and properly setup, you can right click a repository and choose "Git Extensions" -> "Browse"
    • You can use this tool to browse the repository+history
    • You can use the "Commit" option in this tool to stage your changes and commit. It works pretty handy with the rescan changes button and other options

Reverting Uncommitted Changes

  • By using the Git Extensions: Browse. Then Commit
  • If your file is already stage, unstage it
  • Right click the file in the top file list, and choose revert changes
  • There are more ways, like hard resetting to current head: git checkout -f (Or in the Commit dialog of Git Extensions: reset changes hard), however, this will revert ALL your currently uncommitted changes

Common problems

Access denied
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Too many authentication failures for git" 

Usually happens when pageant aint running.
Or when you installed msysgit without pointing it to putty plink.

You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either.  Please
name which branch you want to merge on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details on the refspec.

If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:

    branch.master.remote = <nickname>
    branch.master.merge = <remote-ref>
    remote.<nickname>.url = <url>
    remote.<nickname>.fetch = <refspec>

See git-config(1) for details.

Use: git pull origin master
(or push)

Or setup the mentioned settings (execute from your repository folder):

git config branch.master.remote origin
git config branch.master.merge refs/heads/master
git config remote.origin.url git@git.6thsense.eu:REPOSITORYNAME
git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
(replace REPOSITORYNAME with the right repository, e.g test-mod.git)

Info

Experimental Clients

  • NetBeans Git Plugin (This is only a wrapper, you still require a Git Implementation (MSYS/CygWin))
  • TortoiseGit (Simple Gui) (This is only a wrapper, you still require a Git Implementation (MSYS/CygWin))

Subversion (SVN)

  • Please make sure your keyAgent (e.g Pageant) is running, and your private key is loaded
  • DevHeaven Url: svn.dev-heaven.net

Virtual Folders / Working with Repositories in ArmA

dev_heaven_private_read_only_key.ppk - Use ONLY for dev heaven - for read only access! (843 Bytes) kju, 04/22/2009 08:03

dev_heaven_public_read_only_key - Use ONLY for dev heaven - for read only access! (294 Bytes) kju, 04/22/2009 08:03