The version control as such shouldn't really be a problem, as long as
you don't actually modify the files (essentially using git as a backup
system). But modifying the files needs rather deep understanding of
what is going on, so I wouldn't recommend it.
I'm not sure whether anyone has written a Jackrabbit PM which stores
the files as-is. I know that Priha (www.priha.org) has one. But if
you just do backup, then the actual physical structure shouldn't
matter anyway.
/Janne
On Feb 26, 2010, at 20:18 , Premkumar Stephen wrote:
Hi Alex,
Can there be a persistence manager that generally does not need to be
optimized but could persist just the tree structure as shown on the
API
side?
I am not sure what this is being optimized on, but I could choose to
not
optimize on space, etc.
In that case, would reads get slower?
I agree, there should not be external entities changing the files
while it
is running.
We shut down our app ( which internally shuts down jackrabbit) and
then do
our version control.
Could you help me get started with the implementation of such a
persistence,
or is this too deep and complicated for a newbie?
Regards,
Prem
On Fri, Feb 26, 2010 at 12:10 PM, Alexander Klimetschek <[email protected]
>wrote:
On Fri, Feb 26, 2010 at 13:02, Premkumar Stephen <[email protected]>
wrote:
We are using the jackrabbit repository (which comes pre-built into a
Business Rules solution - http://www.jboss.org/drools/drools-guvnor.html
)
Now, as a standard, we use git to store these files.
Which files? The files beneath the repository home directory? What
persistence manager do you use?
However, because of the way jackrabbit stores them, it becomes
impossible
to
do operations such as diffs, merges, etc.
For those assets that are versioned, can they each be in their own
file,
so
that git can take care of changes to them?
IIUC and you want to store the repository files (whatever persistence
manager and data store you are using) so that you can version them,
this is generally not possible. Jackrabbit's persistence architecture
is optimized and doesn't necessarily represent the tree structure
seen
on the JCR API side. Also, it is not advisable to change those files
while Jackrabbit is running.
However, JCR has versioning built-in, so you can use that for
versioning purposes. Note that actual diff/merge tools are not
included in the JCR API (since it's too app and file format
specific).
Regards,
Alex
--
Alexander Klimetschek
[email protected]