Posted by wmodes on September 3, 2008 at 9:10pm
| Project: | Version Control API -- Git backend |
| Component: | Code |
| Category: | task |
| Priority: | normal |
| Assigned: | CorniI |
| Status: | closed (fixed) |
| Issue tags: | Drupal 6 porting |
Issue Summary
Any update on plans to port Version Control API GIT backend to 6.X?
Comments
#1
Waiting on versioncontrol port to 6.x.
#2
ported started :D
This patch only let the module be on 6.x, all api changes are pending
#3
Patch contains a/ b/ in front of all file indexes. I can bypass that, but then it still doesn't apply.
Please re-roll.
#4
Branched project for 6.x development.
#5
:o
weird error patching info file(I suppose the problem is automatic changes with CVS :p), now it applies naturally
#6
patch -p1
#7
Not trying to be anal, but I get rej:
@@ -605,7 +603,7 @@
$revision = $action['git_specific']['revision'];
}
- $item_revision_id = db_next_id('{versioncontrol_git_item_revisions}_item_revision_id');
+ $item_revision_id = db_last_insert_id('{versioncontrol_git_item_revisions}_item_revision_id');
db_query(
"INSERT INTO {versioncontrol_git_item_revisions}
(item_revision_id, vc_op_id, type, path,
--
#8
I do not understand, two possibilities, about using diffent versions:
* of versioncontrol_git
my patch is against
DRUPAL-5--1-2tag* of patch?
2.5.9
did I am miss anything?
#9
Well, it would be recommended to roll against HEAD as that is for 6.x dev, but DRUPAL-5 and DRUPAL-5--1-2 are all the same...I tried all three with same result.
The second patch posted is virtually identical to the first other than a hash change, not sure if you meant to upload a different file?
#10
I see now branches
HEAD=DRUPAL-5, so, I really do not know what is the problem applying the patch.Here is the diff between patches:
1c1< From 55bf806ab6a12456d479c3fc6cf7597fa7bcee70 Mon Sep 17 00:00:00 2001
---
> From ba8f8aa9b1ac822a2abadf6808baeadd174b4bb2 Mon Sep 17 00:00:00 2001
40c40
< index be5c5e7..2eaabdd 100644
---
> index be5c5e7..5544fc0 100644
47a48
> +core=6.x
50d50
< +core=6.x
Aparently the patch problem was because where is the
core=6.xline inserted, that was the reason of my re-role and the olny real change.I tried download cvs DRUPAL-5 and HEAD, latest drupal 5 tarball, latest drupal 6 dev, but no problems.. maybe I could commit directly if you want (note that I have plans to contribute here :D with soc or not, I really like git, so maybe is the right time)
#11
After quick discussion in IRC I agree that since I have no time for this now and marvil07 is interest I have given him CVS rights to develop 6.x branch.
Look forward to seeing results.
#12
ok, initial commit on cvs, looking forward to make the 2nd part on this week, but probably there were more than one commit :D
#13
Great! Some comments on the patch:
Apart from that, I can only refer to the FakeVCS, CVS and SVN modules - if you need any examples, much of the required code exists in an approximately similar way in those other backends. Thanks for starting the port, and good luck!
#14
As for the database stuff, a lot of stuff has changed there. Version Control API's versioncontrol.install tries to document the columns quite thoroughly, you might want to have a look at that one. Also, due to the changes from 5.x-1.x to 5.x-2.x you'll be able to drop the {versioncontrol_git_commit_branches}, {versioncontrol_git_item_revisions}, {versioncontrol_git_item_tags}, {versioncontrol_git_tag_operations} and {versioncontrol_git_item_source_revisions} tables - all of those are now centralized in Version Control API itself. Adapting to those changes will be the bulk of the upgrading work. (Given the low number of users of this backend, a data-preserving upgrade path probably won't be worth the considerable effort. Imho.)
Also, having the password stored in the {versioncontrol_git_accounts} table doesn't make sense in hindsight (see this issue for an explanation), and is not in active use as far as I remember, so you can pretty much delete that table without any side effects.
#15
Oh, and one more thing: I finally got around to putting some documentation into the handbook, you might want to have a look at that.
#16
@jpetso: I decided to give marvil07 commit access, since I don't have time to work on this.
#17
@boombatower: yup, I saw that, and I'm also subscribed to the commit feed so I notice when something happens there :)
#18
start working on this again!
thanks for pointing me to the right direction jpetso
#19
I'd love to help - I added the missing functions(from 5.1.x to the git 6.x-dev), but that just makes it more like the old version (so that's wrong). jpetson, can you give an example (or where to find an example) of how to make a commit log when you have dropped the {versioncontrol_git_commit_branches}, {versioncontrol_git_item_revisions}, {versioncontrol_git_item_tags}, {versioncontrol_git_tag_operations} and {versioncontrol_git_item_source_revisions} tables? I searched the versioncontrol_fakevcs and there is very little mention of the commit log. What function would be used? marvil07 - any updates I can work from? Thanks!
#20
Hi liveoutloud2day,
You're welcome to contribute :-D
I've just commited two little changes(192778 and 192782),
Please make a patch against DRUPAL-6--1 branch.
Maybe you have read it, but there's relative new documentation of the API at its handbook
#21
subscribe, also interested in helping here!
#22
After some talking on irc, CorniI and me decided to make a gitorious clone to work(all history is there). I'll sync CVS time to time :D
@liveoutloud2day, please join us, just make an account there and mail me or post here saying your nick there.
Can you feel git love ;-D?
#23
Ok, let's have some more notes:
array('name' => 'master', 'type' => VERSIONCONTROL_OPERATION_BRANCH)) and pass it to versioncontrol_ensure_branch(), then the return value label array will contain the 'label_id' element.Anyways, dudes, you rock. go go go!
#24
I pushed an initial commit version to the repo!
It's still very buggy though :P
It's using atm 3 loops to rewrite the parser output, in a further patch i'll modify the parser to ouput better suited arrays.
What do I have to provide for the versioncontrol_insert_operation() $operation_items[]['source_items']-array? atm it's left empty, but i'd like to know what it's for.
About deleting the funcs: i think they could stay atm, in case there's any reference needed, that's why i just commented them out instead of a direct delete.
@others: if you don't want to interfere with my code, someone should implement tags and maybe have a look at my branches, esp. a creation date (and an author) would be *very* nice, has anyone ideas how to get these data?
edit: i was wrong about the parser beeing incomplete for adding/deleting file, it is fine, i just overlooked it :D
edit2: pushed my changes till now, just read the commit message
#25
@Cornil: Like I said above - I specifically checked the functions listed above, and you won't need them as reference later. They're now just bloat. Note that I didn't list all functions that will be removed in the end, because some others actually might be handy as a reference.
#26
Regarding $operation_items format, there is (as always) comprehensive API documentation in the versioncontrol_insert_operation(). Which points to versioncontrol_get_operation_items() for the 'source_items' entries in order to avoid duplication, but essentially the apidox should explain the format better than if I try to recap it here in the comments.
#27
imho, the port to D6 is pretty complete and working. Code is supposed to be comitted to cvs.d.o by marvil07 soon, else you can find it here:
http://gitorious.org/projects/versioncontrol_git
there's also a wiki page with a roadmap and a bit text of what i've done till now. If boombatower/jpetsp agrees that the port itself is done, please close the issue, we'll then open further issues for the roadmap points :)
#28
The code looks good, I believe the backend is there from a porting point of view. Some issues might certainly be left to fix, but if it works then I'd say let's mark the porting issue as fixed. Thanks for everyone's input (and especially CorniI's major contributions, without which the backend would still be far from working), I'm looking forward to more polish and a significant number of users.
Once you publish betas or release candidates (your call), please take care to make upgrade paths sufficiently work. For users updating from the 5.x version, note that there is no upgrade path - you have to remove all Git repositories and uninstall the Git backend in your 5.x version, and then set up all repositories again in the 6.x version.
#29
Automatically closed -- issue fixed for 2 weeks with no activity.