summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/git.pm
AgeCommit message (Collapse)Author
2010-10-08fix rcs_prepedit implementation to match specJoey Hess
2010-10-06convert rcs_revert to only stage the reversionJoey Hess
2010-10-06remove rcs_showpatchJoey Hess
2010-10-04fix $git_root cachingJoey Hess
2010-10-04fix indentationJoey Hess
2010-10-04document new rcs reversion support functionsJoey Hess
2010-10-04indentationJoey Hess
2010-10-04fix bug if git_root is "0"Joey Hess
2010-10-01Minor tidy-ups.Peter Gammie
2010-10-01Complete rcs_preprevert and lightly test.Peter Gammie
2010-09-29First cut at the revert plugin.Peter Gammie
2010-09-14git: When updating from remote, use git pull --prune, to avoid possible ↵Joey Hess
errors from conflicting obsolete remote branches.
2010-07-26avoid generating receive wrapper if there are no untrusted committersJoey Hess
The wrapper is pointless in that configuration. Also, the code for it doesn't compile w/o untrusted commiters to test. :)
2010-07-24git: Fix gitweb historyurl examples so "diff to current" links work. (Thanks ↵Joey Hess
jrayhawk)
2010-07-04move nickname sanitization outJoey Hess
Probably best to store it unsanitized and sanitize as needed on use. And it already was for comments, leaving only the need to sanitize the nickname when git committing, to ensure the email address is legal.
2010-07-01git: Added git_wrapper_background_command option. Can be used to eg, make ↵Joey Hess
the git wrapper push to github in the background after ikiwiki runs.
2010-06-23bugfixJoey Hess
2010-06-23finializing openid nickname supportJoey Hess
Renamed usershort => nickname. Note that this means existing user login sessions will not have the nickname recorded, and so it won't be used for those.
2010-06-23git: Record the username from openid in the git author email. (This avoids ↵Joey Hess
display of ugly google openids.)
2010-06-23rcs_getctime and rcs_getmtime take relative filenamesJoey Hess
There was some confusion about whether the filename was relative to srcdir or not. Some test cases, and the bzr plugin assumed it was relative to the srcdir. Most everything else assumed it was absolute. Changed it to relative, for consistency with the rest of the rcs_ functions.
2010-06-23rcs_commit and rcs_commit_staged api changesJoey Hess
Using named parameters for these is overdue. Passing the session in a parameter instead of passing username and IP separately will later allow storing other session info, like username or part of the email. Note that these functions are not part of the exported API, and the prototype change will catch (most) skew, so I am not changing API versions. Any third-party plugins that call them will need updated though.
2010-06-23API: rcs_commit and rcs_commit_staged are passed a new parameterJoey Hess
that may contain the username component of the email address of the user making the commit.
2010-06-23Add new optional field usershort to rcs_recentchanges.Joey Hess
Now the git plugin supports commits with author fields that look like: Author: http://my.openid/ <me@web> Then in recentchanges, the short username will be displayed, linking to the openid. Particularly useful for the horrible google openids, of course.
2010-06-16force list contextJoey Hess
run_or_die returns a status code in scalar context
2010-06-15git: Gix --gettime to properly support utf8 filenames.Joey Hess
In passing, fixed a bug where the srcdir was in a subdir of a repository named "0".
2010-04-16automatically run --gettime, and optimise it for gitJoey Hess
* Automatically run --gettime the first time ikiwiki is run on a given srcdir. * Optimise --gettime for git, so it's appropriatly screamingly fast. (This could be done for other backends too.) * However, --gettime for git no longer follows renames. * Use above to fix up timestamps on docwiki, as well as ensure that timestamps on basewiki files shipped in the deb are sane.
2010-04-16--gettime revampJoey Hess
* Rename --getctime to --gettime. (The old name still works for backwards compatability.) * --gettime now also looks up last modification time. * Add rcs_getmtime to plugin API; currently only implemented for git.
2010-02-11Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess
plugins from the setup file.
2010-01-19handle git-notes breakageJoey Hess
The new git-notes feature in git 1.6.6 changes git log output in a way that broke ikiwiki's parser if notes are added to commits. I decided to deal with this by disabling notes when ikiwiki uses git, by setting GIT_NOTES_REF="". AFAICS, looking up notes when dumping logs will only waste time, since it does not currently seem to make sense for ikiwiki to do anything with the notes.
2010-01-18brace style and layoutJoey Hess
2009-10-12skip mergesJoey Hess
git log --follow seems to sometimes show merges from before the file was ever created. So, skip them, a file shouldn't be first created during a merge anyway.
2009-10-11can't use --reverse with git log --followJoey Hess
Meh, git.
2009-10-11git: --getctime will now follow renames back to the original creation of a file.Joey Hess
This will be a bit more expensive, but --getctime does not need to be fast. And getting the real creation time a very useful when untangling blog histories that involve renames.
2009-09-10clean up use of IkiWiki::ReceiveJoey Hess
Loading and use of IkiWiki::Receive can all be pushed into the git plugin, rather than scattered around. I had at first wanted to make a receive plugin and move it there, but a plugin was not a good fit; you don't want users to have to manually load it, and making the git plugin load the receive plugin at the right times would need more, and ugly code.
2009-03-20fix rcs_getctime to return first, not last, change timeJoey Hess
This was being buggy and returning the file's last change time, not its creation time. (I checked all the others (except tla) and they're ok.)
2009-03-09git: Manually decode git output from utf-8, avoids warning messages on ↵Joey Hess
invalidly encoded output.
2009-03-09git: Fix utf-8 encoding of author names.Joey Hess
I guess what's happening here is that since the name is passed to git via an environment variable, perl's normal utf-8 IO layer stuff doesn't work. So we have to explicitly decode the string from perl's internal representation into utf-8.
2009-01-25git: Fix malformed utf8 recieved from git.Joey Hess
If git log outputs malformed utf8 in, eg, usernames, detect it and fix it up. This avoids commits such as f71abc92aa279fbe0b7578b8c4752d775dd4a259 breaking things.
2009-01-05A recent change to gitweb removed support for the form of diffurl that many ↵Joey Hess
ikiwiki setups use. Document how to use the new url form.
2008-12-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-10-27git: Allow [[sha1_commit]] to be used in the diffurl, to support cgit.Joey Hess
2008-10-24the pre-receive wrapper needs to be suid after allJoey Hess
It needs to write to the user db.
2008-10-24include temp file for attachment change tooJoey Hess
2008-10-24updatesJoey Hess
2008-10-23untrusted committers code seems to be fully workingJoey Hess
Still need to investigate possible races, and test some more.
2008-10-23check_canattach hooked upJoey Hess
2008-10-23more work on untrusted committersJoey Hess
Wired up check_canedit and check_canremove, still need to deal with check_canattach, and test.
2008-10-22initial support for git repos with untrusted committersJoey Hess
Still need to wire up the calls to check_* , but it's cold out here and my hands are going numb, so enough for now.
2008-09-25git: Fix handling of utf-8 filenames in recentchanges.Joey Hess
Seems that the problem is that once the \nnn coming from git is converted to a single character, decode_utf8 decides that this is a standalone character, and not part of a multibyte utf-8 sequence, and so does nothing. I tried playing with the utf-8 flag, but that didn't work. Instead, use decode("utf8"), which doesn't have the same qualms, and successfully decodes the octets into a utf-8 character. Rant: Think for a minute about fact that any and every program that parses git-log, or git-show, etc output to figure out what files were in a commit needs to contain this snippet of code, to convert from git-log's wacky output to a regular character set: if ($file =~ m/^"(.*)"$/) { ($file=$1) =~ s/\\([0-7]{1,3})/chr(oct($1))/eg; } (And it's only that "simple" if you don't care about filenames with embedded \n or \t or other control characters.) Does that strike anyone else as putting the parsing and conversion in the wrong place (ie, in gitweb, ikiwiki, etc, etc)? Doesn't anyone who actually uses git with utf-8 filenames get a bit pissed off at seeing \xxx\xxx instead of the utf-8 in git-commit and other output?
2008-09-11change git hook descriptionJoey Hess
It doesn't have to be a post-update hook.