Re: [PATCH 0/3] merge -Xindex-only
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Jul 9, 2013, 19:38 UTC
- Message-ID
- <51DC66A5.80500@alum.mit.edu>
- In-Reply-To
- <878v1gey16.fsf@linux-k42r.v.cablecom.net>
On 07/09/2013 02:08 PM, Thomas Rast wrote:
Show 12 quoted lines
> Michael Haggerty <mhagger@alum.mit.edu> writes: > >> Since you've already implemented a way to merge into the index (even an >> alternative index) without touching the working copy, I'll just cross my >> fingers and hope for the appearance of an option that makes merge leave >> HEAD, MERGE_HEAD, etc. untouched. > > The most annoying part is probably where to put the output, since > merging is more or less defined to do one of: > > - update HEAD and return 0 > - update MERGE_HEAD and return 1
I don't understand what you mean here. Why does *any* reference need to be updated? Why not
* load arbitrary commit-ish A into index
* merge arbitrary commit-ish B into index
* return error/OK depending on whether there was a conflict
? The script that started the whole process would know what A and B are and could create the commit itself using "git write-tree" and "git commit-tree -p A -p B". And if the index were an alternative index chosen via GIT_INDEX_FILE then the rest of the git repo would be none the wiser.
Show 10 quoted lines
> I'm not sure how much flexibility is worth having. Would it be > sufficient if you had an option, e.g. -Xresult-ref=refs/heads/foo, that > changes it to: > > - update refs/heads/foo and return 0 > - return 1, not updating any refs > > That would mean that it would only work for noninteractive use. In the > conflicting case, the driving script would need to remember what it > wanted to merge so as have the information when finally committing.
That would be fine with me.
Michael
-- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/