Commit graph

22 commits

Author SHA1 Message Date
Sitaram Chamarty 6e2db12302 allow @groups in setperms command also
This should hopefully be the final step in making wildrepos as close to
normal repos as possible.  You can now do pretty much anything with them
that you can do with normal repos [1]

Implementation notes:

  - compile puts out %groups into the compiled config file regardless of
    GL_BIG_CONFIG because this feature needs it
  - wild_repo_rights caches %groups because the part of the %groups hash
    we care about will not change between calls in the same run

----

[1] **except** use the full-blown config file syntax within the gl-perms
    file :-)  I don't plan to do that; it's too complicated! [2]

[2] yeah yeah I know -- famous last words!
2010-08-21 13:04:13 +05:30
Sitaram Chamarty 34965b1b03 (tests) added tests for delegating with wildcards 2010-08-21 10:48:39 +05:30
Sitaram Chamarty 8faba23177 (minor) make time-style=long-iso explicit in t00
(side-effect of switching one machine from Mandriva to Fedora; nothing
to do with gitolite per se...)
2010-08-21 10:47:47 +05:30
Sitaram Chamarty 3a8f32ac9b minor fixups to the "gitweb/daemon from setperms" code...
- fork was not printing a newline after the permissions
  - "add_del_line" to properly handle that damn projects.list file!
2010-08-20 23:09:11 +05:30
Sitaram Chamarty 648676faec gitweb and daemon should now work even from within setperms
modifications:

  - call setup_gitweb_access and setup_daemon_access from with
    get_set_perms so when the user sets a perm explicitly it works
  - in setup_gitweb_access, do not delete description file or
    gitweb.owner if the repo is wild
  - make the "fork" adc set gitweb.owner *and* call setperms using
    GL_WILDREPOS_DEFPERMS
  - add tests

bug fixes:

  - gl-auth did not even *look* at GL_WILDREPOS_DEFPERMS when
    auto-"C"reating a wild repo; fixed
  - setup_gitweb_access did not delete the description file as
    consistently as it deleted the owner

what will NOT work:

  - removing gitweb permissions does not clear the name from
    "projects.list".  That's complicated, so just wait till the next
    "compile" to make this happen

(thanks to Jefferai for driving this...)

----

mildly puzzling:

    for some strange reason, after a "git ls-remote ...try3" in t58,
    instead of not creating a "description" file, we started seeing a
    73-byte file containing this message:

    Unnamed repository; edit this file 'description' to name the repository.
2010-08-20 21:02:18 +05:30
Sitaram Chamarty 0979f02927 expand t58 to check projects.list being created on create 2010-08-20 19:50:44 +05:30
Sitaram Chamarty 204b34e525 lots of changes to tests for big-config
as well as wild, and (as much as I could) both together
2010-08-11 22:38:16 +05:30
Sitaram Chamarty 8deee9b6bd (tests) added t57 for daemon and gitweb stuff 2010-08-11 22:38:16 +05:30
Sitaram Chamarty 3172c67dbe new tests: t55 and t56 for repo config with wildrepos 2010-08-11 22:38:15 +05:30
Sitaram Chamarty c944a8a3b9 new test: t54-repo-configs 2010-08-11 22:38:14 +05:30
Sitaram Chamarty 74e15d06a0 add "addrc" function to test driver 2010-08-10 12:31:46 +05:30
Sitaram Chamarty fbb9dafbd1 gqt -- gitolite quick (re-)test
sometimes I want to quickly test a few lines of change within the context of
a currently-running/just-ran test, *without* doing the rollback etc.

Here's how you do that now:

  - in your source tree, make the change and then run:
        cp -a src hooks contrib/adc /some/tmp/place
  - go to the tester userid and re-run your tests like so:
        GQT=/some/tmp/place ./test-driver.sh
    it'll rollback as normal then overwrite src and hooks from $GQT

Also, there's now a "dbg" sub that can be used for quick printf-style
debugging.
2010-08-09 23:21:14 +05:30
Sitaram Chamarty 97126608b9 (minor) fixes to test driver 2010-08-09 23:21:14 +05:30
Sitaram Chamarty cd0835feb1 (tests) t59 to test previous commit...
(the one that distinguishes "repo not found" from "no access")
2010-07-30 13:51:41 +05:30
Sitaram Chamarty adbafdfc2d (minor) updated fedora test case to add new RC vars introduced 2 commits in HEAD^^ 2010-07-30 08:48:20 +05:30
Sitaram Chamarty e9787b03f8 darn... git 1.7+ puts out different messages on clone... 2010-07-23 17:06:47 +05:30
Sitaram Chamarty 286ce76048 (minor) added tags to test 52 on denying creates 2010-06-18 23:16:42 +05:30
Sitaram Chamarty 3c5bd4a131 test suite: catch internal errors better
...so you don't have to look at all the output for any strangeness

(also make rollback a little quieter)
2010-06-18 22:09:30 +05:30
Sitaram Chamarty a430cc57c7 separating "push" from "create"
This is what I *should* have done back then; thanks to Jeff Mitchell for
pointing out a problem with the old method.

The old one is *definitely* a kludge.  <shamefaced grin>
2010-06-18 21:34:43 +05:30
Sitaram Chamarty 0f5f82e4f5 log message changes (warning: minor backward compat breakage)
The log message format has changed.  All log messages now have a common
prefix (timestamp, user, IP).  This is followed by $SSH_ORIGINAL_COMMAND
(or, in one special case, the name of the user's login shell).  Any
further text appears after this (currently this only happens in the case
of a successful push -- one for each ref pushed successfully)
2010-06-16 17:22:37 +05:30
Sitaram Chamarty 255a4ca9fa add a new test to make sure "info" and "expand" show the right output 2010-06-12 13:24:59 +05:30
Sitaram Chamarty 0add3d3de7 finally, open up my secret test scripts...
...after getting rid of most of the hardcoding (though not all!)
2010-06-12 13:24:55 +05:30