I was going to modify exipick to handle $tls_sni tonight and was using
it as an excuse to get back into Exim. I ended up not needed to do
the actual work since Phil caught it in his initial $tls_sni
implementation, but I did get the environment set up. In doing so I
had some edit suggestions for the "Technical Setup" section of
http://wiki.exim.org/EximGit. The specific issues I'm addressing are
incorrect command syntax and lack of clarity on which commands are run
on your "dev" server, and which are run on tahini.
I know this is a suggestion and not "the" way to do it, but it is a
very useful starting point, and I thought at least clearing the
command syntax up might help (unless figuring out the correct syntax
is a basic-skills threshold for committing =))
Here's my suggested version:
##########################
Technical Setup
Others may disagree on this - this is my suggested setup as someone
who has full commit access....
1. Initially set your repository up using `git clone
git://git.exim.org/exim.git`. This will be your main development repo
and can live on your personal server or the shared exim development
machine.
2. Ensure that your name and email address are set correctly
(especially if the exim development email address you use is different
to your default one - use `git config` command with keys `user.name`
and `user.email`
3. Ensure that your home directory on the shared development machine
has a `public_git` subdirectory. Create an empty git repository within
that directory that you can use to share changes before pushing to
themain repository - `mkdir -p ~/public_git/myrepo.git; cd
~/public_git/myrepo.git; git init --bare`
4. Set a new remote pointing to a new repo into your public_git
subdirectory - ie `git remote add mydef
ssh://git.exim.org/home/nm4/public_git/myrepo.git`
5. Set up a second remote pointing to the main repository - ie `git
remote add mainline ssh://git.exim.org/home/git/exim.git`
This allows you to pull easily from the mainline using a git pull
command. You can push either to your own visible respository, or to
the main repository as appropriate - ie `git push -u mydef master` to
push changes up to your staging repo for public comment, and `git push
-u mainline master` to push to the main repo.
##########################
These commands worked for me today.
Quick git question - is there any value to setting up the "mainline"
remote in step 5 vs. just using "origin", which I believe is the same
and you get by default?
Thanks
--John