svn propdel svn:mergeinfo
Subversion controla los "merges" haciendo seguimiento mediante la propiedad "svn:mergeinfo".
A veces es necesario borrar esa propiedad de algún archivo para solucionar algún problema. Para ello usamos:
svn propdel svn:mergeinfo
Caso de ejemplo
Problema al querer hacer un reintegrate despues de haber hecho el revert de un reintegrate:
Cuando se hace un reintegrate de una rama al tronco no conviene seguir haciendo reintegrates subsiguientes. Pero en ocaciones es necesario revertir el reintegrate para hacerlo nuevamente y ello puede traer problemas, como es el siguiente ejemplo:Se hizo un reintegrate y commit al trunk (Committed revision 531227).
Luego se hizo un revert del commite (svn merge -c -531227 ^/trunk) dando revision 531235 (Revert Committed revision 531235).
Luego, al intentar hacer un reintegrate nuevamente del trunk para commitear surgió un problema.
Esto se puede solucionar con "svn propdel svn:mergeinfo".
...
At revision 531236.
[USER@HOME trunk]$ svn merge ^/branches/MY_BRANCH --reintegrate
svn: E195016: Reintegrate can only be used if revisions 527399 through 531236 were previously merged from https://repositorio/trunk to the reintegrate source, but this is not the case:
branches/MY_BRANCH/
DIR/FILE_WITH_PROBLEM.TXT
Missing ranges: /trunk/DIR/FILE_WITH_PROBLEM.TXT:530809
branches/MY_BRANCH/MY_DIR/FILE_WITH_PROBLEM_2.TXT.t
Missing ranges: /trunk/MY_DIR/FILE_WITH_PROBLEM_2.TXT.t:530809
Solución en el Branch:
...
[USER@HOME trunk]$ cd $HOME/svn_workingcopy/BranchWorkingCopy
[USER@HOME BranchWorkingCopy]$ svn st
[USER@HOME BranchWorkingCopy]$ svn propdel svn:mergeinfo MY_DIR/FILE_WITH_PROBLEM_2.TXT.t
property 'svn:mergeinfo' deleted from 'MY_DIR/FILE_WITH_PROBLEM_2.TXT.t'.
[USER@HOME BranchWorkingCopy]$ svn propdel svn:mergeinfo DIR/FILE_WITH_PROBLEM.TXT
property 'svn:mergeinfo' deleted from 'DIR/FILE_WITH_PROBLEM.TXT'.
[USER@HOME BranchWorkingCopy]$ svn st
M DIR/FILE_WITH_PROBLEM.TXT
M MY_DIR/FILE_WITH_PROBLEM_2.TXT.t
[USER@HOME BranchWorkingCopy]$ svn diff -N > $HOME/merge_propdel.txt
[USER@HOME BranchWorkingCopy]$ svn commit -F $HOME/merge_propdel.txt
Sending DIR/FILE_WITH_PROBLEM.TXT
Sending MY_DIR/FILE_WITH_PROBLEM_2.TXT.t
Committed revision 531254.
[USER@HOME BranchWorkingCopy]$ svn up --ignore-externals
Updating '.':
At revision 531254.
[USER@HOME BranchWorkingCopy]$ svn merge --record-only -c 531227 ^/trunk
--- Merging r531227 into '.':
G .
--- Recording mergeinfo for merge of r531227 into '.':
U .
[USER@HOME BranchWorkingCopy]$ svn commit -F $HOME/merge_propdel_post.txt
svn: E000002: Can't open file '/home/USER/merge_propdel_post.txt': No such file or directory
[USER@HOME BranchWorkingCopy]$ svn diff -N > $HOME/merge_propdel_post.txt
[USER@HOME BranchWorkingCopy]$ svn commit -F $HOME/merge_propdel_post.txt
Solución en el trunk:
...
cd $HOME/svn_workingcopy/trunk
[USER@HOME trunk]$ svn st
[USER@HOME trunk]$ svn up --ignore-externals
Updating '.':
U .
Updated to revision 531254.
[USER@HOME trunk]$ svn merge ^/branches/MY_BRANCH --reintegrate
--- Merging differences between repository URLs into '.':
R MY_DIR/FILE_WITH_PROBLEM_2.TXT.t
R DIR/FILE_WITH_PROBLEM.TXT
G .
--- Recording mergeinfo for merge between repository URLs into '.':
U .
[USER@HOME trunk]$
Despues de esto se puede hacer el commit apropiadamente.
Referencias:
http://stackoverflow.com/questions/4737605/reintegrate-can-only-be-used-if-revisions-x-through-y-were-previously-merged-fro
http://svnbook.red-bean.com/en/1.7/index.html
No hay comentarios:
Publicar un comentario