Re: re-running merge on a single file
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Mar 11, 2010, 23:20 UTC
- Message-ID
- <m3hbomla3u.fsf@localhost.localdomain>
- In-Reply-To
- <a038bef51003111408g38698837ldcf1d0f5995f4f30@mail.gmail.com>
Chris Packham <judge.packham@gmail.com> writes:
Show 19 quoted lines
> Hmm, having trouble with cat-file syntax > > On Thu, Mar 11, 2010 at 12:29 PM, Markus Heidelberg > <markus.heidelberg@web.de> wrote: > > Not mergetool, but checkout: > > git checkout --merge -- file > > Ok. > $ git checkout --merge -- cpu/mpc83xx/start.S > > > git cat-file blob :1:file > file.base > > > > $ git cat-file blob :1:cpu/mpc83xx/start.S > cpu/mpc83xx/start.S.base > fatal: Not a valid object name :1:cpu/mpc83xx/start.S > > So I think I have figured out that I'm trying to get at stage 1, 2 and > 3 of the file that git checkout --merge has just setup but I'm > tripping over the syntax.
First, instead of 'git cat-file blob <blob-id>' you can simply use 'git show <blob-id>'.
Second, while in
$ git checkout --merge -- cpu/mpc83xx/start.S
the path cpu/mpc83xx/start.S is relative to your current directory, in
$ git show :1:cpu/mpc83xx/start.S > start.S.base
the path has to be "absolute path in repository", i.e. path relative to top directory of the repository.
Try
$ git show :1:$(git rev-parse --show-prefix)cpu/mpc83xx/start.S \
> cpu/mpc83xx/start.S.baseHTH
-- Jakub Narebski Poland ShadeHawk on #git