Commit graph

837 commits

Author SHA1 Message Date
Sitaram Chamarty c4069dd85f (please read full commit message) upgrade behaviour changed
**upgrades no longer touch the config or the keydir**

When you first install gitolite, the easy install script has to do two
*distinct* things:

  * install the software
  * create and seed the gitolite-admin repo with a minimum config file
    and the newly created pubkey

That's fine for an install, because nothing exists yet anyway.

Subsequent invocations of the script should only do the first task (so
that gitolite itself can be upgraded), and not attempt to fiddle with
the config file and pubkeys.

Unfortunately, until now I had not been separating these two activities
cleanly enough.  For instance, the commit message for 8e47e01 said:

    IMPORTANT: we assume that $admin_name remains the same in an upgrade
    -- that's how we detect it is an upgrade!  Change that name or his
    pubkey, and you're toast!

Ouch!

So now I decided to clean things up.  The "Usage" message tells you
clearly what to do for an upgrade.

Should have been like this from the beginning, but hey we got there
eventually :)

----

Code-wise, this is a major refactor of the easy install script.  It uses
an old forgotten trick to get forward refs for bash functions ;-) and in
the process cleans up the flow quite a bit.
2009-11-06 15:37:03 +05:30
Sitaram Chamarty 130478ed93 easy install: handle upgrades specially
- "it's an upgrade" is decided by presence of gitolite.conf (not a pubkey)
  - admin_name optional (and will be ignored if given) for upgrades

plus a lot of comments and some minor text changes
2009-11-06 12:36:40 +05:30
Sitaram Chamarty 31fd24a76c compile: death should be a little louder and clearer :) 2009-11-05 23:13:39 +05:30
Sitaram Chamarty 8aecaa2da2 doc/6: rename the file, change focus completely 2009-11-05 23:13:39 +05:30
Sitaram Chamarty 33305ed8e7 doc/1: fix formatting problem on github
(local mkd worked fine... weird!)
2009-11-05 23:13:38 +05:30
Sitaram Chamarty 92d5062ad0 doc/src: major doc/help text revamp
also removed some dead code from compile (pre PTA days)
2009-10-31 00:21:37 +05:30
Sitaram Chamarty 5108aedd48 Merge branch 'gh-issue-2' into pu 2009-10-30 18:02:32 +05:30
Sitaram Chamarty 7907213316 easy install: clean up after yourself :) 2009-10-30 17:43:26 +05:30
Sitaram Chamarty b94ff910d1 doc/6: explain that all this is *only* for the admin 2009-10-30 17:42:26 +05:30
Sitaram Chamarty 26b4992162 compile: (gh issue 2) apparently pubkeys don't always end in a newline
I've never encountered this but it's an easy fix
2009-10-30 10:39:05 +05:30
Sitaram Chamarty 648dce20ec auth: make ".git" at the end optional 2009-10-30 10:37:02 +05:30
Sitaram Chamarty 071ff4c210 easy install: cleaned up the closing credits; err I mean instructions :) 2009-10-30 10:37:02 +05:30
Sitaram Chamarty a19a7f01d7 auth, doc/3: print useful information when no command given 2009-10-28 21:46:57 +05:30
Sitaram Chamarty fd6fb9e9e1 easy install: save version info, print upgrading message 2009-10-28 21:46:57 +05:30
Sitaram Chamarty a23622a31b doc/3: add section on unexpected gitwebauth good-ness! 2009-10-28 21:46:57 +05:30
Sitaram Chamarty 593ed765a7 Merge branch 'system-install' 2009-10-28 21:46:27 +05:30
Sitaram Chamarty 98124596ed doc/6: no idea how but this ended up with CRLF line endings (ugh!) 2009-10-25 21:32:32 +05:30
Sitaram Chamarty 999513c1d9 doc/install: document the new -q flag 2009-10-25 19:23:15 +05:30
Sitaram Chamarty aef540c659 easy install: add "-q" option for experts; see usage message 2009-10-25 17:55:10 +05:30
Sitaram Chamarty 2f6ed42fcd install and compile: learnt a '-q' flag (not for manual use!)
...only for easy install to use in "quiet" mode
2009-10-25 17:48:13 +05:30
Sitaram Chamarty 78d02e1437 the rc file can now be in one of 2 places...
Packaging gitolite for debian requires the rc file to be in /etc/gitolite.
But non-root installs must still be supported, and they need it in $HOME.

This means the rc file is no longer in a fixed place, which needs code to find
the rc file first.  See comments inside new file 'gitolite.pm' for details.

The rest of the changes are in the other programs, to replace the hard-coded
rc filename with a call to this new code.
2009-10-25 12:45:45 +05:30
Sitaram Chamarty 8eefc036e0 rc, pta-hook/doc: don't assume $HOME of 'git' user is /home/git
(Thanks to Jerome Arbez-Gindre)
2009-10-23 10:23:06 +05:30
Sitaram Chamarty 96fa0da946 allow a/b/c type repos to be created 2009-10-23 10:14:41 +05:30
Sitaram Chamarty d6dc1c0856 added doc/6: more complex ssh setups 2009-10-21 19:19:20 +05:30
Sitaram Chamarty a91d569291 ...because writing in crayon wasn't possible :)
[long story...!]
2009-10-21 19:19:00 +05:30
Sitaram Chamarty 536e3198bf doc fixes...
- README: add a "what" section first, plus a few minor fixes
  - doc/5:
      - remove reference to obsolete ml branch URL; point it to the right
        place with the right section name
      - change text to reflect the fact that p-t-a is now the default!
2009-10-14 14:09:34 +05:30
Sitaram Chamarty 8e47e0117a easy install: much more idempotent...
- example config file is now all comments (should have been that way anyway)
  - we detect if it is an upgrade and act accordingly (see below)

IMPORTANT: we assume that $admin_name remains the same in an upgrade -- that's
how we detect it is an upgrade!  Change that name or his pubkey, and you're
toast!
2009-10-14 13:40:49 +05:30
Sitaram Chamarty 2a63026954 easy install: emphasise advice re passphrases on the new key 2009-10-14 13:40:49 +05:30
Sitaram Chamarty 481242f6cb doc/3: minor fix to an already minor change :) 2009-10-13 11:46:04 +05:30
Sitaram Chamarty 2fdd7b34f5 Merge branch 'easy-install' 2009-10-13 11:43:15 +05:30
Sitaram Chamarty b3cab456d5 easy-install: committed before testing? tsk tsk tsk! 2009-10-13 10:16:27 +05:30
Sitaram Chamarty 59e15e62a1 support git installed outside default $PATH
(also some minor fixes to doc/3)
2009-10-13 10:03:12 +05:30
Sitaram Chamarty 030b3f29ef easy install: minor improvement in detection of password-less auth 2009-10-13 10:03:12 +05:30
Sitaram Chamarty 55ccb8291b easy install: change ssh-agent detection
use ssh-add -l instead of $SSH_AGENT_PID to decide if agent is running
2009-10-13 10:03:12 +05:30
Sitaram Chamarty d125488107 doc/3 minor re-arrangement 2009-10-13 10:03:12 +05:30
Sitaram Chamarty e0e9d38920 easy install: minor formatting stuff 2009-10-12 21:21:29 +05:30
Sitaram Chamarty fc36050972 easy install: one step toward idempotency... 2009-10-12 20:44:56 +05:30
Sitaram Chamarty 9e46920fe3 faq: explain one user many keys a bit better 2009-10-12 20:02:38 +05:30
Sitaram Chamarty 48e18e1d2d easy install: some minor fixes
- fix typo in introduction
  - detect if you're not running strictly as src/00-easy-install.sh
2009-10-12 10:37:51 +05:30
Sitaram Chamarty 0b81bfd6ec easy install: allow ports other than 22 for ssh to server 2009-10-11 14:19:00 +05:30
Sitaram Chamarty d78bbe8c3e lots of doc changes reflecting "push to admin" is default now :)
- added comments to easy install to help do it manually
  - README: some stuff moved to tips doc, brief summary of extras
    (over gitosis) added
  - INSTALL: major revamp, easy install and manual install,
    much shorter and much more readable!

plus other docs changed as needed, and updated the tips doc to roll in
some details from "update.mkd" in the "ml" branch
2009-10-11 14:19:00 +05:30
Sitaram Chamarty d0d9cbe3af easy install comment about clientside/serverside was wrong 2009-10-11 14:19:00 +05:30
Sitaram Chamarty ccd8372bb3 aa ha! easy install script!
src/00-easy-install.sh does *everything* needed, and it's mostly
self-documented
2009-10-11 14:19:00 +05:30
Sitaram Chamarty 9d2c9662a2 install: can't assume p-t-a is setup!
make installing the p-u hook conditional to avoid ugly error
2009-10-11 14:18:59 +05:30
Sitaram Chamarty af7fd0bf2e Merge branch 'master' into delegation 2009-10-07 12:40:08 +05:30
Sitaram Chamarty 410c9ba46c doc/install: add missing "cd" 2009-10-07 12:33:49 +05:30
Sitaram Chamarty f883fe7d71 compile: comments+efficiency
- add better comments on the 2 main hashes
  - work around an inefficiency caused by the exclude prep code needing
    a list instead of a hash at a certain place
2009-10-05 20:21:33 +05:30
Sitaram Chamarty ec2ad64b38 doc/delegation: never ending quest to write well :) 2009-10-05 19:39:55 +05:30
Sitaram Chamarty 8096cc8e9c install.pl, pta hook, upgrade doc:
- install the post-update hook also
  - fix bashism in pta-hook

Also, since delegation works best with PTA, reflect that in the upgrade doc
2009-10-05 16:55:14 +05:30
Sitaram Chamarty 3c960aa5e1 pta hook: avoid spurious error messages on old fragments 2009-10-04 15:51:32 +05:30