Log of /contributions/modules/versioncontrol/versioncontrol.module
Parent Directory
|
Revision Log
|
Revision Graph
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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 -
(
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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.