Difference between revisions of "merge"

From GeneWeb
Jump to: navigation, search
(Concatenation of bases)
m
Line 2: Line 2:
 
{{languages|merge}}
 
{{languages|merge}}
  
This section explains how to "merge multiple GeneWeb bases".
+
This section explains how to “merge multiple GeneWeb bases”.
  
Merging bases is performed in three steps: concatenation of bases, suppression of redendant "doubles", cleanup.
+
Merging bases is performed in three steps: concatenation of bases, suppression of redendant “doubles”, cleanup.
  
 
If you are not specialists of terminal command lines, you may use [[gwsetup|gwsetup]] which will guide you if the bases are already installed in your environment.
 
If you are not specialists of terminal command lines, you may use [[gwsetup|gwsetup]] which will guide you if the bases are already installed in your environment.
Line 31: Line 31:
 
Making it available from gwsetup reqires a small change in the code (consider *.gw to be a valid file name, and leave to gwc the task of discovering whether the file really exists or not).
 
Making it available from gwsetup reqires a small change in the code (consider *.gw to be a valid file name, and leave to gwc the task of discovering whether the file really exists or not).
 
-->
 
-->
You now have a valid base named tutu containing the sum of the two previous bases, and you can proceed to update the content of this new base, in particular merging multiply defined persons as explained below. GeneWeb maintains the memory of which file data about each family came from, and you will later be able to reconstruct those files as explaine [[divide|here]].
+
You now have a valid base named tutu containing the sum of the two previous bases, and you can proceed to update the content of this new base, in particular merging multiply defined persons as explained below. GeneWeb maintains the memory of which file data about each family came from, and you will later be able to reconstruct those files as explained [[divide|here]].
  
 
In order to determine which file a particular family comes from, add {{c|1=;opt=from}} to the URL as in:
 
In order to determine which file a particular family comes from, add {{c|1=;opt=from}} to the URL as in:
Line 38: Line 38:
  
 
=== Merging persons ===
 
=== Merging persons ===
 
 
After concatenation of several bases, with or without the {{c|-sep}} option, you may have multiply defined persons in your new base. In order to merge these double entries, you must follow the instructions of the section on [[Update#Merging two persons|merging two persons]] or families as much as needed.
 
After concatenation of several bases, with or without the {{c|-sep}} option, you may have multiply defined persons in your new base. In order to merge these double entries, you must follow the instructions of the section on [[Update#Merging two persons|merging two persons]] or families as much as needed.
  
 
=== Cleanup ===
 
=== Cleanup ===
 
 
After this person and families merging steps, the memory space used by these doubles is not automatically reclaimes (you will notice that the total number of persons in the base remains constant). It is therefore useful to perform a [[clean|cleanup]] of the new base:
 
After this person and families merging steps, the memory space used by these doubles is not automatically reclaimes (you will notice that the total number of persons in the base remains constant). It is therefore useful to perform a [[clean|cleanup]] of the new base:
 
<pre>
 
<pre>

Revision as of 19:44, 20 October 2015

150px-Geographylogo svg.png Language: English • français

This section explains how to “merge multiple GeneWeb bases”.

Merging bases is performed in three steps: concatenation of bases, suppression of redendant “doubles”, cleanup.

If you are not specialists of terminal command lines, you may use gwsetup which will guide you if the bases are already installed in your environment.

Merging bases in gwsetup: choosing bases to merge.

Concatenation of bases

If you have two bases toto et titi, create the corresponding GW format files with the gwu command :

gwu toto > toto.gw
gwu titi > titi.gw

Create a new union base, for instance tutu, with the gwc command: 

gwc toto.gw titi.gw -o tutu
Merging bases in gwsetup: confirmation.

It is possible that gwc will display error messages triggered by persons bearing the same lastname, firstname, occurence combination in both bases.

To remove this errors, the gwc option -sep will offset automatically occurence numbers thus avoiding confilcts:

gwc toto.gw -sep titi.gw -o tutu

Note: in order to give you more control over this process, there is an additional parameter forcing the offset to a specified value. You now have a valid base named tutu containing the sum of the two previous bases, and you can proceed to update the content of this new base, in particular merging multiply defined persons as explained below. GeneWeb maintains the memory of which file data about each family came from, and you will later be able to reconstruct those files as explained here.

In order to determine which file a particular family comes from, add ;opt=from to the URL as in:

http://localhost:2317/tutu?i=357;opt=from

Merging persons

After concatenation of several bases, with or without the -sep option, you may have multiply defined persons in your new base. In order to merge these double entries, you must follow the instructions of the section on merging two persons or families as much as needed.

Cleanup

After this person and families merging steps, the memory space used by these doubles is not automatically reclaimes (you will notice that the total number of persons in the base remains constant). It is therefore useful to perform a cleanup of the new base:

gwu tutu > tutu.gw
gwc tutu.gw -o tutu

If you know you want to suppress the previous version of the new base, use option -f:

gwc tutu.gw -o toto -f