Thread (5 messages) flat view 5 messages, 2 authors, 2016-06-15

Re: stgit truncates binary files to zero length when applying patches

From: Karl Hasselström <hidden>
Date: 2016-06-15 22:42:12

On 2005-11-16 11:11:56 +0000, Catalin Marinas wrote:
On 15/11/05, Karl Hasselström [off-list ref] wrote:
quoted
When applying patches and not fast-forwarding, stgit truncates the
binary files to zero length:
I've never tried binaries with StGIT before.
I don't blame you. Binary patches aren't something I normally create
either. It's just that I find stgit patches a good way to logically
structure a largeish change that I'm working on before committing it.
(I could probably accoplish the same thing with one branch instead of
each stgit patch, but then it would be quite a lot of work to manually
push updates through all the branches.)
When pushing a patch, if a merge is needed (like in your case, the
base of the foo patch has changed), StGIT first tries "git-diff-tree
| git-apply" for speed reasons. If this fails, it falls back to a
three-way merge.

Unfortunately, git-apply doesn't fail for patches including binary
files and simply creates an empty file. I think git-apply should be
changed to fail to apply this kind of patches.
Yes, at least if stgit is going to continue to use it like this.
Refusing to handle binary files is somewhat disappointing, but still
OK; agreeing to handle them and then silently wiping them is a bit
less OK. (But don't worry; it is a perfect world, after all, so of
course I had backups. :-)

-- 
Karl Hasselström, kha@treskal.com
      www.treskal.com/kalle
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help