Stefan Sperling wrote on Tue, Sep 14, 2010 at 21:18:26 +0200:
> On Tue, Sep 14, 2010 at 12:49:06PM +0100, Julian Foad wrote:
> > Right. The issue seems to be "How do I determine what path I should
> > apply the patch to?" If the patch style is
> >
> > --- wc/file
> > +++ wc/file
> >
> > or
> >
> > --- old_wc/file
> > +++ new_wc/file
> >
> > then you're going to be stripping the first component so it doesn't
> > matter which path you use. If the patch is just to one file and looks
> > something like
> >
> > --- wc/file.old
> > +++ wc/file
> >
> > or
> >
> > --- wc/file
> > +++ wc/file.new
> >
> > or
> >
> > --- wc/file.old
> > +++ wc/file.new
> >
> > then obviously it's not so simple and the patch consumer (person) may
> > need to be able to tell "svn patch" which path it should look at if
> > we're to be able to handle cases like this.
>
> Yes. I've been trying to come up with a good UI for selecting the right
> filename for svn patch to use. Any ideas?
Paraphrasing my commit reply a few hours ago, how about:
* Always use the name from the /^+++/ line by default (regardless of --rd).
* Have a --strip-extension flag. (Effect: filename loses everything after the last dot)
* Have a the following config option:
[[[
# ~/.subversion/config
[miscellany]
patch-strip-extensions = .new .old .orig .org ~ \
.merge-left .merge-right .working
]]]
for extensions that are stripped automagically.
Sounds sane? (I haven't thought about this /too/ much, so beware of
bugs in the above idea)
Daniel
Received on 2010-09-15 18:16:46 CEST