From: Junio C Hamano Date: Mon, 03 Dec 2007 21:28:07 GMT Subject: Re: [PATCH] Open external merge tool with original file extensions in all three files Message-ID: <7vlk8bh3iw.fsf@gitster.siamese.dyndns.org> In-Reply-To: <7v63zfiqx8.fsf@gitster.siamese.dyndns.org> Junio C Hamano writes: > Pini Reznik writes: > >> This required to be able to use syntax highlighting in meld during >> conflicts resolution.... > >> + extension=`echo $path | awk -F \. '{print $NF}'` >> + BACKUP="$path.BACKUP.$$.${extension}" >> + LOCAL="$path.LOCAL.$$.${extension}" >> + REMOTE="$path.REMOTE.$$.${extension}" >> + BASE="$path.BASE.$$.${extension}" > > I had to wonder what would happen in these cases: > > * path = "a/b/c/d" > * path = "a/b.c/d" > > I also think spawning awk for this is way overkill. IOW, I would probably write the above like this: ext="$$$(expr "$path" : '.*\(\.[^/]*\)$')" BACKUP="$path.BACKUP.$ext" LOCAL="$path.LOCAL.$ext" REMOTE="$path.REMOTE.$ext" BASE="$path.BASE.$ext"