aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-06-23 19:44:41 -0400
committerJoey Hess <joey@kitenet.net>2010-06-23 19:44:41 -0400
commita4f381ace837a032bc202cc6b2a98e922d4b7cfc (patch)
treeaebac93fa7dcd4305fad253bec3d1d824904ff86
parentb38b9327a8f11b642e5f51f7ee537043e25ccff9 (diff)
downloadikiwiki-a4f381ace837a032bc202cc6b2a98e922d4b7cfc.tar
ikiwiki-a4f381ace837a032bc202cc6b2a98e922d4b7cfc.tar.gz
git: Record the username from openid in the git author email. (This avoids display of ugly google openids.)
-rw-r--r--IkiWiki/Plugin/git.pm5
-rw-r--r--debian/changelog2
-rw-r--r--doc/rcs.mdwn20
-rw-r--r--doc/todo/Separate_OpenIDs_and_usernames.mdwn3
4 files changed, 23 insertions, 7 deletions
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index 85368606e..3e289e0c3 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -506,6 +506,11 @@ sub rcs_commit_staged (@) {
if (defined $u) {
$u=encode_utf8($u);
$ENV{GIT_AUTHOR_NAME}=$u;
+ }
+ if (defined $params{session}->param("username")) {
+ $u=encode_utf8($params{session}->param("username"));
+ }
+ if (defined $u) {
$ENV{GIT_AUTHOR_EMAIL}="$u\@web";
}
}
diff --git a/debian/changelog b/debian/changelog
index 88ed3a90b..dfa862e5b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ ikiwiki (3.20100624) UNRELEASED; urgency=low
parameters.
* Fixed some confusion and bugginess about whether
rcs_getctime/rcs_getmtime were passed absolute or relative filenames.
+ * git: Record the username from openid in the git author email.
+ (This avoids display of ugly google openids.)
-- Joey Hess <joeyh@debian.org> Wed, 23 Jun 2010 15:30:04 -0400
diff --git a/doc/rcs.mdwn b/doc/rcs.mdwn
index 248d93024..83c6910d0 100644
--- a/doc/rcs.mdwn
+++ b/doc/rcs.mdwn
@@ -10,13 +10,8 @@ generic that it can be adapted to work with many systems by writing a
While all supported revision control systems work well enough for basic
use, some advanced or special features are not supported in all of them.
-Lack of support in [[ikiwiki-makerepo]] or auto.setup can make it harder to
-set up a wiki using that revision control system. The `rcs_commit_staged`
-hook is needed to use [[attachments|plugins/attachment]] or
-[[plugins/comments]]. `rcs_getctime` may be implemented in a fast way
-(ie, one log lookup for all files), or very slowly (one lookup per file).
-And so on. The table below summarises this for each revision control
-system and links to more information about each.
+The table below summarises this for each revision control system and
+links to more information about each.
[[!table data="""
feature |[[git]]|[[svn]]|[[bzr]] |[[monotone]]|[[mercurial]]|[[darcs]]|[[tla]] |[[cvs]]
@@ -30,7 +25,18 @@ auto.setup |yes |yes |incomplete|yes |incomplete |yes
`rcs_getmtime` |fast |slow |slow |no |no |no |no |no
anonymous push |yes |no |no |no |no |no |no |no
conflict handling |yes |yes |yes |buggy |yes |yes |yes |yes
+openid username |yes |no |no |no |no |no |no |no
"""]]
+Notes:
+
+* Lack of support in [[ikiwiki-makerepo]] or auto.setup can make it harder to
+ set up a wiki using that revision control system.
+* The `rcs_commit_staged` hook is needed to use [[attachments|plugins/attachment]]
+ or [[plugins/comments]].
+* `rcs_getctime` and `rcs_getmtime` may be implemented in a fast way (ie, one log
+ lookup for all files), or very slowly (one lookup per file).
+* Openid username support allows avoiding display of Google's ugly openids.
+
There is a page with [[details]] about how the different systems work with
ikiwiki, for the curious.
diff --git a/doc/todo/Separate_OpenIDs_and_usernames.mdwn b/doc/todo/Separate_OpenIDs_and_usernames.mdwn
index fcdb49f6d..60b7b6c61 100644
--- a/doc/todo/Separate_OpenIDs_and_usernames.mdwn
+++ b/doc/todo/Separate_OpenIDs_and_usernames.mdwn
@@ -38,10 +38,13 @@ A slightly more complex next step would be to request sreg from the provider and
> * Change `rcs_commit` and `rcs_commit_staged` to take a session object,
> instead of just a userid. (For back-compat, if the parameter is
> not an object, it's a userid.) Bump ikiwiki plugin interface version.
+> (done)
> * Modify all RCS plugins to include the session username somewhere
> in the commit, and parse it back out in `rcs_recentchanges`.
+> (done for git only so far)
> * Modify recentchanges plugin to display the username instead of the
> `openiduser`.
+> (done)
> * Modify comment plugin to put the session username in the comment
> template instead of the `openiduser`.