/[drupal]/contributions/modules/versioncontrol/versioncontrol.module
ViewVC logotype

Log of /contributions/modules/versioncontrol/versioncontrol.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Tag:

Revision 1.154 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Oct 16 19:02:42 2009 UTC (5 weeks, 4 days ago) by marvil07
Branch: MAIN
CVS Tags: HEAD
Changes since 1.153: +1 -39 lines
Diff to previous 1.153
Avoid own interaction functions to use oop natural way

There is no more reason to keep this two functions:
versioncontrol_backend_implements() and _versioncontrol_call_backend()
was completely replaced with interfaces.

Actually this is the last commit that finish that task.

Revision 1.153 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Oct 16 14:15:26 2009 UTC (5 weeks, 4 days ago) by sdboyer
Branch: MAIN
Changes since 1.152: +273 -2549 lines
Diff to previous 1.152
Merging in work from git by marvil07 for his GSOC project to OO-ify vcsapi. From this commit forward, HEAD is OO.

Revision 1.152 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jun 21 15:33:07 2009 UTC (5 months ago) by jpetso
Branch: MAIN
Branch point for: DRUPAL-6--1
Changes since 1.151: +7 -1 lines
Diff to previous 1.151
Make the "data" column usable by other modules, and migrate more data to it.

This enables us to get rid of the {commit_restrictions} and
{versioncontrol_repository_metadata} tables, whose data is now
stored in $repository['data'] instead.

Requires an update.php run. This commit modifies update 6102 which
I introduced in my previous commit two days ago; if you have already
executed that update then please delete the "data" column from your
{versioncontrol_repositories} table and run it again.

Revision 1.151 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jun 20 09:30:04 2009 UTC (5 months ago) by jpetso
Branch: MAIN
Changes since 1.150: +3 -1 lines
Diff to previous 1.150
Introduce a new "data" column for repositories for additional custom properties.
Third-party modules can store data there instead of in separate tables,
which should eventually contribute to the goal of removing the backends'
{versioncontrol_[backend]_repositories} tables.

Also, make the "allow unauthorized commit access" setting per-repository
instead of global, and store it in the new "data" column.

Revision 1.150 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jun 9 19:22:13 2009 UTC (5 months, 2 weeks ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-RC2
Changes since 1.149: +2 -2 lines
Diff to previous 1.149
#486562 by jpetso: Fix stupid call-time pass-by-reference error.

Revision 1.149 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jun 1 13:22:47 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.148: +156 -61 lines
Diff to previous 1.148
Refactor user statistics themeing functions, introducing a new item list one.
Also, rework some of the VCS account themeing code for more
consistency or wider applicability.

Revision 1.148 - (view) (download) (as text) (annotate) - [select for diffs]
Sun May 31 17:30:06 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.147: +3 -3 lines
Diff to previous 1.147
Block deltas are only varchar(32), so let's lose the 'versioncontrol_' prefix.
(The module is stored in the block definition row anyways.)

Hopefully, nobody has yet executed that update function.
If someone did, just reconfigure your blocks please.

Revision 1.147 - (view) (download) (as text) (annotate) - [select for diffs]
Sun May 31 17:29:29 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.146: +9 -9 lines
Diff to previous 1.146
More consistent variable naming in theme_versioncontrol_user_statistics().

Revision 1.146 - (view) (download) (as text) (annotate) - [select for diffs]
Sun May 31 17:28:30 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.145: +2 -2 lines
Diff to previous 1.145
Forgot to update the hook_theme() entry for theme_versioncontrol_user_statistics().

Revision 1.145 - (view) (download) (as text) (annotate) - [select for diffs]
Fri May 29 16:20:55 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.144: +311 -216 lines
Diff to previous 1.144
New API function versioncontrol_get_operation_statistics().

Replaces the infamous versioncontrol_get_user_statistics() with a
more flexible query-based approach instead of hardly scalable
counting of operation arrays.

In fact, this new function can count operations in pretty much any
combination of grouping and sorting that you might need. Or if you
just need the number of all operations altogether without any
grouping, you can have that as well. (Thus implementing cvslog's

In order to implement this functionality, versioncontrol_get_operations()
and the related query construction functions have been refactored
a bit, so that versioncontrol_get_operation_statistics() shares
lots of code for constructing the query.

On top of that, some pieces of code related to displaying statistics
have been slightly changed and adapted.

Revision 1.144 - (view) (download) (as text) (annotate) - [select for diffs]
Fri May 29 16:16:01 2009 UTC (5 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.143: +40 -29 lines
Diff to previous 1.143
Have blocks use string deltas instead of integer deltas.

Revision 1.143 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Apr 8 22:45:35 2009 UTC (7 months, 2 weeks ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-RC1
Changes since 1.142: +9 -10 lines
Diff to previous 1.142
Backend API change: Change format_revision_identifier() *again*.
This time for good. I could have figured out earlier that the repository
is actually the lowest common denominator between operations and items,
and that even duplicates of abbreviated md5 sums are located at the
repository level. (Also, still bearable for future low-level Views access.)

Revision 1.142 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Apr 8 19:12:42 2009 UTC (7 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.141: +71 -7 lines
Diff to previous 1.141
#381540 by jpetso: Introduce versioncontrol_export_directory().
Also, change the versioncontrol_get_file() API to take either a revision
or a label as constraint (changed from taking just a revision).

Revision 1.141 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Apr 8 14:43:45 2009 UTC (7 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.140: +93 -1 lines
Diff to previous 1.140
#426284 by jpetso: Introduce a new versioncontrol_get_labels() function,
covering the last Version Control API entity for which no getter function existed.

Revision 1.140 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Apr 8 14:30:55 2009 UTC (7 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.139: +5 -3 lines
Diff to previous 1.139
#427608 by CorniI: fix obvious bugs in the new VCS username API functions.

Revision 1.139 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Apr 8 14:16:28 2009 UTC (7 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.138: +34 -43 lines
Diff to previous 1.138
Simplify constraint construction logic in order to get rid of 9 lines. Yay?

Revision 1.138 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Apr 5 11:34:17 2009 UTC (7 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.137: +2 -2 lines
Diff to previous 1.137
Check on the right table join to exist, otherwise we get SQL errors.
Discovered by Cornil, fix by myself.

Revision 1.137 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Apr 5 11:20:39 2009 UTC (7 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.136: +4 -1 lines
Diff to previous 1.136
#424254 by Cornil: Avoid SQL errors when there are no source items to fetch.

Revision 1.136 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Apr 3 22:06:57 2009 UTC (7 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.135: +55 -12 lines
Diff to previous 1.135
#328035 by Cornil, plus a lot of changes from me:
Make VCS username suggestions and determing username validity pluggable.
Also, fix a bug in the user versioncontrol page that made the passed
repository work incorrectly.

This should make it possible to handle Git & Co. usernames properly.

Revision 1.135 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Mar 31 09:02:20 2009 UTC (7 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.134: +63 -25 lines
Diff to previous 1.134
#418460 by marvil07: Better doxygen markup for constant definitions.

Revision 1.134 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Mar 31 08:54:00 2009 UTC (7 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.133: +17 -3 lines
Diff to previous 1.133
Make versioncontrol_ensure_label() public.

Revision 1.133 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Mar 21 01:06:27 2009 UTC (8 months ago) by jpetso
Branch: MAIN
Changes since 1.132: +8 -13 lines
Diff to previous 1.132
Clarify and robustify versioncontrol_get_parallel_items().

Revision 1.132 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Mar 14 19:15:25 2009 UTC (8 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.131: +2 -2 lines
Diff to previous 1.131
#400710 by jmpoure: Postgres compatibility (GROUP BY) for query in the
"Most active developers" block.

Revision 1.131 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Feb 27 22:56:39 2009 UTC (8 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.130: +4 -4 lines
Diff to previous 1.130
Rename versioncontrol_get_file_copy() to versioncontrol_export_file().
In preparation of versioncontrol_export_directory(), and because the
previous name was crappy anyways.

Revision 1.130 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Feb 27 21:35:01 2009 UTC (8 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.129: +13 -14 lines
Diff to previous 1.129
Fix a rather large number of PHP notices, which translates to a smaller
number of potential bugs. Also, apidox improvements for get_file_copy().

Revision 1.129 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 16 21:08:22 2009 UTC (9 months, 1 week ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-BETA5
Changes since 1.128: +39 -31 lines
Diff to previous 1.128
Major performance improvement of the week:
Enable versioncontrol_get_operations() to call pager_query() or
db_query_range() directly, instead of hand-cutting the result.
(Now possible because the query is now extensible *and* does DISTINCT.)

That not only saves potential masses of unnecessarily allocated
$operation arrays, but also makes it possible to get rid of the
pager emulator that is commitlog_get_paged_operations(). Yo.

Revision 1.128 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Feb 14 14:13:13 2009 UTC (9 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.127: +380 -319 lines
Diff to previous 1.127
#216373 by jpetso: Direct hook access to the operations query.
That means:

* versioncontrol_project (and others) can provide their own native custom
  constraints, using direct database joins. 'nids' constraint, anyone? :D

* Unknown constraint keys now produce an empty result array, instead of
  just being ignored. Which means we can drop Commit Log's check for
  versioncontrol_project to exist for the 'nids' constraint - we can now
  rely on Version Control API not to return too many results.

* Only insignificant increase in lines of code for vastly most extensibility.

* Further steps to a generic query builder. I still don't want to depend
  on Views for that, let's wait until D7 provides a native one.

* Let the database do the DISTINCT(vc_op_id). Theoretically, we could now
  offer "real" limit or pager queries with little effort.

* And finally, one more todo item for d.o deployment being smashed! Hayaa!

Revision 1.127 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 10 17:56:50 2009 UTC (9 months, 2 weeks ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-BETA4
Changes since 1.126: +15 -1 lines
Diff to previous 1.126
* New API function, versioncontrol_path_contains().
  I'm tired of writing the same code time and time again.
* Don't cache the "Most active users" block, as it's filled with
  dynamic content. Unfortunately, there doesn't seem to be an option
  like "cache until next cron run", which would be near perfect.

Revision 1.126 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 9 15:13:23 2009 UTC (9 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.125: +2 -1 lines
Diff to previous 1.125
Make account exports work again by actually passing the page argument.

Revision 1.125 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 9 15:00:26 2009 UTC (9 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.124: +6 -6 lines
Diff to previous 1.124
form.inc is being overcautious with the '#autocomplete_path' property
and does not use it with '/%/%' suffix even though that would work.
Work around this by doing it like in 5.x, and don't use path wildcards.

Revision 1.124 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Feb 4 21:26:18 2009 UTC (9 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.123: +30 -14 lines
Diff to previous 1.123
Introduce a revision identifier formatter function that just takes the vcs
and revision, mainly for use with direct database access. (Views? yep.)

Revision 1.123 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 3 11:19:23 2009 UTC (9 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.122: +3 -3 lines
Diff to previous 1.122
Rename revision identifier formatter functions for consistency.

Revision 1.122 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 3 11:02:41 2009 UTC (9 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.121: +29 -28 lines
Diff to previous 1.121
Argh, I overlooked the "other" revision identifier formatter function,
the one for items. Which requires an API change back to the $revision
argument instead of the whole $operation. That hurts.

Revision 1.121 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 3 10:25:20 2009 UTC (9 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.120: +5 -2 lines
Diff to previous 1.120
Fix bug in determining the common directory of items:
Before this fix, passing /path/one/blah/file.txt and /path/two/blah/my.svg
would yield /path/blah as common directory instead of the correct /path.

Revision 1.120 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jan 25 15:43:23 2009 UTC (9 months, 4 weeks ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-BETA1, DRUPAL-6--1-0-BETA2, DRUPAL-6--1-0-BETA3
Changes since 1.119: +7 -11 lines
Diff to previous 1.119
* Port the 5.x workflow_ng integration to 6.x Rules integration.
* Get a drupal_mail()-like $send option into Commit Log's
  notification mail functions, and remove 'send' from the function names.
* Bonus feature: new "send notification mail" action for Rules,
  and a few more operation properties exposed as event arguments.
  Per-user commit subscriptions are now *really* not far away anymore.

Everything involving mails is still untested though,
but despite that I also fixed one bug in the process :)

Revision 1.119 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 24 23:32:13 2009 UTC (10 months ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-6--1-0-ALPHA1
Changes since 1.118: +4 -10 lines
Diff to previous 1.118
The "empty" item is unexpectedly easy to do without, because it's not
used in the operation query but only in the source item fetching query,
which could easily be altered to do a left join instead of an inner join.

Good thing I hadn't yet done an "empty label", that would have been more
difficult to abstain from.

Testing releases, here we come!

Revision 1.118 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 24 21:29:40 2009 UTC (10 months ago) by jpetso
Branch: MAIN
Changes since 1.117: +7 -2 lines
Diff to previous 1.117
Remove the "empty" item from versioncontrol_install() as well,
and put the comments (plus new todo item) into versioncontrol.module.

Revision 1.117 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jan 15 17:52:49 2009 UTC (10 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.116: +73 -45 lines
Diff to previous 1.116
A dynamic set of tabs, at least with regards to Version Control API's
potentially large number VCS accounts, is near to impossible with Drupal 6.
(Sam knows it, he practically wrote the book on that topic.)

Therefore, fix the remaining menu system hassles by throwing it all
into a single "Repository accounts" tab (in the user edit section),
and filling it with either a VCS account edit form or a list of accounts
that forwards to that VCS account edit form. Also, the insane
hook_user() hack has made a disappearance due to that new method.

Works reasonably well and comes with the advantage that it will now even
look exactly like on drupal.org ("CVS" tab title if appropriate), the only
issue that I couldn't find a solution for is that the second row of tabs
is lost when additional query arguments are passed. Bug in D6? hm.

Revision 1.116 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 14:36:44 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.115: +2 -2 lines
Diff to previous 1.115
Fixing syntax error, sorry. (It always happens with the very last
minor change, after everything has been checked to be ok otherwise.)

Revision 1.115 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 14:30:10 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.114: +11 -6 lines
Diff to previous 1.114
* The rest of Form API changes.
* D6 upgrade item 7.: Changed arguments for url() and l().
* D6 upgrade item 33.: New ip_address() function replacing $_SERVER['REMOTE_ADDR'].

Revision 1.114 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 12:49:52 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.113: +8 -6 lines
Diff to previous 1.113
Fix a couple of menu items so they work properly.

Revision 1.113 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 12:15:47 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.112: +11 -13 lines
Diff to previous 1.112
* Seems like 'serial' column types are not allowed to provide default
  values, so remove those. Also, convert the other two serial columns
  from 'int' to 'serial', and add TODO comments to all of them.
* Seems like calling drupal_get_path() on file inclusion or even in
  hook_boot() doesn't work, so let's have it in hook_init() instead.

Version Control API can now be enabled in D6 without installation errors.

Revision 1.112 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 11:59:56 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.111: +10 -9 lines
Diff to previous 1.111
* I disagree on some of Coder's suggestions, but let's have it its way
  where I don't mind about different indentation and stuff.
* Change &$form to $form in submit and validate functions, as that's
  the official version on http://drupal.org/node/144132.

Revision 1.111 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 10 10:47:21 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.110: +5 -5 lines
Diff to previous 1.110
Less indirections for the access callbacks, as pointed out by Sam.

Revision 1.110 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 12:23:59 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.109: +9 -10 lines
Diff to previous 1.109
db_last_insert_id() doesn't work like db_next_id(), as it returns the
previously inserted integer instead of the upcoming one. Instead of
fixing that manually, let's instead have drupal_write_record() do
all the work for us, getting rid of a few more lines of code.

Revision 1.109 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 11:21:58 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.108: +4 -20 lines
Diff to previous 1.108
We've got an access callback for admin access now, so let's make use of it.

Revision 1.108 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 11:06:38 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.107: +2 -2 lines
Diff to previous 1.107
Unless I missed something, 'versioncontrol_admin_repository_delete_confirm'
(and in turn, confirm_form()) should be called by drupal_get_form()
rather than as page callback, I think.

Revision 1.107 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 07:44:24 2009 UTC (10 months, 2 weeks ago) by sdboyer
Branch: MAIN
Changes since 1.106: +3 -1 lines
Diff to previous 1.106
More D6 FAPI compliance updates.

Revision 1.106 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 07:28:15 2009 UTC (10 months, 2 weeks ago) by sdboyer
Branch: MAIN
Changes since 1.105: +3 -3 lines
Diff to previous 1.105
A few menu cleanups and tweaks, but other than that, almost entirely D6 FAPI compliance updates. Still a few fuzzy things in there that will need revisiting later.

Revision 1.105 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 06:13:51 2009 UTC (10 months, 2 weeks ago) by sdboyer
Branch: MAIN
Changes since 1.104: +16 -34 lines
Diff to previous 1.104
Tightened up hook_menu() a bit using array addition. More changes to it to come soon.

Revision 1.104 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 05:36:34 2009 UTC (10 months, 2 weeks ago) by sdboyer
Branch: MAIN
Changes since 1.103: +11 -1 lines
Diff to previous 1.103
Implemented hook_theme(), per D6 standards. May move the theme functions into an include file at some later juncture, but they really aren't hefty enough right now to justify it.

Revision 1.103 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 5 01:45:09 2009 UTC (10 months, 2 weeks ago) by sdboyer
Branch: MAIN
Changes since 1.102: +2 -2 lines
Diff to previous 1.102
Updated instance of db_next_id() to db_last_insert_id(), the (rough) D6 equivalent.

Revision 1.102 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jan 4 23:42:10 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.101: +1 -2 lines
Diff to previous 1.101
No need for global $user in this function anymore.

Revision 1.101 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jan 4 22:17:58 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.100: +264 -204 lines
Diff to previous 1.100
D6 upgrade task 1.: Entirely new menu system.

...and yup, that did some heavy changes. Most notably, we're finally able
to get rid of that hook_user() category hack, which is great. I'm pretty
sure that it doesn't work the way it stands now (I can tell *that* much
by looking at the user.module sources), and most probably we'll need some
hook_menu_alter() magic, but the bulk of the menu conversion is done.

This was probably the most unwieldy chunk of the D6 port, everything else
should be more or less straightforward :)

Revision 1.95.2.24 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jan 4 17:21:31 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
CVS Tags: DRUPAL-5--2-0
Changes since 1.95.2.23: +5 -5 lines
Diff to previous 1.95.2.23 , to branch point 1.95 , to next main 1.154
$account_access used $uid even though it was not yet initialized,
which means it might have denied page access even though the user
should have been granted access. No security issue, as only less
permissions than intended have been granted, but not more.

Revision 1.100 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Jan 4 14:08:44 2009 UTC (10 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.99: +3 -3 lines
Diff to previous 1.99
A few formatting tweaks to please Coder.

Revision 1.99 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 3 13:21:28 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.98: +4 -4 lines
Diff to previous 1.98
D6 upgrade item 3.: New Schema API.
Converted with deadwood, manually tweaked by myself (including table and
column descriptions which have not only been preserved but even extended
and improved). A few todo items are left - converting the 'int' ids to
'serial' in their base tables, and ensuring correct index names for MySQL
and Postgres - but the bulk of database conversion work is probably done.

Revision 1.98 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Jan 3 12:34:03 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.97: +10 -16 lines
Diff to previous 1.97
Saving a few lines of code with an equivalent construct.

Revision 1.97 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jan 2 21:27:31 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.96: +2 -2 lines
Diff to previous 1.96
Update copyright headers. 2008 is now fully wrapped up.

Revision 1.96 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jan 2 19:13:18 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.95: +1006 -515 lines
Diff to previous 1.95
Sync HEAD to current DRUPAL-5--2. The D6 port will take place on HEAD.

Revision 1.95.2.23 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jan 2 17:17:16 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
CVS Tags: DRUPAL-5--2-0-RC2
Changes since 1.95.2.22: +23 -1 lines
Diff to previous 1.95.2.22 , to branch point 1.95
Add a 'message' filter, for backwards compatibility and because people
like it. The 'message' column is not filtered so I don't know about
possible performance issues, but as cvs.module also provides this option
and drupal.org is still alive, I'm assuming it can't be that dangerous.

Revision 1.95.2.22 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jan 2 13:48:43 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.21: +4 -1 lines
Diff to previous 1.95.2.21 , to branch point 1.95
Expect the (documented) NULL return value from
[versioncontrol_backend]_get_directory_contents() implementations.

Revision 1.95.2.21 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jan 1 20:19:26 2009 UTC (10 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.20: +5 -5 lines
Diff to previous 1.95.2.20 , to branch point 1.95
Slightly better wording in the apidox.

Revision 1.95.2.20 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Dec 10 23:20:44 2008 UTC (11 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
CVS Tags: DRUPAL-5--2-0-RC1
Changes since 1.95.2.19: +7 -7 lines
Diff to previous 1.95.2.19 , to branch point 1.95
Slightly improve the API to let backends format the revision identifiers.
Plus get back to cvs.module's method of displaying "#1234" for revisions
by default instead of just "1234" (== 5.x-1.x version).

Revision 1.95.2.19 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Dec 8 11:42:47 2008 UTC (11 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
CVS Tags: DRUPAL-5--2-0-ALPHA1
Changes since 1.95.2.18: +13 -4 lines
Diff to previous 1.95.2.18 , to branch point 1.95
Allow extension modules to define their own constraints - for now,
just by altering the original query to something that Version Control API
understands natively. Allowing other modules to alter the SQL query itself
is going to be the other part of issue #216373.

Revision 1.95.2.18 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Dec 6 03:17:38 2008 UTC (11 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.17: +2 -2 lines
Diff to previous 1.95.2.17 , to branch point 1.95
Make versioncontrol_get_parent_item() also work if $parent_path == '/'.

Revision 1.95.2.17 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Dec 6 03:01:25 2008 UTC (11 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.16: +48 -40 lines
Diff to previous 1.95.2.16 , to branch point 1.95
Unbreak versioncontrol_get_parent_item(), plus a few other minor fixes.

Revision 1.95.2.16 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Nov 22 15:49:38 2008 UTC (12 months ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.15: +21 -45 lines
Diff to previous 1.95.2.15 , to branch point 1.95
Move lines-changed information to the API module, and in turn,
get rid of versioncontrol_get_commit_statistics().

Revision 1.95.2.15 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Oct 26 20:15:06 2008 UTC (12 months, 4 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.14: +66 -98 lines
Diff to previous 1.95.2.14 , to branch point 1.95
Remove versioncontrol_get_all_item_{branches,tags}() in favor of a new
versioncontrol_get_parallel_items() function that does both, and does it
in a way that fits with the other 'selected_label' stuff that was
recently introduced.

That kinda discards sdboyer's commit tackling the same issue, which I felt
was not solving the guts of that todo item as the label handling was not
adapted, and the versioncontrol_backend_implements() calls introduced by
the last commits are indeed meant to be called by the API user and not by
the API module itself (so that was actually ok before.)
Sorry Sam, I hope you don't take offense about that...

Also, introduce versioncontrol_is_deleted_item() (small helper function)
and purge the get_item_history() example out of the FakeVCS backend as
there's (currently) no way to support or implement this directly by
the backends.

Revision 1.95.2.14 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Oct 9 17:06:25 2008 UTC (13 months, 2 weeks ago) by sdboyer
Branch: DRUPAL-5--2
Changes since 1.95.2.13: +51 -41 lines
Diff to previous 1.95.2.13 , to branch point 1.95
Continued work on #216371-10; finished off (I think) number 5 from the list, re: versioncontrol_get_all_item_{branches,tags}() updates.

Revision 1.95.2.13 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Oct 8 17:37:04 2008 UTC (13 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.12: +157 -1 lines
Diff to previous 1.95.2.12 , to branch point 1.95
* Support a 'revisions' operation query constraint.
* Move commitlog_account_username() to the API module as
  theme('versioncontrol_account_username') for public consumption,
  with minor improvements.
* Introduce a new function versioncontrol_fetch_item_commit_operations(),
  which adds the commit for each item in a list as 'commit_operation' element.

Revision 1.95.2.12 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Oct 1 12:16:27 2008 UTC (13 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.11: +25 -1 lines
Diff to previous 1.95.2.11 , to branch point 1.95
Rejoice! workflow-ng integration. (...which is succeeded by Rules in D6.)
Execute any arbitrary action when a commit/branch/tag operation happens,
optionally filtered by repository, path and label name.
There could certainly be more actions and conditions (and tokens for
mail subject + body provided by Commit Log), but for now it's quite ok.

With a few more additions, this could seriously replace commit_restrictions
with more flexibility and less code, assuming that drupal.org wants to run
Rules (which I find unlikely, so commit_restrictions will probably stay).

Revision 1.95.2.11 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Sep 29 14:29:23 2008 UTC (13 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.10: +30 -31 lines
Diff to previous 1.95.2.10 , to branch point 1.95
New method for retrieving file contents: now people should just get a copy.
The main gripe with the previous version was of course that the whole file
was required to be loaded into memory, which is just sooo evil.

I had first tried to make streams, but I dropped that again because of
1. caller comfort (easier to transfer and copy around), and
2. we need files anyways for reliable mimetype detection which is
   crucial for anything that involves file transfers and telling apart
   text and binary files (something that each repository viewer must be
   able to do).

Specifying the 'binary' attribute in the function itself is only supported
by a small subset of version control systems (I don't believe this is
supported by any VCS other than SVN) and even in that case very unreliable
to retrieve the mimetype.

So, whole file copies. Enjoy, and witness the related repoview commit!

Revision 1.95.2.10 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Sep 25 22:26:52 2008 UTC (13 months, 4 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.9: +303 -82 lines
Diff to previous 1.95.2.9 , to branch point 1.95
jpetso saves the world *again*!
Here comes the destruction of the Last Difficult Problem that had to be
solved for the Version Control API's 2.x branch. Like, from an API design
point of view. Everything from here on will be a piece of cake,
so to speak. (Of course, there's still lots of work to do.)

Changes? You bet.
- Renamed the versioncontrol_add_whatever() function to
    versioncontrol_fetch_whatever(), as the old names just didn't sound
    intuitively at all. Especially when introducing
    versioncontrol_add_item_revision_id()... NOT.
    Everything that loads data into objects (or rather, arrays) and
    modifies those rather than returning them as a result is "fetch" now.
    Such as the versioncontrol_fetch_item_revision_id() helper function.
- Introduced versioncontrol_fetch_successor_items().
    The opposite of versioncontrol_fetch_source_items().
- Major strike #1: Implemented versioncontrol_get_item_history()
    in the API module! That means that a) it works for all backends
    even if they don't implement on-the-fly file history parsers,
    and b) we can assume bearable performance. The current implementation
    is the naive one going from item to item, but the potential for large
    performance gains is there. Oh, and c) you can limit the number
    of returned items. Yay.
- Major strike #2: Got rid of the potential function overkill for
    backends to retrieve selected labels. It's now two functions only -
    [versioncontrol_backend]_get_selected_label_for_{operation,other_item}() -
    and stuffs all the retrievals with related or non-related items
    into that "from other item" function. Most important achievement,
    keeps the API somewhat usable (although still complex, but that's
    probably the price of abstraction and code reuse and stuff).
    It struck me during lunch! (...)
- Renamed versioncontrol_get_commits() to versioncontrol_get_commit_operations(),
    for consistency.
- Plus, as usual, a few fixes that I already forgot again.

So all the hard API problems are solved, I think. The remaining ones are
either relatively easy or stupid porting work, like for Commit Log.
Ok, so much for saving the world, now on to the boring non-VCS stuff again...

Revision 1.95.2.9 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 21 23:20:56 2008 UTC (14 months ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.8: +86 -23 lines
Diff to previous 1.95.2.8 , to branch point 1.95
So, while trying a repository browser, I thought that there should
probably be a function that allows direct retrieval by path, file revision
and label, so that the browser can pass the URL path and get an item.
Looks good so far, so let's commit it. Plus the usual assorted fixes.

Revision 1.95.2.8 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 21 14:51:07 2008 UTC (14 months ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.7: +77 -44 lines
Diff to previous 1.95.2.7 , to branch point 1.95
Lazy loading for selected labels. Yo man.

Revision 1.95.2.7 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 21 11:34:40 2008 UTC (14 months ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.6: +2 -1 lines
Diff to previous 1.95.2.6 , to branch point 1.95
Sort operation items by their path. (todo--)
Notice the deprecated versioncontrol_fakevcs_commit() function. (todo++)

Revision 1.95.2.6 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 7 20:06:07 2008 UTC (14 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.5: +2 -2 lines
Diff to previous 1.95.2.5 , to branch point 1.95
Fix for get_operations() apidox: label move ops are not supported anymore.

Revision 1.95.2.5 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Sep 5 17:47:49 2008 UTC (14 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.4: +200 -176 lines
Diff to previous 1.95.2.4 , to branch point 1.95
New label handling for items. Not yet there, but better than before.

Revision 1.95.2.4 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Sep 4 19:12:01 2008 UTC (14 months, 2 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.3: +4 -31 lines
Diff to previous 1.95.2.3 , to branch point 1.95
Remove get_directory_item(), and add some TODO comments.

Revision 1.95.2.3 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Sep 2 22:09:34 2008 UTC (14 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.2: +3 -2 lines
Diff to previous 1.95.2.2 , to branch point 1.95
Return absolute URLs for internal log links. Makes those work again
at my place, don't know when it broke anyways.

Revision 1.95.2.2 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Sep 2 21:37:08 2008 UTC (14 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95.2.1: +18 -18 lines
Diff to previous 1.95.2.1 , to branch point 1.95
The CVS backend's centralize-item-revision-tables update function was still
not good enough as it didn't cover the empty item revision object that is
required for joining "added" actions (naturally without source items) to
the {item_revisions} table nevertheless.

This commit adds such an "empty" item revision to the .install file
so that versioncontrol_add_source_items() works correctly.

And because we want to use 0 as type for that new empty item, take the
chance to sanitize the constants and let them all start at 1. No usage
to be ported in the API module itself, backends need to increase the
ITEM_*, FILE_* and ACTION_* constants by 1 if they stored them in the
database. (Will be taken care of for CVS and SVN in a moment.)

Revision 1.95.2.1 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Aug 29 13:56:50 2008 UTC (14 months, 3 weeks ago) by jpetso
Branch: DRUPAL-5--2
Changes since 1.95: +3 -3 lines
Diff to previous 1.95
Fix incorrect database constraints and non-working source items query.

Revision 1.95 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Apr 19 13:11:05 2008 UTC (19 months, 1 week ago) by jpetso
Branch: MAIN
Branch point for: DRUPAL-5--2
Changes since 1.94: +2 -2 lines
Diff to previous 1.94
* Extend label restrictions to branch/tag-emulating commits,
  and clean up a bit more... the code's a lot nicer to read than yesterday.
* Update copyright headers to 2008.

Revision 1.94 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Apr 19 11:16:15 2008 UTC (19 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.93: +88 -63 lines
Diff to previous 1.93
* Port Commit Restrictions to the new API, and clean it up some more.
* New API functions: versioncontrol_is_{file,directory}_item().
* Plus some other smallish API and documentation fixes/modifications.

Revision 1.93 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Apr 18 07:43:11 2008 UTC (19 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.92: +6 -3 lines
Diff to previous 1.92
Commit Log shows again, albeit without items.

Revision 1.92 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Apr 15 10:09:38 2008 UTC (19 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.91: +25 -31 lines
Diff to previous 1.91
Adapt large parts of Commit Log to the new API. Not complete yet -
requires more sophisticated porting and rethinking of some parts,
as commits, branches and tags are now unified and all shown in the log
side by side. Consequently, the branch/tag specific parts have been
ripped out for the major part.

Revision 1.91 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Apr 14 11:29:34 2008 UTC (19 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.90: +9 -5 lines
Diff to previous 1.90
Implement label insertion and item deletion. Plus a few minor fixes.
Those were the last todo items for the "core" of Version Control API,
so let's now track down and adapt all the callers.

Note that, in lack of a backend that's compatible to the updated API,
I couldn't yet test this, so don't expect it to work yet.

Revision 1.90 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Mar 25 17:49:14 2008 UTC (20 months ago) by jpetso
Branch: MAIN
Changes since 1.89: +6 -6 lines
Diff to previous 1.89
Implement inserting operation items - for the largest part, at least.
Not much left before I can head off to port the callers.

Also, fix syntax errors.

Revision 1.89 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Mar 13 21:44:30 2008 UTC (20 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.88: +219 -58 lines
Diff to previous 1.88
Next step in porting to the new database schema:
Implement loading operation items, and unify the write access and
insertion functions (with the new implementation of inserting items
not done yet). Random porting also in other places.

Have I mentioned that the docs are far more work than the code?
Anyways, it's worth the hassle.

Revision 1.88 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Mar 1 11:38:29 2008 UTC (20 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.87: +2 -2 lines
Diff to previous 1.87
Oopsie, typo.

Revision 1.87 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Mar 1 11:35:12 2008 UTC (20 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.86: +336 -722 lines
Diff to previous 1.86
Progress with the new database schema: unify commit, branch and tag queries,
making pure convenience functions out of get_commits(),
get_branch_operations() and get_tag_operations().
Enjoy the line count: +337 -1210

New API functions:
versioncontrol_get_operations() - whoo, the new does-it-all query

API changes:
versioncontrol_get_branch_operations() and versioncontrol_get_tag_operations()
now also return commits for version control systems that don't support
branches and tags natively (that is, Subversion).

Revision 1.86 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Feb 28 21:32:49 2008 UTC (20 months, 3 weeks ago) by jpetso
Branch: MAIN
Changes since 1.85: +11 -15 lines
Diff to previous 1.85
Assuming that no one has tried to upgrade from 1.0 yet
(reasonable assumption, as I even endorsed it being broken),
let's add this column without doing a new update_N() function.

The column is called "type" (one more of those) and the solution to the
one problem where I couldn't imagine how the search query would look like.
With this "type" flag, we can have both the real "member" items of
an operation as well as "fake" cached source items that should also be
searched for. For get_operation_items(), we're going to skip the cached
items and only get the real ones.

Also, remove the TODOs and get_affected_item(), as those are now
definitely obsolete and fulfill no purpose in HEAD anymore.

Revision 1.85 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 26 00:34:06 2008 UTC (20 months, 4 weeks ago) by jpetso
Branch: MAIN
Changes since 1.84: +3 -1 lines
Diff to previous 1.84
First part of #216371: Update of the API module's database schema,
complete with the upgrade path. Next up: db upgrade for versioncontrol_cvs,
and then actually adapting the code.

As you might guess, this leaves HEAD in a state where it does not work.
That will change, though... just give me a few days.

Revision 1.82.2.1 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Feb 20 09:45:53 2008 UTC (21 months ago) by jpetso
Branch: DRUPAL-5
CVS Tags: DRUPAL-5--1-2
Changes since 1.82: +1 -3 lines
Diff to previous 1.82 , to next main 1.154
Remove those todo items, they don't apply to the DRUPAL-5 branch.

Revision 1.84 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 18 19:14:53 2008 UTC (21 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.83: +19 -7 lines
Diff to previous 1.83
* Add a default implementation for get_parent_item(), so that backends
  only need to implement this if they want to differ from that one.
  Yay for less code duplication.
* When timestamps are the same, also sort by vc_op_id
  in the operation retrieval functions.

Revision 1.83 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 18 16:24:37 2008 UTC (21 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.82: +22 -16 lines
Diff to previous 1.82
API change! versioncontrol_get_current_item_tag() now returns just the
tag name as string instead of the whole tag operation. This change
needs to happen because otherwise items coming from get_all_item_tags()
(as opposed to get_tagged_items() which already supplies the tag op)
would have a very hard time.

That shouldn't hurt existing modules (outside the versioncontrol project,
at least) as the function was not yet used and was only implemented by
the CVS backend, I'll update that one at once.

Also, mark mandatary functions as such in the FakeVCS example backend.
Makes it easier to find those functions that have to be implemented.

Revision 1.82 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Feb 17 16:00:03 2008 UTC (21 months, 1 week ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-1
Branch point for: DRUPAL-5
Changes since 1.81: +92 -41 lines
Diff to previous 1.81
New API functions:
* versioncontrol_format_commit_identifier(), and
* versioncontrol_format_item_revision().
With those two, it's possible to implement a tiny function in, let's say,
versioncontrol_hg, and display a shortened version of the changeset
identifier, like hgweb does.

Also, put some menu entries from $may_cache to !$may_cache for correctness,
and some the other way round for better performance.

Revision 1.81 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Feb 12 21:06:05 2008 UTC (21 months, 1 week ago) by jpetso
Branch: MAIN
Changes since 1.80: +1 -7 lines
Diff to previous 1.80
Subversion pushes our assumptions about how commit actions can look like
to the next level. Among those assumptions is that modified files
don't change their path and branch: wrong in Subversion, because
moving a parent directory will leave items inside that directory
completely untouched. Only when it's modified afterwards, a commit action
happens for this item, and then it suddenly has a new path.

Branches also don't need to stay the same, as a simple move between
Subversion directories can yield different branches for source and
target item.

This commit removes these assumptions from the API documentation.

Revision 1.80 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Feb 11 01:02:51 2008 UTC (21 months, 2 weeks ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0
Changes since 1.79: +18 -20 lines
Diff to previous 1.79
Fix repository and addition assignments in _versioncontrol_amend_operations()
by only assigning to operations of the currently processed VCS backend.
This fix makes multiple backends work together also in the commit log.

As a welcome side effect - now that I'm sure that indexes don't affect
the sorting of arrays - we get a vc_op_id as array key for commit,
branch op and tag op arrays. Which is source compatible, as users that
don't know about the key (like now) must not have assumed what it contains,
they only may do so from now on.

Revision 1.79 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jan 21 10:52:40 2008 UTC (22 months ago) by jpetso
Branch: MAIN
Changes since 1.78: +171 -161 lines
Diff to previous 1.78
Holy moly! Here comes the big fat operation factoring commit.
Commits, branch operations and tag operations now derive from one
base object (an "operation") which has most of its properties stored
in the new {versioncontrol_operation} table.

+ More consolidation, less duplicate code,
  and less duplication in the table structure.
+ One operation id to rule them all.
+ Potential for introducing a combined versioncontrol_get_operations()
  function that can retrieve all three kinds of operations. Later, though.
+ A few bug fixes.
+ Comes with an upgrade path. Scary, though, I hope I won't ever
  have to do an update function like this again.

- Even more abstraction, which makes the database scheme even harder
  to grasp.
- One more join in important SQL queries.

Revision 1.78 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jan 11 03:50:45 2008 UTC (22 months, 2 weeks ago) by jpetso
Branch: MAIN
Changes since 1.77: +30 -24 lines
Diff to previous 1.77
Pimp up the get_commit_statistics() API documentation.

Revision 1.77 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Jan 9 21:09:19 2008 UTC (22 months, 2 weeks ago) by thehunmonkgroup
Branch: MAIN
Changes since 1.76: +37 -1 lines
Diff to previous 1.76
#197212 by corsix: Enable Metrics and Version Control API modules to show lines of code changed.

Revision 1.76 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Nov 9 20:23:25 2007 UTC (2 years ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0-RC4
Changes since 1.75: +156 -91 lines
Diff to previous 1.75
This isn't the first time that a query fragment like 'WHERE column = ()'
causes problems. Try to avoid those cases by explicitely checking
the constraints on emptyness and returning FALSE for constraints
that are set but empty.

Also, prepend hook_versioncontrol_filter_account() instances with a check
if there are accounts in the list at all. Fixes the bug that was reported
by "world" on #drupal-dev.

Revision 1.75 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Nov 8 02:58:36 2007 UTC (2 years ago) by jpetso
Branch: MAIN
Changes since 1.74: +2 -2 lines
Diff to previous 1.74
Use drupal_urlencode() instead of plain PHP urlencode().
Makes for prettier slashes.

Revision 1.74 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Nov 2 13:39:12 2007 UTC (2 years ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0-RC3
Changes since 1.73: +23 -15 lines
Diff to previous 1.73
Starting the Subversion backend shows quite a bit of buggyness...
but that's fixable:

* Make sure that the delete_{repository,branch,tag,commit}() functions
  work from [vcs_backend]_uninstall().
* Make sure that disabled backends never cause *more* results
  to be retrieved by the query functions. That bug was the reason
  that my test data is now gone. Well it wasn't more than 4 pages anyways.
* Make sure that the FakeVCS backend never handles form value extraction
  hooks if it hasn't altered the form beforehand.
* Fix a stupid typo (or rather, copy-n-paste-o) in the FakeVCS backend.
* Polish for the repository edit form: require a repository name,
  and remove a duplicate form element description.

Revision 1.73 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Oct 30 03:20:42 2007 UTC (2 years ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0-RC2
Changes since 1.72: +2 -2 lines
Diff to previous 1.72
Dang it! the function should be namespaced consistently.
Which makes for another -rc release - unnecessarily, as one might add.

Revision 1.72 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Oct 30 01:59:50 2007 UTC (2 years ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0-RC1
Changes since 1.71: +47 -6 lines
Diff to previous 1.71
Last TODO item for Version Control API 1.0 (code-wise):
Introduce the get_url_log_view() API function and the
'file_log_view' repository URL in the database / repository admin form.
Used by Commit Log for linking file names (whereas the content view URL
is used for linking revision numbers).

Also, a bit of bug fixing:
* Make branch replacement tokens work for repository URLs.
* Delete entries from {versioncontrol_repository_metadata}
  if the repository is deleted itself.
* Better URL encoding in Commit Log.

Now let's copy the Version Control API overview from g.d.o and we're set.

Revision 1.71 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Oct 29 21:02:21 2007 UTC (2 years ago) by jpetso
Branch: MAIN
Changes since 1.70: +21 -21 lines
Diff to previous 1.70
The right way to write '%d' is without quotes, so remove all of those.
Also, add a few configuration variables to the uninstallation function
that have been forgotten before.

Revision 1.70 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Oct 29 19:16:42 2007 UTC (2 years ago) by jpetso
Branch: MAIN
Changes since 1.69: +172 -1 lines
Diff to previous 1.69
API additions:
- versioncontrol_get_user_statistics() gathers commit statistics.
- theme('versioncontrol_user_statistics', ...) makes a simple table out of them.

Revision 1.69 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Oct 17 12:33:04 2007 UTC (2 years, 1 month ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--1-0-BETA1
Changes since 1.68: +44 -12 lines
Diff to previous 1.68
* Add (optional) paging to get_{branch,tag}_operations().
* Fixes and additions for the apidox.

Revision 1.68 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Oct 12 11:11:06 2007 UTC (2 years, 1 month ago) by jpetso
Branch: MAIN
Changes since 1.67: +45 -33 lines
Diff to previous 1.67
* API change: rename get_commit_directory_item() to get_directory_item(),
              so that it also works on branches and tags.
* Autoload the repository into branch and tag operations, as specified in the docs.
  Also load it into commits if the backend doesn't have AUTOADD_COMMIT.
* Document the {branch,tag}_names constraint.

Revision 1.67 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Oct 2 19:07:22 2007 UTC (2 years, 1 month ago) by jpetso
Branch: MAIN
Changes since 1.66: +11 -6 lines
Diff to previous 1.66
Commit mails for the VCS admin, and a few minor fixes and improvements.

Revision 1.66 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Oct 2 14:58:58 2007 UTC (2 years, 1 month ago) by jpetso
Branch: MAIN
Changes since 1.65: +2 -1 lines
Diff to previous 1.65
* Rename the $form['#id'] values from vcs-* to versioncontrol-*.
  The previous names had their merits from a logical point of view,
  but were a bit confusing for me nonetheless.
* Add a setting for the Commit Log's pager limit.

Revision 1.65 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 23 22:10:16 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--0-9-RC1
Changes since 1.64: +1 -2 lines
Diff to previous 1.64
So if we're already messing big time with the table structure,
let's rename the repository_internal_data one into repository_metadata,
which is less scary and fits better.

Revision 1.64 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 23 21:54:22 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.63: +50 -32 lines
Diff to previous 1.63
Simple but effective repository caching. Does not flush the cache when
the repository is changed, but that is anyways unnecessary in about 100%
of all cases.

Also, replace SQL "column = 'value1' AND column = 'value2'"
with "column IN ('value1','value2')" where reasonable.

Revision 1.63 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 23 21:13:15 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.62: +42 -19 lines
Diff to previous 1.62
Solve a number of bugs with respect to account authorization and retrieval.
Unfortunately, one problem led to another one, and in the end it all
cumulated in is_account_authorized() requiring a complete repository array
instead of just the repository id.

Which means that caching for get_repositories() is up next.

Revision 1.62 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Sep 23 19:46:01 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.61: +70 -20 lines
Diff to previous 1.61
The Last Great Mess-up: make authorization methods a per-repository setting
instead of a site-wide one. For example, that enables us to have an
application-based contrib repository next to a purely admin-controlled
core one.

Changes that go with this commit:
* One more column in the repository table
* One less column in the account status strings table
* Introduction of hook_versioncontrol_alter_repository_selection()
  for selectively disallowing repository registrations
* Reshuffle the admin interface
* While we're at it, move the non-admin pages out of .admin.inc
  and into .pages.inc
* Simplify the Account Status module by dropping the
  site-wide authorization method, which isn't very practical anyways
* Apidox updates
* ...and a few bug fixes, I think.

Revision 1.61 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Sep 14 09:56:31 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.60: +21 -9 lines
Diff to previous 1.60
* Add a tag message to the tag operations table.
  Optional for the backend (will be supported by all VCSs except CVS).
* Don't query for repositories "WHERE (repo_id = '12' AND repo_id = '12')".
* In _versioncontrol_db_get_additions(), use "primary_key IN ('1','2',...)"
  instead of "(primary_key = '1' OR primary_key = '2' OR ...".
* More apidox bulletpointifying. I think versioncontrol should be fine now,
  from the apidox point of view.

Revision 1.60 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Sep 14 00:22:47 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.59: +415 -431 lines
Diff to previous 1.59
* ASCII-bulletpointify the apidox, they should now be displayed as such
  in api.module's HTML output.
* Add at least Derek's copyright, as hook_block() is pretty much
  directly copied from cvs.module.
* Move two functions up and down for consistency
* Add the TODO items that remain for the 0.9 release.

Revision 1.59 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Sep 8 15:39:50 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--0-9-BETA2, DRUPAL-5--0-9-BETA3, DRUPAL-5--0-9-BETA4
Changes since 1.58: +1 -2 lines
Diff to previous 1.58
* Postgres support.
* Factor out the account export function so that backends
  can use it by calling from a cron script.
* Pass a proper branch/tag operation array to the has_*_access() hooks.

Revision 1.58 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Sep 4 13:07:42 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.57: +3 -3 lines
Diff to previous 1.57
Filtering, paging and more efficiency for the account list. Whoo!
Also, properly hook into the submit handler for the global settings form.

Revision 1.57 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Sep 3 07:05:05 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
CVS Tags: DRUPAL-5--0-9-BETA1
Changes since 1.56: +5 -5 lines
Diff to previous 1.56
Forgot to also reorder two phpdoc comments so that they're in line
with the small API change.

Revision 1.56 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Sep 3 07:03:54 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.55: +4 -4 lines
Diff to previous 1.55
* A bit of refactoring in the account status module so that we're able
  to distinguish between user submitted and programmatically submitted
  insertions and updates.
* Together with that, a small API change for more consistency.
* And of course, bug fixes.

Revision 1.55 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Aug 30 12:43:57 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.54: +1 -3 lines
Diff to previous 1.54
Update TODOs.

Revision 1.54 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Aug 30 12:07:31 2007 UTC (2 years, 2 months ago) by jpetso
Branch: MAIN
Changes since 1.53: +70 -2 lines
Diff to previous 1.53
* import/export functionality
* an option to allow or disallow unauthorized commits
* a "Most active developers" block

Revision 1.53 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Aug 24 15:19:38 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.52: +6 -7 lines
Diff to previous 1.52
Add approval status to the account list, and fix a few bugs.

Revision 1.52 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Aug 22 16:33:02 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.51: +19 -15 lines
Diff to previous 1.51
Better naming, and don't allow repository access to unauthorized users.

Revision 1.51 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Aug 21 12:32:39 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.50: +26 -1 lines
Diff to previous 1.50
A few fixes and the introduction of versioncontrol_get_parent_item().
Also, display the project item as base directory in the commit log
if the commit corresponds to a project.

Revision 1.50 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Aug 20 21:43:20 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.49: +7 -3 lines
Diff to previous 1.49
Splitting the register account form into a page (markup) and a form part
enables us to call drupal_access_denied(), return nothing and look like
expected.

Revision 1.49 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Aug 20 18:48:03 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.48: +5 -4 lines
Diff to previous 1.48
Add the admin email address to the settings page,
requiring a rename of the tab to "General".

Revision 1.48 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Aug 20 07:59:26 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.47: +9 -9 lines
Diff to previous 1.47
Introduce admin-configurable messages for the account registration
redirection form.

Revision 1.47 - (view) (download) (as text) (annotate) - [select for diffs]
Sun Aug 19 23:15:42 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.46: +103 -68 lines
Diff to previous 1.46
* Greatly simplify hook_menu() with respect to account registration.
  That also prevents fetching all repositories at 'user/$uid/edit'
  and is much cleaner in general.

* Together with that, introduce an admin form for general
  version control related settings, with account authorization
  as default task. Also, introduce a two simple API functions
  so that account authorization modules can hook into that.

* Update the README.txt files. It's very tedious to retrieve the exact
  maintainers for each line, so let's just name the cvs.module authors
  collectively.

* A few other fixes, as always ;)

Revision 1.46 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Aug 18 23:48:12 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.45: +34 -5 lines
Diff to previous 1.45
Finish up the API with a few changes and additions
caused by the branch/tag centralization.

Revision 1.45 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Aug 18 21:45:52 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.44: +150 -13 lines
Diff to previous 1.44
* Introduce the mandatory get_{branched,tagged}_items() functions.
* Let "no revision" be the empty string instead of NULL,
  in order to reduce confusion for users and backends.
* Some other API documentation updates.

Revision 1.44 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Aug 18 19:44:51 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.43: +12 -6 lines
Diff to previous 1.43
Store branches properly, and define all constants that we provide.

Revision 1.43 - (view) (download) (as text) (annotate) - [select for diffs]
Sat Aug 18 14:22:12 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.42: +16 -4 lines
Diff to previous 1.42
Make everything work like it did before. Even a bit better.

Revision 1.42 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Aug 17 18:05:12 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.41: +411 -155 lines
Diff to previous 1.41
Centralize branches and tags into the API module.
This is a major change, and I've got no idea if everything still works.
At the moment, it probably doesn't... but it will.

Revision 1.41 - (view) (download) (as text) (annotate) - [select for diffs]
Wed Aug 15 14:06:32 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.40: +13 -1 lines
Diff to previous 1.40
Improve the branch/tag API for more ease of use and flexibility.
Also, introduce versioncontrol_get_affected_item($commit_action)
in order to share a bit of code and prevent incorrect checks.

Revision 1.40 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Aug 14 12:06:18 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.39: +16 -20 lines
Diff to previous 1.39
A few fixes and cleanups.

Revision 1.39 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Aug 13 10:48:50 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.38: +4 -7 lines
Diff to previous 1.38
Update and clean up the possible backend capabilities array values.

Revision 1.38 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Aug 10 13:33:15 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.37: +14 -11 lines
Diff to previous 1.37
Small improvements to code and comments.

Revision 1.37 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Aug 9 16:38:29 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.36: +336 -6 lines
Diff to previous 1.36
Move the menu hook to the main file, add a JavaScript username callback,
and only return approved accounts by default. (Account approval can be
denied by implementing hook_versioncontrol_is_account_approved($uid, $repo_id)
and returning FALSE for bad users.)

Revision 1.36 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Aug 2 12:11:17 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.35: +63 -32 lines
Diff to previous 1.35
Fixes, improvements, introduction of a get_repository() convenience
function, and completing the implementation of the insert/update/delete API
for commits, repositories and accounts.

Revision 1.35 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 30 12:18:46 2007 UTC (2 years, 3 months ago) by jpetso
Branch: MAIN
Changes since 1.34: +195 -110 lines
Diff to previous 1.34
Centralize account management (insertion and retrieval, for now)
and split out the repository URLs into a separate table.

Revision 1.34 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 27 15:48:00 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.33: +33 -2 lines
Diff to previous 1.33
Implement paging. Commit Log can now do everything that the 'cvs' page
of cvs.module does (except if it does things differently). Whoo!

Revision 1.33 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 27 14:22:13 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.32: +223 -137 lines
Diff to previous 1.32
Finish the implementation of repository and commit additions,
including factoring stuff out from the huge get_{commits,repositories}()
functions. Remove the [vcs_backend]_filter_commits() function and
merge its functionality into [vcs_backend]_alter_commits().

Querying for commits is now fully functionable. Now for paging.

Revision 1.32 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 27 11:48:19 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.31: +1 -3 lines
Diff to previous 1.31
Remove obsolete comment, the 'branches' constraint is already implemented.

Revision 1.31 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 27 11:47:31 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.30: +132 -11 lines
Diff to previous 1.30
An unoptimized but correct implementation of the 'paths' and 'branches'
constraints. Autoadd for commit arrays. Backend API fixes.
get_commits() now nearly works like advertised - missing stuff:
paging, and autoadd for repositories.

Revision 1.30 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 26 20:58:16 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.29: +48 -2 lines
Diff to previous 1.29
Half the implementation for the 'paths' constraint.
What's left is filtering out accidental false positives from the result.
Also, some backend-specific hook will be necessary for bearable speed..

Revision 1.29 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 26 18:38:10 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.28: +78 -2 lines
Diff to previous 1.28
Implement the easy constraints of versioncontrol_get_commits().
That is, all but 'branches' and 'paths', both of which will need
special treatment (but are vital nevertheless).

Revision 1.28 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 26 17:48:10 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.27: +172 -21 lines
Diff to previous 1.27
More implementation, more documentation, more API improvements.

Revision 1.27 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 23 08:49:07 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.26: +4 -2 lines
Diff to previous 1.26
Replace 'internal' arrays with '[vcs]_specific' ones.
Also, improve some bits of API documentation and fix copyright headers.

Revision 1.26 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 19 17:32:26 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
Update all occurrences of the AUTOADD_COMMIT and AUTOADD_REPOSITORY flags
so that they appear correctly in all places. If I'm right, xcvs-loginfo
works perfectly now. Whoo!

Revision 1.25 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 19 17:06:00 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24
Bugfixes all over the place. Also, remove versioncontrol-bootstrap.php,
it's not needed anymore as the required code has grown so small that it
fits into xcvs-config.php (and other hook scripts) without a doubt.

Revision 1.24 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 19 12:25:57 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.23: +262 -56 lines
Diff to previous 1.23
More implementations, simplification of the get_authors_*() parameters,
documentation fixes, and whatever else. This commit was brought to you
by a few days of offline life.

Revision 1.23 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 13 12:15:32 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.22: +34 -71 lines
Diff to previous 1.22
Another go at the 'branch/tag selection for items' issue.
This time, I'm really confident that the solution is a good one.
As a bonus, I was able to completely get rid of the awkward $state
parameter, as all the state information is now stored as an 'internal'
property of the $item array. I can't help myself finding this really cool.

Revision 1.22 - (view) (download) (as text) (annotate) - [select for diffs]
Fri Jul 13 11:02:53 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.21: +22 -6 lines
Diff to previous 1.21
Add the 'commit view URL' together with its getter function,
and rename the former 'view URL' to 'item view URL'.

Revision 1.21 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 12 18:30:41 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.20: +82 -27 lines
Diff to previous 1.20
An implementation for get_authors_by_uid() and get_authors_by_username().
Unfortunately, realizing that the repository arrays should be passed
as well makes the input and return structures a bit more complicated,
but this way we can avoid unnecessary database queries while staying
correct and delivering all necessary data to the user.

Also, add the "function" keyword to the functions.
Yes, you may laugh at me now. :]

Revision 1.20 - (view) (download) (as text) (annotate) - [select for diffs]
Thu Jul 12 14:35:50 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.19: +270 -228 lines
Diff to previous 1.19
Refactor the API, introducing $item as third building block
next to $commit and $repository. Should make for unique item identification
as well as more consistency between return values.

Revision 1.19 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 10 16:02:28 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.18: +90 -13 lines
Diff to previous 1.18
Add versioncontrol_get_backends(). Thanks to fago's pageroute module
for providing the boilerplate code for this function :)

Revision 1.18 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 10 15:27:18 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.17: +52 -9 lines
Diff to previous 1.17
Introduce the _call_backend() and _call_backend_optional() functions.
I made my mind up about naming the backend modules, they will be
mandatorily named versioncontrol_[vcsname].module.

Which means that fakevcs_backend.module needs to be renamed, and that's
kinda annoying in CVS. But it needs to be done, and I don't want to rely
on dww renaming stuff again, so here's the infamous history-losing move.

Revision 1.17 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 10 00:21:51 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.16: +39 -38 lines
Diff to previous 1.16
I believe get_commit_items() should just be named get_items(),
as it doesn't solely operate on the items that have been changed
in a commit. Thus, rename and move it in the code.

Revision 1.16 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 10 00:09:44 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.15: +178 -7 lines
Diff to previous 1.15
Add get_url_tracker(), get_item_tags(), get_item_history(),
get_file_contents() and get_file_annotation() to the API module,
and reorganize several documentation and code fragments.

Revision 1.15 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 15:58:27 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.14: +42 -1 lines
Diff to previous 1.14
Add get_commit_branches() and get_item_branches() to the API module.

Revision 1.14 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 15:37:52 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.13: +3 -1 lines
Diff to previous 1.13
Another additional documentation detail.

Revision 1.13 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 15:35:21 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.12: +38 -3 lines
Diff to previous 1.12
Add get_commit_items() to the API module.

Revision 1.12 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 15:11:03 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.11: +4 -1 lines
Diff to previous 1.11
Reference and replicate API documentation.
This is gonna be copy-and-pasted, so let's be a good example.

Revision 1.11 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 15:05:56 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.10: +42 -1 lines
Diff to previous 1.10
Add get_commit_actions() to the API module,
and clean up the FakeVCS version.

Revision 1.10 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 14:16:37 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.9: +6 -5 lines
Diff to previous 1.9
Better wording for the API documentation.

Revision 1.9 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 9 13:00:29 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.8: +37 -24 lines
Diff to previous 1.8
Branches, tags, paths and usernames are repository specific.
Reflect this fact better in the API.

Revision 1.8 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 3 16:52:59 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.7: +43 -7 lines
Diff to previous 1.7
Add the get_repositories() API function.

Revision 1.7 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 3 16:31:00 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.6: +3 -1 lines
Diff to previous 1.6
Clarification of the return value.

Revision 1.6 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 3 16:29:39 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.5: +45 -5 lines
Diff to previous 1.5
Re-add the newurl and diffurl paths as url_view and url_diff, including the
versioncontrol_get_url_view() and versioncontrol_get_url_diff() functions
for easy and encapsuled access to those paths.

Revision 1.5 - (view) (download) (as text) (annotate) - [select for diffs]
Tue Jul 3 15:51:26 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.4: +53 -5 lines
Diff to previous 1.4
Add the get_authors_by_uid() and get_authors_by_username() functions.
Also, improve the get_commits() documentation.

Revision 1.4 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 2 17:11:36 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.3: +3 -2 lines
Diff to previous 1.3
Add the get_commit_branches(), get_item_branches() and get_item_tags() hooks,
hopefully solving the issue of how to represent tags and branches.
Also, add a contributions/ subdirectory to all the example paths,
that would be more realistic.

Revision 1.3 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 2 17:00:04 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.2: +5 -1 lines
Diff to previous 1.2
Introduce the get_file_contents() and get_file_annotation() backend functions.

Revision 1.2 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 2 16:51:18 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Changes since 1.1: +50 -1 lines
Diff to previous 1.1
Polish the existing backend function signatures, and add the main
versioncontrol_get_commits() function to versioncontrol.module.

Revision 1.1 - (view) (download) (as text) (annotate) - [select for diffs]
Mon Jul 2 16:36:41 2007 UTC (2 years, 4 months ago) by jpetso
Branch: MAIN
Add fakevcs_backend.module with an expansive example of
how data structures could look like. Not yet fixed, of course.
Rename 'cid' to 'commit_id', which is more to write but easier to read,
and avoids clashes with all kinds of comment identifiers.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.2