[svk-devel] svk-1.99_03 push -P & patch issue

Mark Grimes mark at stateful.net
Sat Nov 11 15:50:20 EST 2006


I am in the process of adding a svk-devel port to MacPorts (formerly  
DarwinPorts) and I don't have commit so I am churning out patches.

The question I have is how to segregate the patches when doing a push  
-P.

Let me explain, by annotating a transcript of my activities...

(mark at entropy /Code/MacPorts/dports/perl) svk status
M   p5-data-hierarchy/Portfile
M   p5-locale-maketext-lexicon/Portfile
?   p5-app-cli
?   p5-list-moreutils
?   p5-path-class

*** Two ports are modified and 3 ports added to get everything  
loading for svk-1.99_03 port creation and no missing modules.

(mark at entropy /Code/MacPorts/dports/perl) svk add p5-app-cli
A   p5-app-cli
A   p5-app-cli/Portfile
(mark at entropy /Code/MacPorts/dports/perl) svk commit p5-app-cli
Waiting for editor...
Log message not modified: a)bort, e)dit, c)ommit?c
Committed revision 19951.

*** Naturally if I don't specify p5-app-cli to segregate that new  
port for a specific commit it will attempt to commit all of the  
changes in the perl directory (the updated ports at least since no  
explicit adds have yet been done to p5-list-moreutils and p5-path-class

(mark at entropy /Code/MacPorts/dports/perl) svk push -P dports_perl_p5- 
app-cli /macports/local/trunk/dports/perl
Auto-merging (0, 19951) /local/trunk/dports/perl to /mirror/trunk/ 
dports/perl (base /mirror/trunk/dports/perl:19866).
Patching locally against mirror source http://svn.macports.org/ 
repository/macports/trunk.
A   p5-app-cli
A   p5-app-cli/Portfile
Patch dports_perl_p5-app-cli created.

(mark at entropy /Code/MacPorts/dports/perl) svk status
M   p5-data-hierarchy/Portfile
M   p5-locale-maketext-lexicon/Portfile
?   p5-list-moreutils
?   p5-path-class

(mark at entropy /Code/MacPorts/dports/perl) svk add p5-list-moreutils
A   p5-list-moreutils
A   p5-list-moreutils/Portfile
(mark at entropy /Code/MacPorts/dports/perl) svk commit p5-list-moreutils
Waiting for editor...
Log message not modified: a)bort, e)dit, c)ommit?c
Committed revision 19952.

*** Now I try to add and commit one more...
*** But when I generate the patch there is a problem...

(mark at entropy /Code/MacPorts/dports/perl) svk push -P dports_perl_p5- 
list-moreutils /macports/local/trunk/dports/perl
Auto-merging (0, 19952) /local/trunk/dports/perl to /mirror/trunk/ 
dports/perl (base /mirror/trunk/dports/perl:19866).
Patching locally against mirror source http://svn.macports.org/ 
repository/macports/trunk.
A   p5-app-cli
A   p5-app-cli/Portfile
A   p5-list-moreutils
A   p5-list-moreutils/Portfile
Patch dports_perl_p5-list-moreutils created.

*** Since I have not fulfilled patch #1 by submitting it and getting  
it committed to affect the mirror repo, it continues to pick up both  
of them.  But I only want p5-list-moreutils for patch #2.  The goal  
is to isolate each change to new port and port update so I can file  
each patch as TRAC tickets @ macosforge.

*** So I remove the patch...

(mark at entropy /Code/MacPorts/dports/perl) svk patch --rm  
dports_perl_p5-list-moreutils

*** The problem is that I can't step deeper into the tree anymore  
then I have...

(mark at entropy /Code/MacPorts/dports/perl) svk push -P dports_perl_p5- 
list-moreutils /macports/local/trunk/dports/perl/p5-list-moreutils
Cannot find the path which '/macports/local/trunk/dports/perl/p5-list- 
moreutils' copied from.

***
*** If I can't step into p5-list-moreutils, then how can isolate p5- 
app-cli (which is already made as patch #1) from invading p5-list- 
moreutils exclusive position in patch #2?  I want p5-app-cli as patch  
#1 and p5-list-moreutils as patch #2
***

Now I know I can generate the patches like so...

(mark at entropy /Code/MacPorts/dports/perl) svk patch --depot macports  
--view dports_perl_p5-app-cli

(NOTE: Thanks to clkao for pointing out the need for --depot if you  
are using named depots.  svk help patch only provides guidance for  
the default repo where it does not need to be explicitly listed.)


So my question:  Is the only solution for this problem to go into the  
patches by hand and cut out what isn't needed via a text editor?  I'm  
hoping there's a way to solve this with out manual interference.



Mark Grimes, Principal Developer
Stateful Labs


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://lists.bestpractical.com/pipermail/svk-devel/attachments/20061111/be4fbc8b/PGP.pgp


More information about the svk-devel mailing list