* A question about using 'add -p' to split the patch
@ 2009-06-15 3:08 Ping Yin
2009-06-15 6:12 ` David Aguilar
0 siblings, 1 reply; 5+ messages in thread
From: Ping Yin @ 2009-06-15 3:08 UTC (permalink / raw)
To: git mailing list
file bt.php in the HEAD:
function bt_add($path) {
return;
}
file bt.php in the working directory:
function bt_move($path, $pos) {
return;
}
function bt_add($path, $pos) {
bt_move($path, $pos)
return;
}
Now i want to split the change into two parts:
First introduce bt_move
Then add a param pos to bt_add and call bt_move
With the 'e' action of 'add -p', i got
-function bt_add($path) {
+function bt_move($path, $pos) {
+ return;
+}
+function bt_add($path, $pos) {
+ bt_move($path, $pos)
return;
}
Then, i want to edit the patch to get
function bt_move($path, $pos) {
return;
}
function bt_add($path) {
return;
}
However, whatever i do, the patch fails to apply. Any suggestion?
-
Ping Yin
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: A question about using 'add -p' to split the patch 2009-06-15 3:08 A question about using 'add -p' to split the patch Ping Yin @ 2009-06-15 6:12 ` David Aguilar 2009-06-15 6:24 ` Ping Yin 0 siblings, 1 reply; 5+ messages in thread From: David Aguilar @ 2009-06-15 6:12 UTC (permalink / raw) To: Ping Yin; +Cc: git mailing list On Mon, Jun 15, 2009 at 11:08:51AM +0800, Ping Yin wrote: > file bt.php in the HEAD: > > function bt_add($path) { > return; > } > > file bt.php in the working directory: > > function bt_move($path, $pos) { > return; > } > function bt_add($path, $pos) { > bt_move($path, $pos) > return; > } > > Now i want to split the change into two parts: > First introduce bt_move > Then add a param pos to bt_add and call bt_move > > With the 'e' action of 'add -p', i got > > -function bt_add($path) { > +function bt_move($path, $pos) { > + return; > +} > +function bt_add($path, $pos) { > + bt_move($path, $pos) > return; > } > > Then, i want to edit the patch to get > > > function bt_move($path, $pos) { > return; > } > function bt_add($path) { > return; > } > > However, whatever i do, the patch fails to apply. Any suggestion? Use git-gui or git-cola to select just bt_move() for addition. You can stage specific lines. After doing that it's often a good idea to git stash --keep-index so you can test it before committing. enjoy, -- David ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: A question about using 'add -p' to split the patch 2009-06-15 6:12 ` David Aguilar @ 2009-06-15 6:24 ` Ping Yin 2009-06-15 7:36 ` David Aguilar 0 siblings, 1 reply; 5+ messages in thread From: Ping Yin @ 2009-06-15 6:24 UTC (permalink / raw) To: David Aguilar; +Cc: git mailing list On Mon, Jun 15, 2009 at 2:12 PM, David Aguilar<davvid@gmail.com> wrote: > On Mon, Jun 15, 2009 at 11:08:51AM +0800, Ping Yin wrote: >> file bt.php in the HEAD: >> >> function bt_add($path) { >> return; >> } >> >> file bt.php in the working directory: >> >> function bt_move($path, $pos) { >> return; >> } >> function bt_add($path, $pos) { >> bt_move($path, $pos) >> return; >> } >> >> Now i want to split the change into two parts: >> First introduce bt_move >> Then add a param pos to bt_add and call bt_move >> >> With the 'e' action of 'add -p', i got >> >> -function bt_add($path) { >> +function bt_move($path, $pos) { >> + return; >> +} >> +function bt_add($path, $pos) { >> + bt_move($path, $pos) >> return; >> } >> >> Then, i want to edit the patch to get >> >> >> function bt_move($path, $pos) { >> return; >> } >> function bt_add($path) { >> return; >> } >> >> However, whatever i do, the patch fails to apply. Any suggestion? > > Use git-gui or git-cola to select just bt_move() for addition. > You can stage specific lines. Doesn't the 'e' action of 'add -p' do the same job with git-gui? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: A question about using 'add -p' to split the patch 2009-06-15 6:24 ` Ping Yin @ 2009-06-15 7:36 ` David Aguilar 2009-06-15 8:56 ` Ping Yin 0 siblings, 1 reply; 5+ messages in thread From: David Aguilar @ 2009-06-15 7:36 UTC (permalink / raw) To: Ping Yin; +Cc: git mailing list On Mon, Jun 15, 2009 at 02:24:39PM +0800, Ping Yin wrote: > On Mon, Jun 15, 2009 at 2:12 PM, David Aguilar<davvid@gmail.com> wrote: > > On Mon, Jun 15, 2009 at 11:08:51AM +0800, Ping Yin wrote: > >> file bt.php in the HEAD: > >> > >> function bt_add($path) { > >> return; > >> } > >> > >> file bt.php in the working directory: > >> > >> function bt_move($path, $pos) { > >> return; > >> } > >> function bt_add($path, $pos) { > >> bt_move($path, $pos) > >> return; > >> } > >> > >> Now i want to split the change into two parts: > >> First introduce bt_move > >> Then add a param pos to bt_add and call bt_move > >> > >> With the 'e' action of 'add -p', i got > >> > >> -function bt_add($path) { > >> +function bt_move($path, $pos) { > >> + return; > >> +} > >> +function bt_add($path, $pos) { > >> + bt_move($path, $pos) > >> return; > >> } > >> > >> Then, i want to edit the patch to get > >> > >> > >> function bt_move($path, $pos) { > >> return; > >> } > >> function bt_add($path) { > >> return; > >> } > >> > >> However, whatever i do, the patch fails to apply. Any suggestion? > > > > Use git-gui or git-cola to select just bt_move() for addition. > > You can stage specific lines. > > Doesn't the 'e' action of 'add -p' do the same job with git-gui? It should. I tried it in git-{cola,gui} and I was able to do it by first staging the +bt_add(a,b) line, and then staging only the -bt_add(a) line. For add -e I got it to work by editing the patch to; +function bt_move($path, $pos) { + return; +} function bt_add($path) { return; } The reason it's hard to get right is that you have to reconstruct the context of the original content for the adds/removes and remember to add the space before the reconstructed bt_add($path). Those kinda details are usually easier for software to get right ;-) -- David ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: A question about using 'add -p' to split the patch 2009-06-15 7:36 ` David Aguilar @ 2009-06-15 8:56 ` Ping Yin 0 siblings, 0 replies; 5+ messages in thread From: Ping Yin @ 2009-06-15 8:56 UTC (permalink / raw) To: David Aguilar; +Cc: git mailing list > > For add -e I got it to work by editing the patch to; > > +function bt_move($path, $pos) { > + return; > +} > function bt_add($path) { > return; > } > > The reason it's hard to get right is that you have to > reconstruct the context of the original content for the > adds/removes and remember to add the space before the > reconstructed bt_add($path). > Thanks very much, i forgot the space before the reconstructed bt_add($path) :-) ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-06-15 8:56 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-06-15 3:08 A question about using 'add -p' to split the patch Ping Yin 2009-06-15 6:12 ` David Aguilar 2009-06-15 6:24 ` Ping Yin 2009-06-15 7:36 ` David Aguilar 2009-06-15 8:56 ` Ping Yin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).