Revision control feature?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Revision control feature?

Patrick Gerlier
Reading the source code, I happen to discover a tool category names
"Revision Control", category TOOL_REVCTL.

It seems no present addon belong in this category. As a consequence the
menu line does not show up (as expected).

What is it intended for? Are there experimental addons on this topic?

Regards,
Patrick



_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Revision control feature?

prculley
At one time there was a plugin named 'Checkpoint' which was removed in 2008-02005 in commit https://github.com/gramps-project/gramps/commit/8335204a399c72e4115e2063f9fb2e84b97f8453
The code in that addon was superseded by code in the Family Tree manager which does the same thing.  I have not personally used this feature, as it requires the rcs prerequisite, which is not included in the Windows AIO.  Apparently if rcs is found, some more buttons appear on the Family Tree manager, to manage revisions of your database.

There are no current addons that use the TOOL_REVCTL category.

Paul C.

On Wed, Mar 25, 2020 at 11:45 AM Patrick Gerlier <[hidden email]> wrote:
Reading the source code, I happen to discover a tool category names
"Revision Control", category TOOL_REVCTL.

It seems no present addon belong in this category. As a consequence the
menu line does not show up (as expected).

What is it intended for? Are there experimental addons on this topic?

Regards,
Patrick



_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel


_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Revision control feature?

GRAMPS - Dev mailing list
Thanks Paul.

That commit has more redaction than info but it was a great lead to other content:



-------------------
On Wednesday, March 25, 2020, 12:15:58 PM CDT, Paul Culley <[hidden email]> wrote:

At one time there was a plugin named 'Checkpoint' which was removed in 2008-02005 in commit https://github.com/gramps-project/gramps/commit/8335204a399c72e4115e2063f9fb2e84b97f8453
The code in that addon was superseded by code in the Family Tree manager which does the same thing.  I have not personally used this feature, as it requires the rcs prerequisite, which is not included in the Windows AIO.  Apparently if rcs is found, some more buttons appear on the Family Tree manager, to manage revisions of your database.

There are no current addons that use the TOOL_REVCTL category.

Paul C.

On Wed, Mar 25, 2020 at 11:45 AM Patrick Gerlier <[hidden email]> wrote:
Reading the source code, I happen to discover a tool category names
"Revision Control", category TOOL_REVCTL.

It seems no present addon belong in this category. As a consequence the menu line does not show up (as expected).

What is it intended for? Are there experimental addons on this topic?

Regards,
Patrick


_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Revision control feature?

Patrick Gerlier
In reply to this post by prculley

Le 25/03/2020 à 18:14, Paul Culley a écrit :
> At one time there was a plugin named 'Checkpoint' which was removed in
> 2008-02005 in commit
> https://github.com/gramps-project/gramps/commit/8335204a399c72e4115e2063f9fb2e84b97f8453
> The code in that addon was superseded by code in the Family Tree
> manager which does the same thing.
You probably mean the present 'Archive' button.
>   I have not personally used this feature, as it requires the rcs
> prerequisite, which is not included in the Windows AIO.  Apparently if
> rcs is found, some more buttons appear on the Family Tree manager, to
> manage revisions of your database.

rcs is more or less deprecated nowadays.

Since the backend is a DB, not a plain text file I don't see the benefit
(footprint-wise) of a VCS). Apparently, the tool converted to XML which
could be handled by rcs as a text file, but without a complete system
for managing commits, branches et al. the outcome is probably equivalent
to what we can do with backups, provided there is a consistent naming
strategy.

>
> There are no current addons that use the TOOL_REVCTL category.
>
> Paul C.
Thanks, Paul, for the info.



_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel
Reply | Threaded
Open this post in threaded view
|

Re: Revision control feature?

Patrick Gerlier

Le 26/03/2020 à 06:31, Sam Manzi a écrit :
> Spotted the following message on the bug tracker today from:
>
> https://gramps-project.org/bugs/view.php?id=4901#c59167

If I understand correctly the feature request, the main point is to
define the nature of the basic objects Git will handle. Git manages
quite well plain text files (other binary objects are always stored as a
whole which results in no storage benefit, i.e. you can't diff them).
Consequently, the suggestion is to store person, family, but what is not
mentioned, also event, source, citation, place, … in individual files.

In short, this means to mimic a DB in the file system. The outcome will
be a dramatic loss of performance, higher system resource consumption
(maybe exhaustion of file descriptors), a difficulty to apply a single
global lock on the files/directories and likely a higher risk of data
corruption.

IMHO, OP is wrong in his axiom about concurrent access to the "DB". Git
is not meant for live real-time queries but for sophisticated traceable
storage. I see it as a way to structure hesitant, or rather conjectural,
research. But even in this case, usage of flags, attributes or special
notes can do the trick more explicitly.

Git can be used to record DB history rather efficiently with XML export.
Since it is a text format, it can be diff'ed with the patch information
optimised. The drawback is the XML describes the whole DB without
focusing on subparts like persons, families, … Thus, reading Git history
is rather arcane and not explicit.

Personally, I don't see the Gramps meaning of Git branching. This would
mean two users fork the original DB to work separately and later merge
their research. Isn't that doable with a copy of the DB (giving two
independent databases) and later a merge into one (with the risk of
duplicating records if the IDs don't match)?

The proposal must be carefully thought over before any attempt. The
underlying principles must be carefully specified (basic units of data,
what is branching?, target workflow, locks, …)

>
>
> call_me_dave - 2020-03-26 12:00
> I was looking into this the other day on reddit
>
> https://www.reddit.com/r/gramps/comments/ffd1uj/looking_for_workflowtoolset_for_storing_grampsxml/fjywocm/
Essentially gives pointers into the bug tracker, notably the preceding item.



_______________________________________________
Gramps-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gramps-devel