Commit graph

751 commits

Author SHA1 Message Date
Sitaram Chamarty 871ed281cc v2.1 2011-09-29 07:33:53 +05:30
Sitaram Chamarty 2056c95917 from-client (gl-easy-install) is now obsolete 2011-09-29 07:31:43 +05:30
Sitaram Chamarty 8b501a1872 (doc) assorted docfixes 2011-09-28 04:23:32 +05:30
Sitaram Chamarty a6668b90c3 (minor) error message clarity...
'should not happen' was appropriate before I added --dirty, but now it's
more likely to be due to an old git version
2011-09-28 04:12:36 +05:30
Sitaram Chamarty 35f402a140 (admin doc): redo section on moving pre-existing repos into gitolite
some separation between the 2 types so far, plus add a third section for
importing *wildcard* repos wholesale.  And finally add some explanations
for folks who want to know why.
2011-09-27 15:30:24 +05:30
Sitaram Chamarty a2fd597c51 'symbolic-ref' ADC replaces and obsoletes 'set-head'
set-head was too specific.  See comments in symbolic-ref for more on
this ADC, but basically it lets you run 'git symbolic-ref' on a repo
that you have write access to.

(in response to http://comments.gmane.org/gmane.comp.version-control.git/182067)
2011-09-26 19:43:57 +05:30
Sitaram Chamarty 6efea9d7a3 (doc) admin-defined commands doc fixes:
- make the warning less juvenile ;-)
  - de-emphasise the connection to wild repos; it's not as deep as the
    doc made it out to be
  - move the historical stuff out of the way
2011-09-25 10:13:50 +05:30
Sitaram Chamarty 7b8866dbf6 (password access) can now do ADCs also
idea credit Jeff (though I'm sure he didn't ask this on behalf of the
KDE folks ;-)
2011-09-16 09:15:42 +05:30
Sitaram Chamarty 32417b5b39 (password access) make the hostkey thing less of a problem...
...for the code, not for the admin ;-)

OK that sounds nasty but really it's not that bad.  We're replacing some
code with a one-time step for the admin which is also likely to be more
future-proof.

idea credit: Teemu
2011-09-16 09:01:42 +05:30
Sitaram Chamarty c69c10366d password access to gitolite using real users 2011-09-15 14:52:38 +05:30
Sitaram Chamarty 63f18a5adf fix a rather large typo/thinko in 1006eba
If you look at this change, and the same lines in 1006eba, you can
easily see what I missed...
2011-09-10 19:46:37 +05:30
Sitaram Chamarty fcb41f06f0 new program gl-dryrun; run without arguments for usage/WARNINGS 2011-09-10 11:41:51 +05:30
Sitaram Chamarty d2c10e87d8 (minor) change to version reporting 2011-09-10 11:08:54 +05:30
Sitaram Chamarty 37584908eb sshkeys-lint upgraded (may need testing)
upgraded to recognise host (mirroring peer) keys and shell keys
2011-09-03 07:50:13 +05:30
Sitaram Chamarty e3bc6e7c48 lotsa doca fixa uppa
major changes
  - (src) one error message got more detail
  - long overdue fixup to developer notes doc

plus many minor changes that have been piling up

PS: to dig into the "alliterative animal" comment, check the channel
logs around aug 23rd ;-)
2011-09-03 07:50:13 +05:30
Sitaram Chamarty c41fcc2653 added doc and helper for complex mirroring setups, to contrib 2011-09-02 22:41:27 +05:30
Sitaram Chamarty 10985cb534 repo_rights is no longer a kosher *public* interface
so remove the last vestiges of it from the contrib area
2011-09-02 22:41:27 +05:30
Behan Webster 330bed0dcf Rewrite of gl-conf-convert to support more complex gitosis.conf files
comments from contributor via email:

  * Translates all repos from gitosis to gitolite, even if their are not
    associated with any groups
  * Transfers gitweb settings (gitweb, description and owner)
  * Transfers git-dameon settings
  * Maintains comments for groups and repos

  As far as I can tell, the results from this filter are working fine
  for our transfer from gitosis to gitolite.
2011-09-02 22:41:27 +05:30
Sitaram Chamarty ddf4330d1e quick install in main README
requested by someone who told me it's high time I catered to the experts
too, and saved them some time on the install!

I took the opportunity to streamline the README (especially the "what"
section), and to prioritise the non-root method over the root method in
the install doc.
2011-09-02 17:40:07 +05:30
Sitaram Chamarty 6a3cd5d6b1 Merge pull request #32 from ebfe/bump_requirements
git >= 1.6.6 is required since 49f5361
2011-09-02 05:09:06 -07:00
Sitaram Chamarty 6863dca73a retain old file's permissions in wrap_print()
wrap_print() was written to create a new file and rename the old one to
avoid a partially written file being read by other processes.  This has
only been reported for the 'projects.list' file, but I just did it for
all files as a matter of course.

list of files currently written via this function:
gl-creater, gl-perms, description, git-daemon-export-ok, projects.list

However, some people want to do the following:

  - set REPO_UMASK tight (0077, default)
  - manually change the perms to something looser (typically g+rX) for
    specific repos
  - set core.sharedRepository to 0750 (git is documented to honor that
    config if available and to override umask)

Except that core.sharedRepository does not apply to files written by
gitolite and not git itself.  So they would open up their description
files and the next compile would close them again!

This patch prevents this from happening.  If the file already exists, it
maintains the same permissions after the rename.
2011-09-02 16:45:27 +05:30
Sitaram Chamarty 7c8c5a899b add example setups to mirroring doc; also other fixups 2011-08-30 20:50:34 +05:30
Sitaram Chamarty e139be927a new 'subconf' feature to explicitly do delegation
(includes HOSTNAME substitution feature also...)
2011-08-30 20:50:34 +05:30
Sitaram Chamarty 0ec3d77761 delegation: allow includes in fragments, fixup doc
I could not think why we disallowed includes in subconfs, since an
include is the same as inserting all those lines inline anyway.
2011-08-30 11:42:03 +05:30
Sitaram Chamarty d01f6b1dbb config variables should not be restricted to double quoted strings
previously, these two would produce different results

    config aa.bb = 'true'   # config file line includes single quotes
    config aa.bb = "true"   # config file line does not include any quotes

Now the former will also behave like the latter.
2011-08-29 14:20:34 +05:30
Sitaram Chamarty 2eee4d627a Merge 'mirroring-revamp' into pu 2011-08-29 13:57:38 +05:30
Sitaram Chamarty 388cf76c73 document the "sequencing repo config" fix made earlier
plus some reorg of the section so it reads easier (I hope!)
2011-08-27 22:07:01 +05:30
Sitaram Chamarty a70120a3df (minor) test driver revert; debugging code had snuck in... 2011-08-27 22:07:01 +05:30
Sitaram Chamarty 52cb3e1b8d gl-setup-authkeys had an obsolete usage message 2011-08-26 07:10:56 +05:30
Michael Gehring d4570cc340 git >= 1.6.6 is required since 49f5361 2011-08-25 15:35:29 +02:00
Sitaram Chamarty d76c83f948 Merge pull request #30 from christilden/pu
Fixes documentation typos
2011-08-25 04:07:49 -07:00
Chris Tilden 0172868da7 Fixes documentation typos 2011-08-24 13:12:42 -07:00
Sitaram Chamarty e5e95794ef (doc) hook chaining explained a bit better
nagp-compatible ;-)
2011-08-23 00:01:43 +05:30
Sitaram Chamarty e970327cc1 rc: get rid of GL_GITCONFIG_WILD
was only for efficiency even when it was relevant, and now it's just in
the way, making useless noises.
2011-08-17 21:53:06 +05:30
Sitaram Chamarty 056459aeda fix sequencing for repo config statements
Without this, complex mirroring scenarios will be unpredictable.  For
example (abbreviating "gitolite.mirror." to "gimo.") something as simple
as this will not give "foo" his different mirror setup

    repo @all
        config gimo.master = "frodo"
        config gimo.slaves = "sam"

    repo foo
        config gimo.master = "sam"
        config gimo.slaves = "frodo gollum"

    repo foo bar
        RW  =   u1

Even worse things happen when you have wild cards.

Now, however, they all come in the right sequence and the most recent
one takes effect (unlike ACL rules, where the first match wins, because
there you're trying to just find a match and get out, while here you're
just mindlessly applying config lines in the right order).
2011-08-17 21:03:14 +05:30
Sitaram Chamarty 442d7ca29c mirroring doc updates:
- caution about wild repos needing to be manually created on the
    receiving side (because nothing gets auto-created now)

  - caution about the right and wrong way to "delete" a config variable

  - a few other minor fixes
2011-08-17 11:59:00 +05:30
Sitaram Chamarty 4b9bf222e5 (mirroring) make bg push errors more visible/easier to grep 2011-08-16 14:28:01 +05:30
Sitaram Chamarty fabfcb5c19 default remote command should be 'info' if none given 2011-08-15 07:02:43 +05:30
Sitaram Chamarty ae20d5c6a7 log_it(): GL_USER may be undefined...
with gl-mirror-shell being a command you can just type on the server,
GL_USER may be undefined, so we now avoid those unsightly warnings
2011-08-15 07:02:43 +05:30
Sitaram Chamarty b11d44e036 (mirroring) make cron jobs easier to write
gl-mirror-shell will now take a list of slaves and/or keys, expanding
the keys in place.  See doc for even more improvements and conveniences.
2011-08-15 07:02:42 +05:30
Sitaram Chamarty aa7ff8ac27 (mirroring) some more error checking 2011-08-14 22:22:31 +05:30
Sitaram Chamarty e3b1fdfd69 (mirroring doc) explain how this is more than just 'backup' 2011-08-14 08:20:03 +05:30
Sitaram Chamarty a3ffc9d8fd (mirroring) reject non-local pushes if GL_HOSTNAME not set
We previously said all mirroring features are disabled if GL_HOSTNAME is
not set.

But what if, after mirroring has been setup, and master/slaves defined
for a repo, a slave admin fat-fingers the RC file and accidentally
comments out GL_HOSTNAME?  We might end up violating RULE NUMBER ONE!
2011-08-13 14:32:38 +05:30
Sitaram Chamarty 37ce28a43b (new mirroring) documentation 2011-08-13 09:03:13 +05:30
Sitaram Chamarty 5143cc890f (new mirroring) enhance gl-tool
...it now does the mirroring peer key setup, unlike the kludgy manual way in the old setup
2011-08-12 22:51:44 +05:30
Sitaram Chamarty 68b45e1616 (new mirroring) bulk of the changes are here:
- post-receive now just calls mirror-push
  - mirror-push is a medium complex shell script (all that backgrounding
    etc., can't be done so easily in God's first language!)
  - mirror-shell is now a perl program that does a few different things
    (receive mirror-pushes, command line re-sync, re-sync requests from a
    slave, etc)
  - auth-command changes to reject/redirect non-native pushes
2011-08-12 22:51:44 +05:30
Sitaram Chamarty 15db108e45 (new mirroring) helpers, hostname, detect use of older RC variables, delete mirror-sync 2011-08-12 22:51:44 +05:30
Sitaram Chamarty bfbd887e71 minor docfixes 2011-08-12 21:45:23 +05:30
Sitaram Chamarty b70cf05b43 (minor) allow a comma in regex pattern for wild repos
This was an oversight.  We already allow { and } anyway...
2011-08-12 21:45:23 +05:30
Sitaram Chamarty 0b68365860 fix accumulation of 'config' (git config) lines
If a repo matches multiple patterns, 'config' lines were being picked up
only from one of the 'repo' paras, instead of from all applicable ones.
2011-08-08 09:47:56 +05:30