aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/cvs.pm
Commit message (Collapse)AuthorAge
* Update my surname to its new legal spelling.Amitai Schlair2016-09-14
|
* cloak user PII when making commits etc, and let cloaked PII be used in ↵Joey Hess2015-05-14
| | | | | | | | | | | | | | banned_users This was needed due to emailauth, but I've also wrapped all IP address exposure in cloak(), although the function doesn't yet cloak IP addresses. (One IP address I didn't cloak is the one that appears on the password reset email template. That is expected to be the user's own IP address, so ok to show it to them.) Thanks to smcv for the pointer to http://xmlns.com/foaf/spec/#term_mbox_sha1sum
* Fix diffurl links (cvsweb expects unescaped '/').Amitai Schlair2013-02-02
|
* Fix longstanding bug (chdir to nonexistent dirs).Amitai Schlair2013-01-27
| | | | | | | | | | | | | | | | | In test, set up the post-commit hook for more realism (and bugs!). To make wrappers work in test, set PERL5LIB, and allow the wrappee's path to be overridden. Meta-test that post-commit is really hooked up by verifying that content is getting generated in destdir. About the longstanding bug, which as far as I know was harmless: CVS can't operate outside a srcdir, so we're always setting $CWD. "local $CWD" restores the previous value when we go out of scope. Usually that's correct. But if we're removing the last file from a directory, the post-commit hook will exec in a working directory that's about to not exist (CVS will prune it). The fix: chdir() manually in cvs_runcvs(), so we can selectively not chdir() back.
* Merge branch 'master' into cvsAmitai Schlair2013-01-25
|\
| * URI escape filename when generating the diffurl.Joey Hess2012-03-13
| | | | | | | | | | ikiwiki source files can contain at least one character that needs to be escaped in an url: +
* | More testings and fixings:Amitai Schlair2012-02-05
| | | | | | | | | | | | | | | | | | | | | | * Test that adding a text file under a name formerly tracked as binary (and vice versa) gets the right keyword-substitution behavior. * Explicitly set -kkv for text files to make the tests pass. * CVS warns in these cases about "changing keyword expansion mode", but this is correct behavior, so filter it from stderr. Filter stdout the same way in case we ever want to keep any of it. * In rcs_add(), replace comments with obviousness.
* | Write rcs_diff() tests according to the API spec, then make them pass.Amitai Schlair2012-02-05
|/
* Move cvs_keyword_subst_args() down with the other internal support routines.Amitai Schlair2012-01-26
|
* Uncomment the CVS keyword substitution mode tests, and make them pass:Amitai Schlair2012-01-26
| | | | | Extract cvs_keyword_subst_args() and ensure it runs in $config{srcdir}. Using Perl's -T operator appears to work equally well, perhaps switch?
* Mollify strictures about barewords.Amitai Schlair2012-01-26
|
* No functional change: sort sub definitions.Amitai Schlair2012-01-22
| | | | | | | | | | | | | In the code: * general plugin API calls (in plugins/write order), * VCS plugin API calls (in plugins/write order), then * internal support routines (in alphabetical order). In the tests: * general meta-behavior (in no particular order, yet), * general plugin API calls (in plugins/write order), * VCS plugin API calls (in plugins/write order), then * internal support routines (in semi-logical order).
* Add a second parameter to the rcs_diff hook, and avoid bloating memory ↵Joey Hess2010-12-29
| | | | reading in enormous commits.
* chdir to srcdir in rcs_getctimeJoey Hess2010-06-23
|
* rcs_getctime and rcs_getmtime take relative filenamesJoey Hess2010-06-23
| | | | | | | | | | 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.
* rcs_commit and rcs_commit_staged api changesJoey Hess2010-06-23
| | | | | | | | | | | 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.
* API: rcs_commit and rcs_commit_staged are passed a new parameterJoey Hess2010-06-23
| | | | | that may contain the username component of the email address of the user making the commit.
* whitespaceJoey Hess2010-06-23
|
* --gettime revampJoey Hess2010-04-16
| | | | | | | | * 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.
* Group related plugins into sections in the setup file, and drop unused rcs ↵Joey Hess2010-02-11
| | | | plugins from the setup file.
* avoid tempfile warningJoey Hess2009-09-13
| | | | | Allow tempfile to open the file, so it doesn't warn about possible insecurity. This probably fixes a real, but unlikely security hole too.
* Whoops, copyright 2009. /usr/bin/perl for the interpreter like other plugins.Amitai Schlair2009-09-11
| | | | (cherry picked from commit a69d628b2cc15779a23c3d5ca1b27f2bc2dad619)
* Merge commit 'schmonz/master'Joey Hess2009-09-10
|\
| * Add NetBSD-style 2-clause BSD license.Amitai Schlair2009-09-10
| |
* | formattingJoey Hess2009-09-10
| |
* | minor simplificationJoey Hess2009-09-10
| |
* | Merge commit 'schmonz/master' into cvsJoey Hess2009-09-10
|\|
| * Catch up to the new genwrapper hook.Amitai Schlair2009-09-10
| |
* | Merge commit 'schmonz/master' into cvsJoey Hess2009-09-10
|\|
| * CVS operations generally need to be within CVS checkouts, so these chdir()Amitai Schlair2009-09-10
| | | | | | | | | | | | calls are warranted. They shouldn't modify the caller's working directory, though. Use File::chdir to keep the scope of the changes subroutine-local. The tests now pass without resetting the working directory.
| * Abstract out CVS's involvement in the wrapper:Amitai Schlair2009-09-09
| | | | | | | | | | | | | | | | | | * In Wrapper.pm, add a new hook "wrapperargcheck" to examine argc/argv and return success or failure. In the failure case, the wrapper terminates. * In cvs.pm, implement the new hook to return failure if a directory is being cvs added.
* | Merge commit 'schmonz/master' into cvsJoey Hess2009-09-04
|\| | | | | | | | | Conflicts: IkiWiki/Plugin/cvs.pm
| * It's STDOUT we have to shut up for cvs, and $savedout has to beAmitai Schlair2009-09-04
| | | | | | | | restored just so.
| * Stop using IPC::Cmd and String::ShellQuote, since quoting (andAmitai Schlair2009-09-04
| | | | | | | | | | | | | | | | | | having to quote, and the possible use of the shell) sucks. Stop passing args to cvs_runcvs() as an arrayref, since that also sucks (and was a sop to IPC::Cmd). Instead, use Joey's construction for temporarily redirecting stderr to /dev/null. Much much simpler and better. Works on my laptop with bozohttpd, now to test on the NetBSD wiki.
* | minor formattingJoey Hess2009-09-02
|/
* whitespaceAmitai Schlair2009-08-30
|
* On some systems the commit message gets quoted properly already. Don'tAmitai Schlair2009-08-30
| | | | requote in such cases, do quote in all others.
* Fix uninitialized value when editing a page being vivified from theAmitai Schlair2009-08-30
| | | | basewiki. Makes the filetype-testing logic more explicit anyway.
* Remove debug statement.Amitai Schlair2009-08-30
|
* Knock off another to-do item: "Don't slurp the entire cvsps outputAmitai Schlair2009-08-30
| | | | into memory (!)."
* Knock off a to-do item: "If the argument to cvs add smells like aAmitai Schlair2009-08-30
| | | | binary file, cvs add -kb it (for attachment support)."
* Remove getopt() hook (it's a dead end, unsafe to pass wrapper args toAmitai Schlair2009-08-29
| | | | | ikiwiki). Crunch on-demand module loads into one-liners. Comment why cvsps output is getting read in its entirety and reversed.
* Oops, use the more recent (and less brittle) directory test.Amitai Schlair2009-08-22
|
* Pass along wrapper args to ikiwiki, then handle the "cvs add dir"Amitai Schlair2009-08-22
| | | | | case with a getopt hook directly in my plugin. If the wrapper change is safe, we won't need a wrapper wrapper.
* Add my CVS plugin and related patches.Amitai Schlair2009-08-13