Rebase with filters

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello. I seem to be doing something wrong - that has previously caused
me to loose data (well, not really, the commit was still there, but it
took me a while to notice - gotta love the non-destructive nature of
git)

I have a project that contains a file that, irritatingly, an IDE will
always re-format on save, even if there are no changes. So, I use a
clean and smudge filter to re-order it into a sane format that's
easier to detect if there have actually been changes.

So far, so good. But, not everyone always uses this filter, and I get
some unexpected behavior when doing a 'git rebase'. For example - the
repository starts with a commit that has been sanely-ordered. I make a
change of several files, and commit locally - but when I come to push,
I find that origin/master has moved.

No worries, I do
git fetch
git rebase origin/master

Now I see the usual text going past, and including:

....
error: realtime/modules/realtime-flex-components/.flexLibProperties:
does not match index
Using index info to reconstruct a base tree...
<stdin>:59: trailing whitespace.

<stdin>:81: trailing whitespace.
			
<stdin>:83: trailing whitespace.
				parameters:[					
<stdin>:98: space before tab in indent.
   				if (item.value == null )
<stdin>:99: space before tab in indent.
   				{
warning: squelched 214 whitespace errors
warning: 219 lines add whitespace errors.
Falling back to patching base and 3-way merge...
error: Entry 'realtime/modules/realtime-flex-components/.flexLibProperties'
not uptodate. Cannot merge.
fatal: merging of trees 85b26f7c165c2a9d362340187b79527428b650e8 and
3ab3078b55e17dcb1f3f4c8e6a65eff517eedb92 failed
Failed to merge in the changes.
Patch failed at 0001 More KPI/Report work

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".


OK - looking a bit closer, someone committed .flexLibProperties
without the filter. I guess that's the "does not match index". Let's
merge..

 (|REBASE) $ git mergetool
No files need merging


Interesting - I guess there were no conflicts when the filtering was
all done. Let's just look at the status..

 (|REBASE) $ git status
# Not currently on any branch.
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   realtime/modules/realtime-flex-components/.flexLibProperties


Eek... Where's the rest of my files?!

My guess is that the "error" reported further up ought to terminate
the rebase without giving me the "When you have resolved this problem
run "git rebase --continue" because otherwise I end up loosing the
majority of the changes in my rebased commit.. ?
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]