From: Jakub Narebski Date: Thu, 11 Mar 2010 23:20:40 GMT Subject: Re: re-running merge on a single file Message-ID: In-Reply-To: Chris Packham writes: > Hmm, having trouble with cat-file syntax > > On Thu, Mar 11, 2010 at 12:29 PM, Markus Heidelberg > 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 ' you can simply use 'git show '. 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.base HTH -- Jakub Narebski Poland ShadeHawk on #git