Hey, I have a problem with rebase which i suspect is not very common I'm trying to repair a commit where over 100,000 lines including a diff were commited to the commit message. I have followed the manual here: http://bit.ly/9uVReJ That produces an error when it reaches the bad commit, heres the output:
First, rewinding head to replay your work on top of it...
Applying: fixes #2791 - added page count back in
Applying: fixes #2399 - commenting out code for starting and
restarting solr/sunspot on production sites
Applying: fixes #2361 - all selenium features now pass
Applying: fixes #2797 - fixed checkout footer
Applying: Implementing cartridge chooser wizard, Showing featured
products on the homepage and improving the printer inks page
.......the rest of the massive 100000+ line commit message......
/usr/local/git/libexec/git-core/git-am: line 765:
/usr/local/git/libexec/git-core/git: Argument list too longThe other way I have tried is suggested on stack overflow and other places, `git rebase -i bad_commits_parent` So i get the editor popup with the list of pick lines and commit messages, it also includes the huge 100000 line message of the bad commit so I remove the rubbish from the editor leaving the following:
pick 9ca499d fixes #2791 - added page count back in
pick 6554bab fixes #2399 - commenting out code for starting and
restarting solr/sunspot on production sites
pick fcd461a fixes #2361 - all selenium features now pass
pick abedb79 fixes #2797 - fixed checkout footer
pick 2860581 fixes #2757 Tidying up search results partial added
in filtering feature for search added filter search controller
refactored filter helpers to help with testing added string method for
filter values
pick 010b596 Improving printer type and printer type category pages
reword e00b910 remove the full printer file we dont need it
pick 46d0831 Show the show the printer picker on printer type category pages
pick 7c0a850 - printer email now works like all other jobs - price
band class should be called access via root from
CartridgeSave::PriceBand
pick 96423bb - link to background jobs - add indexes to
background_job_errors
pick aa5fba2 - tables are missing loads of indexes, so added a shed load
pick ee8d5e2 - index on status for orders, could get messy without
pick 2de051a remove js logging
pick 625243c fixes to specs for import mailer after rejig of jobs
pick cbaafa1 * Use 'homepage' tag instead of 'featured' for
featured products on homepage. * Show border around printer makes on
printer type pages * Resized konica minolta image so it isn't so
large
pick 2b1ea09 customer id index already exists on cards
pick d4d4d7a Fixing a couple of failing features
pick 6856c1e emails seem to be missing :format :html form urls, weird.
pick fbfb16b renaming TallyGenicom printer brand image
pick f02966a fixes #2757 - fixes problems with using pagination on
the filtering
# Rebase 6fe8075..f02966a onto 6fe8075
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.i get the following out put: Successfully rebased and updated refs/heads/master.
I'm left at the the parent of the bad commit anything newer including the bad commit is gone. I can only assume something happened internally of git and it stopped at the bad commit. I'm about to resort to manually cherry picking all the recent commits and reapply everything manually.
Hope you can help.
Many thanks Rob